Revisión de cinco DLT de Hyperledger populares- Fabric, Besu, Sawtooth, Iroha and Indy

decorative line

By Matt Zand and Sergio Torres

DLT de Hyperledger- Fabric, Besu, Sawtooth, Iroha and Indy

A medida que las empresas se están poniendo al día en la adopción de la tecnología blockchain, la elección de una plataforma blockchain privada se vuelve muy vital. Hyperledger, cuyos proyectos de código abierto respaldan y potencian más casos de uso de blockchain empresarial que otros, actualmente lidera la carrera de la implementación privada de la tecnología de contabilidad distribuida (DLT). Partiendo de la premisa de que se sabe cómo funciona una blockchain y cuál es la filosofía de diseño detrás del ecosistema de Hyperledger, en este artículo revisaremos brevemente cinco proyectos DLTs activos de Hyperledger. Además de los DLT comentados en este artículo, el ecosistema Hyperledger tiene más herramientas y bibliotecas de apoyo que cubriré con más detalle en los artículos futuros.

Este artículo se dirige principalmente a aquellos que son relativamente nuevos en Hyperledger. Este artículo sería un gran recurso para aquellos interesados ​​en proporcionar servicios de arquitecto de soluciones blockchain y realizar consultoría y desarrollo empresarial blockchain. Los materiales incluidos en este artículo ayudarán a comprender las DLTs de Hyperledger en su conjunto y utilizar su descripción general de alto nivel como guía para aprovechar al máximo cada proyecto de Hyperledger.

Dado que Hyperledger cuenta con el respaldo de una sólida comunidad de código abierto, se agregan nuevos proyectos al ecosistema de Hyperledger con regularidad. En el momento de escribir este artículo, febrero de 2021, consta de seis proyectos activos y otros 10 que se encuentran en la etapa de incubación. Cada proyecto tiene características y ventajas únicas.

 

1- Hyperledger Fabric

Hyperledger Fabric es el framework Hyperledger más popular. Los contratos inteligentes (también conocidos como chaincodes) se escriben en Golang o JavaScript y se ejecutan en contenedores Docker. Fabric es conocido por su extensibilidad y permite a las empresas construir redes de contabilidad distribuidas sobre una arquitectura establecida y exitosa. Una blockchain permisionada, contribuída en sus inicios por IBM y Digital Asset, Fabric está diseñada para ser una base para el desarrollo de aplicaciones o soluciones con una arquitectura modular. Se necesitan diferentes componentes para proporcionar funcionalidades como los servicios de consenso y membresía. Al igual que Ethereum, Hyperledger Fabric puede alojar y ejecutar Smart Contracts, que se denominan chaincodes. Una red Fabric consta de nodos peers, que ejecutan smart contracts (chaincodes), consultan datos del ledger, validan transacciones e interactúan con aplicaciones. Las transacciones ejecutadas por el usuario se canalizan a un ordering service, que inicialmente sirve como un mecanismo de consenso para Hyperledger Fabric. Los nodos de ordenación, llamados nodos Orderer validan las transacciones, garantizan la consistencia de la cadena de bloques y envían las transacciones validadas a los pares de la red, así como a los servicios del proveedor de servicios de membresía (MSP).

Los dos aspectos más destacados de Hyperledger Fabric frente a Ethereum son:

  1. Múltiples Ledgers: cada nodo en Ethereum tiene una réplica de un solo ledger en la red. Sin embargo, los nodos de Fabric pueden llevar varios ledgers en cada nodo, lo cual es una gran característica para las aplicaciones empresariales.
  2. Datos privados: además de una función de canal privado, a diferencia de Ethereum, los miembros de Fabric dentro de un consorcio pueden intercambiar datos privados entre ellos sin difundirlos a través del canal de Fabric, que es muy útil para aplicaciones empresariales.

 

Aquí hay un buen artículo para revisar todos los componentes de Hyperledger Fabric como peer, channel y chaincode que son esenciales para construir aplicaciones blockchain. En resumen, se recomienda una comprensión profunda de todos los componentes de Hyperledger Fabric para crear, implementar y administrar aplicaciones de Hyperledger Fabric a nivel empresarial.

