Introducció a la tecnologia Hyperledger Fabric

Aleix Vila
Blockchain en Català
5 min readOct 2, 2019

Hyperledger és una iniciativa col·laborativa impulsada per la fundació Linux. Està pensada per aconseguir introduir la tecnologia Blockchain en l’entorn industrial, financer i administratiu de la forma més còmoda i senzilla per a l’usuari. El projecte va ser presentat per la fundació Linux el desembre de 2015. Tres mesos després, el febrer de 2016, es va anunciar la incorporació al projecte de 30 empreses entre les quals destaquen Accenture, Cisco, IBM o Intel.

Hyperledger Fabric és un dels projectes, el qual el seu principal objectiu és tenir una arquitectura modular i extensa. Això permet que els serveis de consens i gestió de participants de la xarxa siguin plug-and-play. Es tracta de programari de codi obert sota la llicència Apache, versió 2.0.

Fabric és una plataforma que ens permet crear les nostres pròpies aplicacions Blockchain. A diferència dels altres sistemes Blockchain, aquest és privat i basat en permisos, per tant tots els participants per tal d’interactuar amb la xarxa hauran de ser prèviament autoritzats a fer-ho. No es permet cap transacció sense verificar el participant. En tenir constància de tots els participants de la xarxa, no es necessita un algorisme de consens, augmentant així el rendiment del sistema i el nombre de transaccions per segon. Un usuari de la xarxa se li permet la creació de transaccions, però no té el poder de pujar contractes intel·ligents, funcionalitat reservada només a l’administrador de la Blockchain. Hyperledger Fabric també permet habilitar transaccions privades i confidencials, mitjançant un canal independent on les dades només són visibles per als participants del canal.

Un registre de l’estat de la Blockchain és distribuït entre tots els nodes de la xarxa. Aquest està format per dues estructures de dades: el registre de transaccions i l’anomenat World State. El registre de transaccions no es pot reemplaçar, és immutable i conté tot el que ha succeït a la Blockchain. Una vegada s’ha acceptat i afegit un nou bloc, el World State canvia per tenir l’estat final de les transaccions seqüencials i per tant tenir un accés més directe a l’estat actual de la Blockchain.

Tipus de nodes

En el sistema podem identificar tres tipus de nodes: peer, orderer i client. El client es pot considerar com a l’usuari que utilitza la xarxa, es connecta als peers i orderers per tal d’actualitzar la informació.

Els nodes peer, gestionen les dades, les transaccions i els smart contract anomenats chaincode.

Les transaccions canvien el world state a partir dels chaincodes. Pujar un nou chaincode a la xarxa és considerat també com una transacció. El chaincode es firmarà i el sistema crearà un paquet immutable d’aquest. També es crea una imatge de Docker separada de la màquina, assegurant així que si passa alguna cosa amb el chaincode, el node no deixarà de funcionar. Els peers executen el chaincode en canals, considerats com Blockchains separades de la principal. Un peer pot gestionar transaccions de diferents canals.

Exemple d’una xarxa Hyperledger Fabric amb diferents nodes i organitzacions

Hyperledger Fabric depèn de certificats, els mateixos que utilitzem en el protocol HTTPS. Cada moviment és firmat pels certificats, per tant, no hi ha usuaris des de la perspectiva del sistema. Aquests certificats es poden generar prèviament, però fer-ho d’aquesta manera implicaria tenir un sistema massa estàtic des del punt de vista empresarial. D’aquesta manera, el sistema ens proveeix del que s’ha anomenat Fabic CA, el qual genera dinàmicament els certificats pels usuaris de la xarxa.

L’orderer és l’encarregat del consens entre tots els nodes participants de la xarxa. La seva tasca és recol·lectar les transaccions, i enviar-les en forma de bloc a tots els peers per tal que puguin afegir-lo en la seva versió de la Blockchain.

Processament de les transaccions

Una bona forma d’acabar d’entendre aquesta tecnologia, és explicant el flux que segueixen les transaccions dins el sistema. La gestió de les transaccions es divideix entre els peers i els orderers. Això permet un major paral·lelisme i una major concurrència a la xarxa. Les transaccions, per tal de mantenir la consistència i l’atomicitat de les dades, segueixen les següents fases:

Processos involucrats en la validació d’una transacció
  1. Nova transacció (Transaction proposal) — El client crea una transacció i la proposa al sistema utilitzant, per exemple, un dels SDK disponibles. Aquesta és enviada a tots els peers que hagin de firmar-la, incloent-hi els que estan a una altra organització.
  2. Resposta d’aprovació (Endorsement response) — Tots els peers, un cop han simulat la transacció amb la seva còpia de la Blockchain, retornen un resultat. Si aquests resultats coincideixen, llavors es crea una resposta d’aprovació, que és firmada per tots els peers, i posteriorment és enviada al client.
  3. Sol·licitud d’invocació (Invocation request) — El client envia la resposta d’aprovació rebuda al orderer, qui s’encarrega de verificar que tots els peers han signat la proposta. Si tot és correcte, es crea un bloc que conté totes les transaccions en ordre.
  4. Verificació de polítiques — El bloc amb les transaccions és enviat als respectius orderers de cada organització mitjançant les polítiques acordades.
  5. Invocació — Un cop tots els orderers han rebut el nou bloc, envien aquest als respectius peers perquè puguin llavors actualitzar la seva còpia de la Blockchain.

D’aquesta manera, s’aconsegueix que el sistema funcioni correctament i s’evita que algun participant intenti modificar de forma il·lícita, les dades de la cadena de blocs.

Hyperledger Fabric és sens dubte, un dels projectes Blockchain que està agafant més força ara mateix. Cada vegada les empreses veuen més clara aquesta tecnologia, com una solució als problemes de confidencialitat, privacitat i escalabilitat que les Blockchains públiques tenen. Empreses com Maersk i Walmart, ja utilitzen Fabric a gran escala per a tenir una major traçabilitat dels seus productes. Fins i tot la Unió Europea i altres administracions públiques, estan agafant aquesta tecnologia, com a base per a futurs sistemes de gestió ciutadana. Tot ens fa pensar que Hyperledger Fabric, ha arribat per quedar-se.

--

--