Revisión de tres herramientas Hyperledger- Caliper, Cello and Avalon

decorative line

By Matt Zand and Sergio Torres

Hyperledger Caliper, Cello and Avalon

Resumen

En nuestro artículo anterior (Revisión de cinco populares Hyperledger DLT: Fabric, Besu, Sawtooth, Iroha e Indy), discutimos las siguientes tecnologías Hyperledger Distributed Ledger (DLT).

  1. Hyperledger Indy
  2. Hyperledger Fabric
  3. Hyperledger Iroha
  4. Hyperledger Sawtooth
  5. Hyperledger Besu

 

Para continuar nuestro viaje, en este artículo discutimos tres herramientas Hyperledger (Hyperledger Caliper, Cello y Avalon) que actúan como excelentes accesorios para cualquiera de los Hyperledger DLT. Vale la pena mencionar que, al momento de escribir este artículo, las tres herramientas discutidas en este artículo se encuentran en la etapa de incubación.

Hyperledger Caliper

Caliper es una herramienta de evaluación comparativa para medir el rendimiento de blockchain y está escrito en JavaScript. Utiliza los siguientes cuatro indicadores de rendimiento: tasa de éxito, transacciones por segundo (o rendimiento de transacciones), latencia de transacciones y utilización de recursos. Específicamente, está diseñado para realizar evaluaciones comparativas en un contrato inteligente implementado, lo que permite el análisis de dichos cuatro indicadores en una red blockchain mientras se utiliza el smart contract.

Caliper es una herramienta general única y se ha convertido en una referencia útil para que las empresas midan el rendimiento de sus libros de contabilidad distribuidos. El proyecto Caliper será una de las herramientas más importantes para usar junto con otros proyectos Hyperledger (incluso en proyectos Quorum o Ethereum, ya que también es compatible con esos tipos de cadenas de bloques). Ofrece diferentes conectores a varias blockchains, lo que le otorga mayor potencia y usabilidad. Asimismo, en base a su documentación, Caliper es ideal para:

  1. Desarrolladores de aplicaciones interesados ​​en ejecutar pruebas de rendimiento para sus smart contracts.
  2. Arquitectos de sistemas interesados ​​en investigar las limitaciones de recursos durante las pruebas de carga.

 

Para comprender mejor cómo funciona Caliper, se debe comenzar con su arquitectura. Específicamente, para usarlo, un usuario debe comenzar definiendo los siguientes archivos de configuración:

  1. Un archivo de referencia que define los argumentos de una carga de trabajo de referencia
  2. Un archivo de blockchain que especifica la información necesaria, que ayuda a interactuar con el sistema que se está probando.
  3. Smart contracts que definen qué contratos se implementarán.

 

Los archivos de configuración anteriores actúan como entradas para la CLI de Caliper, que crea un cliente de administración (actúa como superusuario) y una fábrica (es responsable de ejecutar cargas de prueba). Según un archivo de referencia elegido, un cliente podría realizar transacciones con el sistema agregando o consultando activos.

Mientras se realizan las pruebas, se guardan todas las transacciones. Las estadísticas de estas transacciones se registran y almacenan. Además, un monitor de recursos registra el consumo de recursos. Todos estos datos finalmente se agregan en un solo informe. Para una discusión más detallada sobre su implementación, visite el enlace provisto en la sección de Referencias.

Hyperledger Cello

A medida que las aplicaciones de blockchain finalmente se implementaron a nivel empresarial, los desarrolladores tuvieron que hacer mucho trabajo manual al implementar y administrar una blockchain. Este trabajo no se vuelve más fácil si varios inquilinos necesitan acceder a cadenas separadas simultáneamente. Por ejemplo, interactuar con Hyperledger Fabric requiere la instalación manual de cada nodo de pares en diferentes servidores, así como la configuración de scripts (por ejemplo, Docker-Composer) para iniciar una red de Fabric. Por lo tanto, para abordar dichos desafíos y automatizar el proceso para los desarrolladores, se incubó Hyperledger Cello. Cello lleva el modelo de implementación bajo demanda a las cadenas de bloques y está escrito en el lenguaje Go. Cello es una aplicación automatizada para implementar y administrar blockchains en forma de plug-and-play, particularmente para empresas que buscan integrar tecnologías de contabilidad distribuida.

Cello también proporciona un panel en tiempo real para los estados de la cadena de bloques, la utilización del sistema, el rendimiento del código de la cadena y la configuración de las cadenas de bloques. Actualmente es compatible con Hyperledger Fabric. Según su documentación, Cello permite:

  1. Aprovisionamiento instantáneo de blockchains personalizados.
  2. Mantener un grupo de blockchains en ejecución saludable sin necesidad de operación manual.
  3. Verificar el estado del sistema, escalar los números de la cadena, cambiar los recursos, etc. a través de un tablero.

 

Asimismo, según su documentación, las principales características del Cello son:

  1. Gestión de múltiples cadenas de bloques (por ejemplo, crear, eliminar y mantener la salud automáticamente)
  2. Respuesta casi instantánea, incluso con cientos de cadenas o nodos
  3. Soporte para solicitudes de blockchains personalizadas (por ejemplo, tamaño, consenso): actualmente, hay soporte para Hyperledger Fabric
  4. Soporte para un host Docker nativo o un host Swarm como los nodos de cómputo.
  5. Soporte para arquitectura heterogénea (por ejemplo, z Systems, Power Systems y x86) desde servidores bare-metal hasta máquinas virtuales.
  6. Ampliable con funciones de supervisión, registro y estado mediante el empleo de componentes adicionales.

 