2- Hyperledger Besu

Hyperledger Besu es un cliente Ethereum de código abierto desarrollado bajo la licencia Apache 2.0 y escrito en Java. Se puede ejecutar en la red pública Ethereum o en redes privadas autorizadas, así como en redes de prueba como Rinkeby, Ropsten y Gorli. Hyperledger Besu admite varios algoritmos de consenso, incluidos PoW, PoA e IBFT, y tiene esquemas de permisos completos diseñados específicamente para usos en un entorno de consorcio de empresas.

Hyperledger Besu implementa la especificación Enterprise Ethereum Alliance (EEA). La especificación EEA se estableció para crear interfaces comunes entre los diversos proyectos de código abierto y cerrado dentro de Ethereum, para garantizar que los usuarios no estén vinculados al proveedor y para crear interfaces estándar para equipos que crean aplicaciones. Besu implementa funciones empresariales en consonancia con la especificación del cliente EEE.

Como cliente básico de Ethereum, Besu tiene las siguientes características:

  1. Se conecta a la red de la blockchain para sincronizar los datos de las transacciones de la cadena de bloques o emitir eventos a la red.
  2. Procesa transacciones a través de contratos inteligentes en un entorno de máquina virtual Ethereum (EVM).
  3. Utiliza un almacenamiento de datos de redes (bloques).
  4. Publica interfaces API de cliente para que los desarrolladores interactúen con la red blockchain.

 

Besu implementa mecanismos de consenso de Proof of work y Proof of Authority (PoA). Además, Hyperledger Besu implementa varios protocolos de PoA, incluidos Clique e IBFT 2.0.

Clique es un protocolo de consenso de blockchain de prueba de autoridad. La cadena de bloques ejecuta el protocolo Clique manteniendo la lista de firmantes autorizados. Estos firmantes aprobados extraen y sellan directamente todos los bloques sin extraerlos. Por lo tanto, la tarea de transacción es computacionalmente liviana. Al crear un bloque, un minero recopila y ejecuta transacciones, actualiza el estado de la red con el hash calculado del bloque y firma el bloque con su clave privada. Al utilizar un período de tiempo definido para crear un bloque, Clique puede limitar el número de transacciones procesadas.

IBFT 2.0 (Istanbul BFT 2.0) es un protocolo de consenso de blockchain tolerante a fallas bizantinas (BFT) de PoA. Las transacciones y los bloqueos en la red son validados por cuentas autorizadas, conocidas como validadores. Los validadores recopilan, validan y ejecutan transacciones y crean el siguiente bloque. Los validadores existentes pueden proponer y votar para agregar o eliminar validadores y mantener un conjunto de validadores dinámico. El consenso puede asegurar una finalidad inmediata. Como su nombre indica, IBFT 2.0 se basa en el protocolo de consenso de la cadena de bloques IBFT con una seguridad y una vida mejoradas. En la cadena de bloques IBFT 2.0, todos los bloques válidos se agregan directamente en la cadena principal y no hay bifurcaciones.

3- Hyperledger Sawtooth

Sawtooth es el segundo proyecto de Hyperledger que alcanza la madurez de la versión 1.0. Sawtooth-core está escrito en Python, mientras que Sawtooth Raft y Sawtooth Sabre están escritos en Rust. También tiene componentes JavaScript y Golang. Sawtooth admite implementaciones con y sin permiso. Es compatible con EVM a través de una colaboración con Hyperledger Burrow. Por diseño, Hyperledger Sawtooth se crea para abordar problemas de rendimiento. Como tal, una de sus características distintivas en comparación con otros DLT de Hyperledger es que cada nodo en Sawtooth puede actuar como un ordenante al validar y aprobar una transacción. Otras características notables son:

  1. Ejecución de transacciones paralelas: si bien muchas blockchains utilizan la ejecución de transacciones en serie para garantizar un orden coherente en cada nodo de la red, Sawtooth sigue un programador paralelo avanzado que clasifica las transacciones en flujos paralelos que eventualmente conduce a un aumento en el rendimiento del procesamiento de transacciones.
  2. Separación de la aplicación del núcleo: Sawtooth simplifica el desarrollo y la implementación de una aplicación al separar el nivel de la aplicación del nivel del sistema principal. Ofrece abstracción de smart contract para permitir a los desarrolladores crear lógica de contrato en el lenguaje de programación de su elección.
  3. Procesadores de transacciones personalizados: en Sawtooth, cada aplicación puede definir los procesadores de transacciones personalizados para cumplir con sus requisitos únicos. Proporciona familias de transacciones que sirven como un enfoque para funciones de bajo nivel, como almacenar permisos en cadena, administrar configuraciones de toda la cadena y para aplicaciones particulares como guardar información de bloques y análisis de rendimiento.

 

