¿Qué es Hyperledger?

Uno de los proyectos más relevantes de tecnología blockchain dentro del mundo empresarial es Hyperledger, el cual está respaldado por la Linux Foundation. Pero ¿Qué tiene este proyecto que lo hace tan llamativo para las empresas? ¿Cuál es su verdadero potencial para hacer de la blockchain una tecnología de alcance empresarial e industrial?

Hyperledger, un proyecto para llevar la blockchain a todas las industrias

Si queremos definir Hyperledger de forma sencilla quizás la sentencia más acertada sería: “Blockchain para el mundo empresarial e industrial”, y es precisamente eso lo que HyperLedger pretende hacer.

Este proyecto nació del esfuerzo de la Linux Foundation y varias empresas aliadas para crear una plataforma de desarrollo colaborativa centrada en la tecnología blockchain y sus potenciales usos industriales y empresariales. Esto claramente apuntaba a crear tecnología aplicable en campos como las finanzas, la banca, Internet de las Cosas (IoT), cadenas de suministros, entre otros. Y lo mejor de todo: era un esfuerzo de código abierto donde la construcción de esta tecnología estaría disponible para todos.

La Linux Foundation dio a conocer este proyecto en diciembre de 2015, y gracias al impulso inicial, para febrero de 2016 ya contaba con el apoyo de empresas y organizaciones como Accenture, ANZ Bank, Cisco, CLS, Credits, Deutsche Börse, Digital Asset Holdings, DTCC, Fujitsu Limited, IC3, IBM, Intel, JP Morgan, London Stock Exchange Group, Mitsubishi UFJ Financial Group (MUFG), R3, State Street, SWIFT, VMware y Wells Fargo. Sin duda, la propuesta de Linux Foundation había calado y el interés de la industria por la tecnología era gigantesco.

Para marzo de 2016, se creó la Junta Directiva y el Comité Directivo Técnico para el proyecto Hyperledger, en el que participaron:

  • Presidente del Comité Directivo Técnico: Chris Ferris, distinguido ingeniero y CTO de tecnología abierta en IBM
  • Miembros del Comité Directivo Técnico: Tamás Blummer, Digital Asset Holdings; Mic Bowman, Intel; Richard Brown, R3; Stanislav Liberman, CME Group; Hart Montgomery, Fujitsu; Satoshi Oshima, Hitachi; Stefan Teis, Deutsche Börse; Emmanuel Viale, Accenture; Pardha Vishnumolakala, DTCC; y David Voell, J.P. Morgan.
  • Presidente de la Junta: Blythe Masters, CEO de Digital Asset Holdings
  • Miembros de la Junta de Gobierno: Charles Cascarilla, director ejecutivo de itBit; Toshiya Cho, Hitachi; Jerry Cuomo, IBM; Chris Ferris, IBM; Dirk Hohndel, Intel; Todd McDonald, cofundador y director de operaciones de R3; Robert Palatnick, DTCC; Kireeti Reddy, CME Group; Stefan Teis, Deutsche Börse; Dave Treat, Accenture; Yoshinobu Sawano, Fujitsu; Santiago Suárez, J.P. Morgan; y Craig Young, director de tecnología de SWIFT.

A partir de entonces, Hyperledger seguiría su proceso de formación y comenzaría ya la fase de desarrollo de tecnologías.

Proyectos blockchain con amplios propósitos

El objetivo principal de Hyperledger no era crear una blockchain con una moneda y lanzar esta al mercado cripto. Su objetivo real es diseñar tecnologías que aprovecharán la estructura que había traido Bitcoin, intentar separar la moneda y aprovechar la forma de trabajar de blockchain en otros escenarios.

Esto fue promovido como una oportunidad para intentar mejorar la eficiencia de las empresas e industrias en diferentes escenarios. Es decir, Hyperledger era un proyecto blockchain agnóstico a un caso de uso concreto, con amplios propósitos.

Por ejemplo, uno de los principales usos donde se propone como herramienta Hyperledger es a la hora de brindar soluciones más seguras para sistemas de cadenas de suministros y finanzas. Para ello, las empresas que apoyaban el proyecto invirtieron en investigación y desarrollo, y lograron crear un framework capaz de dar respuestas a estas necesidades.

A día de hoy Hyperledger es una de las tecnologías más usadas para dar respuestas a estas necesidades usando blockchain. Y no solo eso, lo hace en un ambiente que puede ser público (como cualquier blockchain), semi-público o privado, demostrando la elasticidad de la plataforma para hacer frente a distintas necesidades.

