¿Qué es Blockchain?

Un blockchain (origen de la palabra block-chain = cadena de bloques) es una lista creciente de registros llamados “bloques” (blocks) los cuales están enlazados usando criptografía. Cada bloque contiene un “fragmento criptográfico” (cryptographic hash) del bloque anterior, una marca de tiempo y datos de la transacción.

Un blockchain está diseñado por defecto para que su data no pueda ser modificada. Es un “libro mayor” abierto y distribuido que puede registrar transacciones entre dos partes de manera eficiente, verificable y permanente en el tiempo.

Para ser usado como “libro mayor” distribuido el blockchain se maneja usualmente en una red “peer-to-peer (P2P)” que se adhieren colectivamente a un protocolo para la comunicación entre nodos y la validación de nuevos bloques. Una vez que la data es registrada en cualquiera de los bloques no se puede alterar de manera retroactiva sin alterar todos los bloques subsecuentes para lo cual se requiere un consenso de la mayoría de la red. Aunque los registros de blockchain no son inalterables estos pueden considerarse seguros por diseño y ejemplifican un sistema distribuido de computadoras con tolerancia a fallas Bizantinas (BFT) y consenso descentralizado.

Blockchain fue inventado por Satoshi Nakamoto en 2008 para servir de “libro mayor” a las transacciones públicas de la criptomoneda bitcoin. Aunque la tecnología blockchain no es una tecnología nueva en si misma, sino que es una combinación de tecnologías probadas aplicadas de una nueva manera. Ha sido la implementación particular de tres tecnologías (internet, criptografía y un protocolo de gobierno basado en incentivos) lo que ha hecho tan exitosa la idea de Satoshi Nakamoto.

Conceptos básicos de Blockchain:

Blocks (Bloques):

Los bloques contienen los lotes de transacciones que se han fragmentado y codificado en un “árbol de Merkel”  (estructura de datos en árbol). Como se mencionó inicialmente, cada bloque contiene un “fragmento criptográfico” del bloque anterior y así se unen en la cadena de bloques. Este proceso iterativo confirma la integridad del bloque anterior hasta enlazar con el bloque original del génesis.

Además de un historial seguro basado en hash (fragmentación), todo blockchain tiene un algoritmo específico para puntuar diferentes versiones del historial, de modo que se puede seleccionar un bloque con un valor más alto sobre otros.

Debido a que las blockchains (cadenas de bloques) se construyen normalmente para agregar la puntuación de nuevos bloques a los viejos y existen incentivos para trabajar solo con la extensión de bloques nuevos en lugar de sobrescribir los viejos, la probabilidad de que una entrada sea reemplazada disminuye exponencialmente a medida que más bloques se construyen sobre él.

Block time (Tiempo bloque):

Es el tiempo promedio que le toma a la red generar un bloque adicional en la blockchain. Al momento que se completa el bloque la data incluida se convierte en verificable. En las criptomonedas esto ocurre prácticamente cuando se realiza una transacción por lo que bloques más cortos significan transacciones más rápidas. (El block time de Ethereum se establece entre 14 a 15 segundos mientras que el de Bitcoin es de 10 minutos).

Hard Forks (Bifurcaciones):

Son cambios de reglas como por ejemplo que el software que se valida con reglas anteriores considerará los bloques producidos con nuevas reglas como inválidos. En caso de un hard fork todos los nodos que tengan que funcionar de acuerdo a las nuevas reglas deberán actualizar su software.

Si un grupo de nodos continúa usando el software antiguo mientras que los otros nodos usan el nuevo software, puede ocurrir una división. Por ejemplo, Ethereum a “hard forked” a todos los inversores en la organización DAO que habían sido pirateados al explotar una vulnerabilidad en su código. En este caso, la bifurcación resultó en una división que creó las cadenas Ethereum y Ethereum Classic.

Alternativamente, para evitar una división permanente, la mayoría de los nodos que usan el nuevo software también pueden volver a las reglas anteriores, como fue el caso de la división de bitcoin el 12 de marzo de 2013.

Usos de Blockchain:

La tecnología Blockchain se puede integrar en múltiples áreas. El uso principal de blockchains hoy en día es de libro de contabilidad distribuido para criptomonedas, especialmente Bitcoin. Hay algunos productos operativos que están madurando desde la prueba del concepto a finales de 2016.