4- Hyperledger Iroha

Hyperledger Iroha está diseñado para apuntar a la creación y gestión de activos e identidades digitales complejas. Está escrito en C ++ y es fácil de usar. Iroha tiene un poderoso modelo basado en roles para el control de acceso y admite análisis complejos. Al usar Iroha para la gestión de identidades, las consultas y la ejecución de comandos solo se limitan a los participantes que tienen acceso a la red de Iroha. Un sólido sistema de permisos garantiza que todas las transacciones sean seguras y controladas. Algunos de sus aspectos más destacados son:

  1. Facilidad de uso: puede crear y administrar fácilmente activos digitales simples y complejos (por ejemplo, criptomonedas o datos médicos personales).
  2. Smart contracts incorporados: se puede integrar fácilmente blockchain en un proceso empresarial utilizando smart contracts incorporados llamados "comandos". Como tal, los desarrolladores no necesitan escribir smart contracts complicados porque están disponibles en forma de comandos.
  3. BFT: Iroha utiliza el algoritmo de consenso BFT que lo hace adecuado para empresas que requieren consistencia de datos verificable a bajo costo.

 

5- Hyperledger Indy

Como plataforma de gestión de identidad autónoma, Hyperledger Indy está construida explícitamente para la gestión de identidad descentralizada. La parte del servidor, el nodo Indy, está construida en Python, mientras que el SDK de Indy está escrito en Rust. Ofrece herramientas y componentes reutilizables para administrar identidades digitales en cadenas de bloques u otros ledgers. La arquitectura Hyperledger Indy es adecuada para todas las aplicaciones que requieren un trabajo pesado en la administración de identidades, ya que Indy se puede interpretar fácilmente en múltiples dominios, silos de organización y aplicaciones. Como tal, las identidades se almacenan de forma segura y se comparten con todas las partes involucradas. Algunos aspectos destacados notables de Hyperledger Indy son:

  1. Resistente a la correlación de identidad: según la documentación de Hyperledger Indy, Indy es completamente resistente a la correlación de identidad. Por lo tanto, no necesita preocuparse por conectar o mezclar un Id con otro. Eso significa que no puede conectar dos ID o encontrar dos ID similares en el ledger.
  2. Identificadores descentralizados (DID): De acuerdo con la documentación de Hyperledger Indy, todos los identificadores descentralizados se pueden resolver globalmente y son únicos sin necesidad de una parte central en la mezcla. Eso significa que cada identidad descentralizada en la plataforma Indy tendrá un identificador único que le pertenecerá únicamente a esa persona. Como resultado, nadie puede reclamar o incluso usar su identidad en el nombre de otra persona. Por lo tanto, eliminaría las posibilidades de robo de identidad.
  3. Pruebas de conocimiento cero: con la ayuda de Prueba de conocimiento cero, puede revelar solo la información necesaria sin nada más. Entonces, cuando tenga que probar sus credenciales, solo puede optar por divulgar la información que necesita según la parte que la solicita. Por ejemplo, puede optar por compartir sus datos de nacimiento solo con una parte, mientras que entregar su licencia de conducir y documentos financieros a otra. En resumen, Indy ofrece a los usuarios una gran flexibilidad para compartir sus datos privados cuando y donde sea necesario.

 

Resumen

