By Matt Zand and Sergio Torres
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.
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:
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.
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:
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.
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:
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:
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:
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:
He incluido enlaces de referencia y recursos para aquellos interesados en explorar los temas discutidos en este artículo en profundidad.
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
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