Criptomonedas:

La mayoría de las criptomonedas utilizan tecnología blockchain para registrar sus transacciones. Por ejemplo las red Bitcoin y la red Ethereum se basan en tecnologia blockchain.

Contratos Inteligentes (Smart Contracts):

Los contratos inteligentes basados en blockchain son propuestas de contratos o contratos que podrían ejecutarse parcial o totalmente sin interacción humana.

Uno de los principales objetivos de un contrato inteligente es el depósito automático. Una discusión del personal del FMI informó que los contratos inteligentes basados en tecnología de blockchain podrían reducir los riesgos morales y optimizar el uso de los contratos en general pero acotaron que “aún no han surgido sistemas de contratos inteligentes viables“. Debido a la falta de uso generalizado, su estado legal no está claro.

Banca:

Las mayor parte de la industria financiera está implementando libros de contabilidad distribuidos para su uso en banca y, según un estudio de IBM en septiembre de 2016, esto ocurre más rápido de lo esperado.

Los bancos están interesados en esta tecnología porque tiene potencial para acelerar los sistemas de liquidación de back office.

Muchos bancos ya han abierto nuevos laboratorios de investigación dedicados a la tecnología blockchain para explorar cómo se puede utilizar la cadena de bloques en los servicios financieros para aumentar la eficiencia y reducir los costos.

Otros Usos:

La tecnología Blockchain se puede usar para crear un sistema de contabilidad permanente, público y transparente, para compilar datos sobre ventas, rastrear el uso digital y los pagos a los creadores de contenido (por ejemplo artistas, músicos etc.) En 2017 IBM se asoció con la  ASCAP y la PRS for Music para adoptar la tecnología blockchain en la distribución de música.

El servicio Mycelia de Imogen Heap también propone una alternativa basada en blockchain que ofrece a los artistas un mayor control sobre cómo circulan sus canciones y datos asociados entre los fanáticos y otros músicos”.

Ya hay nuevos métodos de distribución para las compañías de seguros como peer-to-peer insurance, parametric insurance y microinsurance que han adoptado blockchain.

La lista sigue y se extiende. Consulta la categoría “Negocios” de DiarioBitcoin para explorar las últimas noticias referentes a blockchain aplicado a sectores como Educación, Energía, Salud, Identidad, Cadena de Suministros, etc.

Tipos de Blockchain:

Actualmente existen tres tipos de redes blockchain en términos generales:

Blockchains Públicos:

Son los que no tiene absolutamente ninguna restricción de acceso. Cualquier persona con conexión a Internet puede enviar transacciones y convertirse en un validador (es decir, participar en la ejecución de un protocolo de consenso). Por lo general, estas redes ofrecen incentivos económicos para quienes los aseguran y utilizan algún tipo de algoritmo de Prueba de Participación (Proof of Stake). Dentro de los blockchain públicos más grandes se encuentran Bitcoin y Ethereum.

Blockchains Privados:

Los blockchain privados son los que tienen permisos. Uno no puede unirse a ellos a menos que el administrador de la red envíe una invitación. El acceso a participantes y validadores es limitado.

Este tipo de blockchain puede considerarse un término medio para las empresas que están interesadas en la tecnología blockchain en general, pero no se sienten cómodas con el nivel de control que ofrecen las redes públicas. Por lo general, buscan incorporar blockchain en sus procedimientos de contabilidad y mantenimiento de registros sin sacrificar la autonomía y correr el riesgo de exponer datos confidenciales a la Internet pública.  

Blockchains Consorcios:

Los blockchain de tipo consorcio usualmente son semi-descentralizados. También requieren permisos pero en lugar de ser controlados por una sola organización o administrador varias compañías pueden operar un nodo en dicha red. Los administradores de una cadena de consorcio restringen los derechos de lectura de los usuarios según lo consideren adecuado y solo permiten que un conjunto limitado de nodos de confianza ejecuten un protocolo de consenso.

La versión en Español de wikipedia (apartado Clasificación) ofrece detalles más específicos sobre la clasificación de blockachains según las posibles combinaciones de acceso a data y permisos y según los modelos de cambios de estado en la base de datos.

Imagen de Unsplash