Pero ¿Qué proyectos se erigieron para lograr esta hazaña? Pues bien examinemos algunos de estos proyectos y entendamos su impacto en el mundo.

Hyperledger Fabric, el primer proyecto de Hyperledger

El proyecto más conocido de Hyperledger tuvo como padre al gigante de la computación IBM y se bautizó bajo el nombre de Hyperledger Fabric. Fabric está pensado para ser una plataforma escalable, altamente adaptable y con gran flexibilidad de accesos y permisos.

Todas estas características le hacen perfecto para afrontar situaciones de gran tráfico de datos, uso intensivo y extensivo de acceso a información y sobre todo, para adaptarse a desarrollos personalizados necesarios para la industria en sus diferentes ramas.

Entre las características de Hyperledger Fabric podemos mencionar:

  1. Su arquitectura de permisos funciona por medio de autorizaciones criptográficas únicas. Cada permiso puede tener acceso granular a los datos de la blockchain, manteniendo el acceso de forma controlada a las distintas partes de la misma.
  2. Usa una arquitectura de trabajo modular, por lo que sus capacidades pueden adaptarse o ampliarse dependiendo de las necesidades.
  3. Es capaz de usar distintos protocolos de consenso, adaptando los mismos en pro de seguridad, velocidad o privacidad según se requiera.
  4. Es capaz de ejecutar smart contracts, lo cuales pueden ser escritos en lenguajes de programación como Go, Java, JS e incluso, puede ejecutar una máquina virtual de Ethereum (EVM) y ejecutar smart contracts escritos en Solidity, sirviendo de puente entre el desarrollo de Fabric y Ethereum.
  5. Red de pares de alta velocidad gracias a su protocolo gossip especialmente diseñado para la baja latencia en redes P2P.
  6. Alta tolerancia a fallos y protocolos BFT intercambiables. Entre los BFT admitidos están Sieve, SBFT (BFT Simplificado) y PBFT (BFT Práctico).

Estas son características muy importantes a tener en cuenta en blockchain pensadas en interoperatividad, y más, si deseas que esa interoperabilidad sea con blockchain tan importantes como la de Ethereum.

Hyperledger Fabric

Por supuesto, el desarrollo de Fabric ha servido para que muchas empresas prueben como la tecnología blockchain puede ayudar a mejorar sus procesos de trabajo. Un buen ejemplo es Accenture, quienes han usado Fabric para sus soluciones de seguros e integración de sistemas con su Blockchain Integration Framework (actualmente Hyperledger Cactus).

Por otro lado, IBM ha usado Fabric para ofrecer sus servicios privativos de blockchain a nivel empresarial, IBM Cloud Blockchain, incluyendo creaciones como la de TradeLens, un proyecto conjunto llevado con el gigante logístico Maersk.

Una situación muy parecida también ha pasado con Microsoft, que usa Fabric y otros proyectos Hyperledger para sus plataformas de cloud blockchain.

Sawtooth, llevando la integración blockchain-hardware a un nuevo nivel

Uno de los principales problemas de la tecnología blockchain es su pobre capacidad para escalar en la actualidad. Este es un problema muy grave cuando pensamos en llevar a esta tecnología a espacios como el IoT, donde esperamos que billones de dispositivos estén conectados en todo momento alrededor del mundo y en tiempo real. En esos escenarios, la escalabilidad de las blockchains actuales es insuficiente.

Ante el problema, Intel se dio a la tarea de buscar una solución que pasara por integrar la tecnología blockchain con el hardware más potente que pudiera producir, a un nivel extremo. El resultado de este trabajo es Hyperledger Sawtooth, un proyecto en el que Intel alcanzó dos grandes logros

Crear un algoritmo de consenso tan veloz, que una sola máquina sería capaz de procesar cientos de miles de transacciones por segundo. Pero no solo eso, mientras más potente sea la máquina, más transacciones por segundo podrá hacer. Y, si además, hay varias máquinas conectadas se multiplicaría su potencia. Esto definitivamente deja atrás la limitación de escalabilidad de las blockchain actuales. Este algoritmo de consenso se llama Prueba de Tiempo Transcurrido o Proof of Elapsed Time (PoET), un algoritmo del que ya hemos hablado ya en Bit2Me Academy.

Integrar esta tecnología hasta el punto de sacar el máximo provecho del hardware donde se ejecuta, y más, si este hardware es Intel. Ahora bien ¿Qué hace que Sawtooth sea tan rápido como acabamos de describir?