En este artículo, revisamos brevemente cinco DLT de Hyperledger populares. Comenzamos repasando Hyperledger Fabric y sus componentes principales y algunos de sus aspectos más destacados en comparación con las plataformas públicas de blockchain como Ethereum. Aunque actualmente Fabric se usa mucho para la gestión de la cadena de suministro, si está haciendo muchos trabajos específicos en el dominio de la cadena de suministro, también debería explorar Hyperledger Grid. Luego, pasamos a aprender cómo usar Hyperledger Besu para crear aplicaciones de cadena de bloques de consorcios públicos que admitan múltiples algoritmos de consenso y cómo administrar Besu desde EVM. A continuación, cubrimos algunos aspectos destacados de Hyperledger Sawtooth, como su diseño para un alto rendimiento. Por ejemplo, aprendimos cómo un solo nodo en Sawtooth puede actuar como un ordenante al aprobar y validar transacciones en la red. Los dos últimos DLT (Hyperledger Iroha e Indy) están específicamente orientados a la gestión e identidad de activos digitales. Entonces, si está trabajando en un proyecto que usa mucho la administración de identidades, debe explorar y usar Iroha o Indy en lugar de Fabric.

En nuestro próximo artículo, discutiremos tres herramientas Hyperledger (Hyperledger Caliper, Cello y Avalon).

Para obtener más referencias sobre todos los proyectos, bibliotecas y herramientas de Hyperledger, visite los siguientes enlaces de documentación:

 

Recursos

He incluido enlaces de referencia y recursos para aquellos interesados ​​en explorar los temas discutidos en este artículo en profundidad.

Clases de Blockchain and Hyperledger

                                                                                               

  1. Aprenda la programación de Solidity con ejemplos
  2. Introducción a Ethereum blockchain en español
  3. Blockchain introducción en Español
  4. Blockchain Hyperledger Fabric para el administrador del sistema
  5. Blockchain Hyperledger Fabric introducción en Español

Clases de Programación

  1. Introducción a la programación de JavaScript
  2. Introducción a Node.JS, Express.JS y MongoDB

Webinars

  1. Blockchain para emprendedores- Introducción a la tecnología blockchain y 27 casos de uso
  2. Hyperledger Fabric para Administradores Vs Developers

 

Sobre los Autores

Matt Zand
Matt es un emprendedor en serie y fundador de 3 nuevas empresas tecnológicas: DC Web Makers, Coding Bootcamps y High School Technology Services. Es uno de los principales autores del libro Hands-on Smart Contract Development with Hyperledger Fabric de O’Reilly Media. Ha escrito más de 100 artículos técnicos y tutoriales sobre el desarrollo de blockchain para plataformas Hyperledger, Ethereum y Corda R3 en sitios como IBM, SAP, Alibaba Cloud, Hyperledger, The Linux Foundation y más. Como orador público, ha presentado seminarios web en muchas comunidades de Hyperledger en EE. UU. Y Europa. En DC Web Makers, lidera un equipo de expertos en blockchain para consultoría e implementación de aplicaciones empresariales descentralizadas. Como arquitecto jefe, ha diseñado y desarrollado cursos de blockchain y programas de formación para Coding Bootcamps. Tiene una maestría en administración de empresas de la Universidad de Maryland. Antes del desarrollo y consultoría de blockchain, trabajó como desarrollador y consultor senior de aplicaciones web y móviles, inversor ángel y asesor comercial para algunas empresas emergentes. Puede conectarse con él en LI: https://www.linkedin.com/in/matt-zand-64047871

Sergio Torres
Sergio es ingeniero informático especializado en tecnologías disruptivas, tanto en su comienzo con el Big Data, como actualmente, con Blockchain. Cuenta con dos masters en Big Data, uno de ellos, especializado en Business Analytics y el otro centrado en arquitectura BD. Actualmente está elaborando el libroHands-on Smart Contract Development with Hyperledger Fabric de O’Reilly Media junto con otros autores. Ha impartido numerosos cursos a lo largo de estos tres años sobre Hyperledger Fabric tanto en universidades como en centros privados. Conéctate conmigo en Linkedin:https://es.linkedin.com/in/sergiotorrespalomino

Private Custom Tutoring

decorative line

We offer private custom tutoring classes both online and in DC, MD and VA for almost all of our courses or bootcamps. Give us a call or email us to discuss your needs.

$90 Regular

$50 Limited Offer

REGISTER NOW