Según sus desarrolladores, la arquitectura de Cello sigue los principios de microservicios, resistencia a fallas y escalabilidad. En particular, Cello tiene tres capas funcionales:

  1. La capa de acceso, que también incluye paneles de interfaz de usuario web operados por los usuarios.
  2. La capa de orquestación, que al recibir la solicitud de la capa de acceso, hace una llamada a los agentes para operar los recursos de blockchain.
  3. La capa de agentes, que incorpora trabajadores reales que interactúan con infraestructuras subyacentes como Docker, Swarm o Kubernetes.

 

Según su documentación, cada capa debe mantener API estables para que las capas superiores logren la capacidad de conexión sin cambiar el código de la capa superior. Para una discusión más detallada sobre su implementación, visite el enlace provisto en la sección de Referencias.

 

Hyperledger Avalon

Para impulsar el rendimiento de las redes blockchain, los desarrolladores decidieron almacenar datos no esenciales en bases de datos fuera de la cadena. Si bien este enfoque mejoró la escalabilidad de la cadena de bloques, generó algunos problemas de confidencialidad. Entonces, la comunidad estaba buscando un enfoque que pudiera lograr los objetivos de escalabilidad y confidencialidad a la vez; por lo tanto, condujo a la incubación de Avalon. Hyperledger Avalon (anteriormente Trusted Compute Framework) permite la privacidad en las transacciones de blockchain, cambiando el procesamiento pesado de una blockchain principal a recursos computacionales confiables fuera de la cadena para mejorar la escalabilidad y la latencia, y para admitir Oracles certificados.

Trusted Compute Specification se diseñó para ayudar a los desarrolladores a obtener los beneficios de la confianza computacional y superar sus inconvenientes. En el caso de Avalon, se utiliza una cadena de bloques para hacer cumplir las políticas de ejecución y garantizar la auditabilidad de las transacciones, mientras que los recursos computacionales confiables asociados fuera de la cadena ejecutan las transacciones. Al utilizar recursos computacionales confiables fuera de la cadena, un desarrollador puede acelerar el rendimiento y mejorar la privacidad de los datos. Al usar Hyperledger Avalon en un libro mayor distribuido, podemos:

  1. Mantener un registro de los trabajadores de confianza (incluida su información de certificación).
  2. Proporcionar un mecanismo para enviar órdenes de trabajo de un cliente (s) a un trabajador.
  3. Conservar un registro de recibos y reconocimientos de órdenes de trabajo.

 

En pocas palabras, las partes fuera de la cadena relacionadas con la red principal están ejecutando las transacciones con la ayuda de recursos informáticos confiables. Lo que garantiza el cumplimiento de la confidencialidad junto con la integridad de la ejecución es la opción Trusted Compute con las siguientes características:

  1. Entorno de ejecución confiable (TEE)
  2. Viaje cotidiano de varias partes (MPC)
  3. Pruebas de conocimiento cero (ZKP)

 

Por medio de entornos de ejecución de confianza, un desarrollador puede mejorar la integridad del enlace en la ejecución dentro y fuera de la cadena. El SGX play de Intel es un ejemplo conocido de TEE, que tiene capacidades como verificación de código, verificación de atestación y aislamiento de ejecución que permite la creación de un vínculo confiable entre los recursos informáticos de la cadena principal y fuera de la cadena. Para una discusión más detallada sobre su implementación, visite el enlace provisto en la sección de Referencias.

Nota- Herramienta Hyperledger Explorer (obsoleta)

Hyperledger Explorer, en pocas palabras, proporciona un panel para mirar los detalles de los bloques que están escritos principalmente en JavaScript. Hyperledger Explorer es conocido por todos los desarrolladores y administradores de sistemas que han trabajado en Hyperledger en los últimos años. A pesar de sus excelentes características y popularidad, Hyperledger anunció el año pasado que ya no lo mantienen. Entonces esta herramienta está obsoleta.

Siguiente artículo:

En nuestro próximo artículo, continuaremos cubriendo las siguientes cuatro bibliotecas Hyperledger:

  1. Hyperledger Aries
  2. Edredón Hyperledger
  3. Hyperledger Ursa
  4. Transacción Hyperledger

 

Resumen

En resumen, cubrimos tres herramientas Hyperledger (Caliper, Cello y Avalon) en este artículo. Comenzamos explicando que Hyperledger Caliper está diseñado para realizar puntos de referencia en un smart contract implementado, lo que permite el análisis de cuatro indicadores (como la tasa de éxito o la transacción) en una red blockchain mientras se utiliza el contrato inteligente. Luego, aprendimos que Hyperledger Cello es una aplicación automatizada para implementar y administrar blockchains en forma de plug-and-play, particularmente para empresas que buscan integrar tecnologías de contabilidad distribuida. Por fin, Hyperledger Avalon permite la privacidad en las transacciones de la cadena de bloques, cambiando el procesamiento pesado de una cadena de bloques principal a recursos computacionales confiables fuera de la cadena para mejorar la escalabilidad y la latencia, y para admitir Oráculos certificados.

 

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