Pues bien, es un protocolo de consenso que trabaja en conjunto con el set de instrucciones del procesador, y está centrado en realizar operaciones de verificación usando una sencilla prueba criptográfica ejecutada por cada CPU.

Para esto, PoET usa las extensiones SGX y Enclave de Intel para asegurar que puede crear un espacio de ejecución seguro y, además, realizar pruebas criptográficas en dicho espacio. Al estar todo ejecutado a nivel de CPU, estas operaciones son rápidas, muy rápidas, y de hecho, su velocidad mejora con respecto a la potencial de los CPU y la cantidad disponible de los mismos.

Sin embargo, Sawtooth tiene una altísima dependencia al hardware Intel para lograr estas hazañas, y eso lleva a otros problemas muy graves. Los procesadores de Intel en los últimos años han presentado una larga lista de problemas de seguridad a nivel de silicio que no han podido solucionar. De hecho, uno de sus últimos problemas es capaz de romper la seguridad de su enclave seguro y las instrucciones SGX que usa PoET para realizar sus pruebas criptográficas, haciendo de este proyecto algo que no puede ser ejecutado públicamente debido a que sería un blanco de los hackers.

Hyperledger Sawtooth

Pese a esto, Sawtooth es un proyecto perfecto para ser aplicado en espacios controlados y privados, en especial por sus otras interesantes características entre las que tenemos:

  1. Es posible usar distintos protocolos de consenso en la misma cadena de bloques. Esta es una característica única de Sawtooth no vista en ningún otro proyecto blockchain.
  2. Es el origen del protocolo de consenso de Prueba de Tiempo Transcurrido (PoET). Este es un protocolo de alta velocidad y baja latencia diseñado por Intel alrededor de la tecnología criptográfica brindada por sus procesadores.
  3. Se pueden escribir contratos inteligentes en casi cualquier lenguaje (Python, JavaScript, Go, C , Java y Rust)
  4. Es posible implementar contratos inteligentes de Ethereum a través de la integración con Hyperledger Burrow. Burrow es una plataforma de integración diseñada para unir los proyectos de Hyperledger con el ecosistema Ethereum.
  5. Permite ejecución pública (sin permiso) o privada (con permiso). Sin permiso puede usarse utilizando otro protocolo distinto a PoET.
  6. Permite la ejecución paralela de transacciones dando un mayor rendimiento. Esta es otra característica única de Sawtooth que no se presenta en otras blockchain de momento.

Iroha, DLT para el IoT

Otro de los proyectos de Hyperledger con mayores diferencias con respectos a sus hermanos es Hyperledger Iroha, y la razón es que este sistema es un DLT construido de cero desde sus cimientos, alejándose un poco del concepto de blockchain puro del resto de proyectos.

Iroha, está pensado para hacer frente a las necesidades de cómputo de espacios industriales como el IoT, sistemas financieros o donde el tráfico de información sea de un enorme volumen.

Por supuesto, Iroha no se queda atrás con respecto a sus hermanos en términos de velocidad y seguridad, y la razón para ello es muy sencilla: Iroha está construido en C++, por lo que la velocidad de proceso, extensibilidad y estabilidad son sus puntos más fuertes.

Entre las principales características de Iroha podemos mencionar:

  1. Está centrado en la creación y gestión de activos fungibles personalizados, como divisas, oro, etc.
  2. Cuenta con un amplio sistema para la gestión de cuentas de usuario y permisos de forma granular.
  3. Permite la creación de una estructura de cuentas basadas en dominios en el sistema, cada uno con sus permisos asociados.
  4. Cuenta con un sistema de derechos y verificación de permisos de usuario para la ejecución de transacciones y consultas en el sistema.
  5. Creación de smart contracts a medida y de alta velocidad de ejecución.

Estas características dejan muy en claro que Iroha está pensado para servicios críticos y espacios de altísima seguridad. Pero lo más llamativo de la plataforma es su extensibilidad usando smart contracts.

Para esto el proyecto ha creado las Iroha Special Instructions (ISI), que es una librería con una serie de primitivas de programación que sirven para programar smart contracts dentro de Iroha.

Como resultado, Iroha es un proyecto de alta escalabilidad. De hecho, su actual versión 2, es capaz de ejecutar más de 20 mil transacciones por segundo, y el tiempo de confirmación promedio es de 2 segundos.