Esta semana abrimos una nueva línea de artículos dedicados a Blockchain, tecnología que aplica al procesado distribuido de información, en las que definiremos la tecnología en sí y como nos puede ayudar a resolver problemas de tiempo y confianza para abordar ineficiencias y costos en la industria como servicios financieros, cadenas de suministro….
Introducción
Cuando alguien nos comienza a hablar de Blockchain, lo primero que se nos viene a la cabeza son criptomonedas como Bitcoin o Ethereum. Este pensamiento es lógico, ya que el Bitcoin fue el primero en poner en valor la tecnología siendo precursores de la misma. Pero en realidad este uso es solo la punta del iceberg sobre este concepto y sus aplicaciones son mucho más amplias. Asociado a Blockchain se encuentra también el termino transacción, manteniendo el pensamiento criptomoneda aunque realmente podríamos considerar que los cambios que guardamos del estado del sistema son atómicos.
En este primer artículo introductorio vamos a facilitar las definiciones necesarias que nos servirán de base a posteriores artículos.
¿Que es blockchain?
Blockchain se puede definir como un libro de contabilidad inmutable para el registro de transacciones, mantenido dentro de una red distribuida de pares mutuamente desconfiados. Cada par mantiene una copia del libro mayor. Los pares ejecutan un protocolo de consenso para validar transacciones, agruparlas en bloques y construir una cadena de hash sobre los bloques. Este proceso forma el libro mayor al ordenar las transacciones según sea necesario para la consistencia.
Desglosando Blockchain por tipologia
Como hemos comentado en la introducción, Blockchain se comenzó a utilizar en Bitcoin. Como criptomoneda, cualquiera puede comprar, vender bitcoins sin una identidad especifica. Este concepto ha quedado ampliado, tipificandose de la siguiente forma:
Blockchain público o sin autorización
Un ejemplo tipo de este formato es el de criptomoneda. Es público o sin autorización en el sentido de que cualquiera puede participar sin una identidad especifica. Este tipo de blockchains suelen utilizar un protocolo de consenso basado en proof of work (PoW) e incentivos económicos.
Blockchain Autorizado
Es una evolución del tipo anterior, como una forma alternativa a ejecutar Blockchain entre un grupo de participantes conocidos e identificados. Un Blockchain autorizado proporciona una manera de asegurar las interacciones entre un grupo de identidades que comparten un objetivo mutuo pero que no confían totalmente entre sí, como empresas que intercambian fondos, bienes o información (datos). Suele utilizar un protocolo de consenso basado en Bizantine Fault tolerant (BFT) que se basa en el problema del general bizantino, según el cual un grupo de personas necesita llegar a un consenso sobre su estrategia, pero uno de ellos puede ser traicionero. Blockchain puede ejecutar una lógica de transacción programable y arbitraria en forma de contratos inteligentes, un ejemplo de implementación de este concepto lo tenemos disponible en Ethereum. Un contrato inteligente funciona como una aplicación confiable y distribuida y obtiene su seguridad de la cadena de bloques y el consenso subyacente entre sus pares.
Protocolos de Consenso
El consenso en la red se refiere al proceso de lograr un acuerdo entre los participantes de la red en cuanto al estado correcto de los datos del sistema. El consenso hace que todos los nodos compartan exactamente los mismos datos. Por lo tanto, un algoritmo de consenso hace dos cosas: asegura que los datos en el libro mayor sean los mismos para todos los nodos de la red y, a su vez, evita que los actores malintencionados manipulen los datos.
El algoritmo de consenso varía con diferentes implementaciones de blockchain. Mientras que el Blockchain de Bitcoin usa la PoW como el algoritmo de consenso, otras cadenas de bloques y libros de contabilidad distribuidos están implementando una variedad de algoritmos de consenso, como Proof of Stake (PoS), Proof of Elapsed Time (PoET), Simplified Byzantine Fault Tolerance (SBFT), Proof of Authority (PoA), entre otros muchos. A continuación, explicaremos brevemente algunos de estos algoritmos.
Proof of Work (PoW)
El algoritmo de consenso PoW implica resolver un rompecabezas computacional desafiante para crear nuevos bloques en la cadena de bloques de Bitcoin. Coloquialmente, el proceso se conoce como ‘minería’, y los nodos de la red que participan en la minería se conocen como ‘mineros’. El incentivo para las transacciones mineras radica en los pagos económicos, donde los mineros que compiten son recompensados con bitcoins y una pequeña tarifa de transacción. Como se describe en el informe de seguridad 2016 de Kudelski, “La prueba de trabajo (PoW) es el resultado de un proceso de minería exitoso y, aunque la prueba es difícil de crear, [es] fácil de verificar”.
Existen múltiples críticas para el algoritmo de consenso de PoW. PoW requiere una gran cantidad de energía, porque es un algoritmo computacional muy pesado. Además, PoW tiene una alta latencia en la validación de transacciones, y la concentración de la energía minera se ubica en países donde la electricidad es barata. En términos de seguridad de la red, PoW es susceptible al ‘51% de ataque ‘, que se refiere a un ataque a una cadena de bloques por parte de un grupo de mineros que controlan más del 50% de la potencia informática de la red.
Proof of Stake (PoS)
El algoritmo Proof of Stake es una generalización del algoritmo Proof of Work. En PoS, los nodos se conocen como “validadores” y, en lugar de extraer la cadena de bloques, validan las transacciones para obtener una tarifa de transacción. No hay que hacer minería, ya que todas las monedas existen desde el primer día. En pocas palabras, los nodos se seleccionan aleatoriamente para validar bloques, y la probabilidad de esta selección aleatoria depende de la cantidad de participación retenida. Por lo tanto, si el nodo X posee 2 monedas y el nodo Y posee 1 moneda, el nodo X tiene el doble de probabilidades de ser solicitado para validar un bloque de transacciones. La implementación específica de PoS puede variar, dependiendo del caso de uso, o como una cuestión de diseño de software. Las instancias incluyen Proof of Deposit y Proof of burn.. El algoritmo de PoS ahorra costosos recursos computacionales que se gastan en minería bajo un régimen de consenso de PoW.
Proof of Elapsed Time (PoET)
Desarrollado por Intel, el algoritmo de consenso PoET emula la Prueba de trabajo de estilo Bitcoin. La implementación Sawtooth de Hyperledger es un ejemplo de PoET en acción). En lugar de competir para resolver el desafío criptográfico y extraer el siguiente bloque, como en la cadena de bloques de Bitcoin, el algoritmo de consenso PoET es un híbrido de una lotería aleatoria y una base de primer orden de llegada. En PoET, cada validador recibe un tiempo de espera aleatorio. El que obtiene un tiempo de espera más corto para un bloque de transacción en particular se elige como lider, que será el que consiga crear el siguiente bloque en la cadena.
Simplified Byzantine Fault Tolerance (SBFT)
El algoritmo de consenso Tolerante a fallos bizantinos simplificado implementa una versión adoptada del algoritmo Práctico Tolerante a fallos bizantinos (PBFT), y busca proporcionar mejoras significativas sobre el protocolo de consenso de PoW de Bitcoin. La idea básica involucra a un único validador que agrupa las transacciones propuestas y forma un nuevo bloque. Hay que tener en cuenta que a diferencia de la cadena de bloques de Bitcoin, el validador es una parte conocida, dada la naturaleza autorizada del libro mayor. El consenso se logra como resultado de un número mínimo de otros nodos en la red que ratifican el nuevo bloque. Para ser tolerante a una falla bizantina, el número de nodos que deben alcanzar el consenso es 2 *f* +1 en un sistema que contiene 3 *f* +1 nodos, donde *f* es el número de fallas en el sistema. Por ejemplo, si tenemos 7 nodos en el sistema, 5 de esos nodos deben estar de acuerdo si 2 de los nodos están actuando de manera defectuosa.
El ejemplo práctico sería el de ByzCoin , que busca realizar mejoras clave con respecto al protocolo original de Bitcoin. Al abordar el desafío en torno a la escalabilidad debido a la alta latencia, las transacciones ByzCoin se comprometen de manera irreversible con la cadena de bloques en cuestión de segundos. La ventaja añadida es que los árboles de comunicación ”(…) optimizan los compromisos de transacción y verificación de conformidad con las operaciones normales . “ ( 2016 Kudelski informe de seguridad ).
Proof of Authority (PoA)
La prueba de autoridad (PoA) es un algoritmo de consenso que se puede usar para los libros de contabilidad autorizados. Utiliza un conjunto de ‘autorizaciones’, que son nodos designados que pueden crear nuevos bloques y asegurar el libro mayor. Los libros de contabilidad que usan PoA requieren la aprobación de la mayoría de las autoridades para que se pueda crear un bloque .
¿Que tipo de blockchain usar?
El consenso puede implementarse de diferentes maneras, como mediante el uso de algoritmos basados en lotería (PoET o PoW), o mediante el uso de métodos basados en votación (SBFT), cada uno de los cuales tiene como objetivo diferentes requisitos de red y modelos de tolerancia a fallas.
El caso de uso dicta la elección de la tecnología, que depende de los sistemas de consenso, los modelos de gobernanza, la estructura de datos, etc. Con blockchains autorizados, podemos hacer algunas de las cosas que ya hacemos, pero de una manera mejor, más eficiente, lo que puede ser significativo.
Un ejemplo tipico podria ser el uso de hyperledger por un consorcio de bancos para la compensación y liquidación sin depender de una cámara de compensación central.
Se ha creado una cámara de compensación porque los bancos no confían plenamente entre sí y, por lo tanto, como intermediario entre las operaciones, reduce el riesgo de que una de las partes no respete sus términos, lo que conduce a un debate interminable sobre cadenas de bloques con permiso y sin permiso.
Blockchain puede presentar una forma disruptiva para el negocio actual y los modelos de negocio. La mayoría de los casos de uso en industrias reguladas se embarcan en modelos de blockchain con permiso.
Esto se debe a los requisitos regulatorios y la viabilidad económica del procesamiento de transacciones, y mientras que las cadenas de bloques sin permiso proporcionan una plataforma para nuevos modelos de negocios como las transacciones P2P ( Peer-to-Peer ) y los modelos liderados por la desintermediación, por definición, la arquitectura de blockchain sin permiso se basa en una Modelo de cálculo muy intensivo en cómputo para garantizar la integridad transaccional. Independientemente de la elección en los modelos de blockchain, blockchain ofrece muchas posibilidades para la disrupción del negocio actual.
Conclusiones
Blockchain tiene un potencial extraordinario como plataforma tecnológica. En la empresa, blockchain puede proporcionar:
Un enfoque de diseño que mantiene los datos de transacción, el valor y el estado inherentemente cerca de la lógica de negocios
Ejecución segura de transacciones comerciales, validada a través de una comunidad, en un proceso seguro que facilita la confianza y el procesamiento robusto de transacciones que son fundamentales para blockchain
Una tecnología alternativa, autorizada que se ajusta a las regulaciones existentes.
Blockchain permite solventar problemas encallados desde hace bastante tiempo en la industria y es aqui donde veremos de forma paulatina su gran potencial, con temas como la modernización de los sistemas financieros y comerciales, y la aceleración de los valores y acuerdos comerciales, que veremos en los siguientes articulos.