Introducción a Hyperledger Composer

Fernando Antonio Hernández Gramajo

Estudiante de Ingeniería en Ciencias y Sistemas - USAC

Palabras Clave:
Transacciones, almacenamiento, desarrollo, consenso, herramientas.

Como conocimiento previo, blockchain como tal, es una red de miembros donde cada uno de ellos tiene la misma base de datos en sus máquinas o misma cadena de bloques (distribuido), en contraste con un entorno centralizado en el cual todos son clientes los cuales se conectan a un único servidor donde aquí si se encuentra la base de datos. También cabe resaltar que no es una base de datos normal, este tipo de almacenamiento tiene una característica muy importante y es que es inmutable [1], lo que significa que no puede modificar el registro que ya se ha guardado en él. Solo puede agregarlo o leer entradas, pero no las puede actualizar. Teniendo en claro que blockchain es una manera de almacenar y procesar criptomoneda, hay que separar los términos los cuales se van a tratar, dado que hyperledger no es otra criptomoneda más, sino una tecnología de software libre que nos ayuda a desarrollar aplicaciones de este tipo con la ayuda de estándares, lineamientos y protocolos los cuales ya se establecen en blockchain tradicional, pero acá se trasladan a servicios y consensos los cuales se tienen que cumplir para que el blockchain que desarrollemos en esta herramienta sea tan bueno como si fuera hecha en otras más conocidas. (Imagen 1).

Imagen 1: Logo Hyperledger Composer

Ahora sí, ¿qué es hyperledger composer?, como tal hyperledger compone una colección de varias herramientas de desarrollo en la cual se encuentra composer, el gran propósito y meta de este software es tener disponible una plataforma la cual desarrolle blockchain listas para ser implementadas en ambientes de producción de grandes empresas formando así una comunidad de desarrollo de blockchain unido y comprometido a seguir mejorando este software dado que es código abierto muchas más empresas se suman a este proyecto con el pasar del tiempo.

Con hyperledger composer se necesitan tener 4 aspectos claros para el desarrollo de blockchain, los cuales son:

  • Participantes: Son las personas o entidades las cuales va a participar en la red de nodos se acostumbra a que si hay una característica por pequeña que sea se agregue otro tipo de participante para contemplar todas las posibilidades que se pueden dar en este apartado.

  • Modelos: Son en sí las transacciones las cuales manejaran los nodos para conformar un bloque en blockchain, se acostumbra que contengan un participante origen, un participante destino y el bien o servicio el cual se va a intercambiar, la fecha y hora bien puedo o no ir en este tipo de objetos, pero queda a discreción de quien está diseñando esta red el incluirlo o no.

  • Lógica de Negocio: son las acciones para llevar a cabo las transacciones, estas son escritas en un lenguaje propio de hyperledger composer pero se asocian a promesas asíncronas en javascript, dado a varias similitudes entre ambas sintaxis.

  • Reglas de Acceso: Si bien las reglas de acceso solo dicen quién puede interactuar con ciertos participantes y quien no, es aquí donde se origina la petición de un participante a otro, en donde por un lado se tiene el paquete a enviar y que es lo que se espera como respuesta (Imagen 2).

Imagen 2: Componentes de diseño para una red de nodos.

Luego de definir todos estos componentes, queda generar la red de nodos, por lo cual hyperleger se apoya en uno sus lenguajes disponibles y compatibles con la herramienta composer como lo es Angular en su versión 5, dado a su alta demanda generar aplicaciones provenientes de node js es muy sencillo montar un ambiente de pruebas para verificar si todo se encuentra funcionando como debe y luego enviar al ambiente de producción, todo en cuestión de minutos se cuenta con un equipo de desarrollo ágil, ahora los temas de seguridad y cuestiones de compatibilidad pasan a ser desplazados a un segundo plano ya que la herramienta genera todo desde cero.

También cabe mencionar que composer cuenta con un ambiente de pruebas en línea, el cual lleva por nombre: hyperledger composer playground,[2]: en donde en cuestión de minutos y unas cuantas configuraciones podemos probar como funcionarían blockchains desde las más sencillas hasta las más elaboradas transacciones, por lo que se considera también como una herramienta muy completa para propósitos de testeo. Esta es solo una alternativa de muchas existentes pero que da mucha facilidad a su desarrollo[3] y así este tipo de generadores de blockchain se convierte en uno de los más completos y rápidos hasta el día hoy.

Conclusiones

  • Las redes de nodos generadas con la herramienta hyperledger composer pueden servir para testeos rápidos los cuales agilizan la toma de decisiones.

  • La aplicación de redes de nodos no solo se limita a criptomoneda, sino que va más del lado que cualquier objeto o servicio puede llegar a ser una transacción almacenable dando así un alto nivel de abstracción a nuestros blockchain.

• El software libre ha hecho mucho por las comunidades de desarrolladores durante mucho tiempo y este es un claro ejemplo de cuando se tienen una buena idea en mente puede llegar convertirse en verdaderos mega proyectos [4].

Referencias