• Marco Paolini

Hyperledger Composer deprecato. Ora è il momento di AstraKode!

Aggiornato il: ott 15

Sebbene sia trascorso più di anno dal suo abbandono, Hyperledger Composer rappresenta tuttora una combinazione di parole chiave molto ricercate sul web, a dimostrazione del forte interesse creatosi nel tempo intorno al progetto. Vediamo allora di cosa si tratta e quale può essere una valida alternativa nel 2020.

La famiglia Hyperledger

Hyperledger rappresenta il risultato di uno sforzo collaborativo al fine di contribuire, da un lato, allo sviluppo e all’evoluzione della tecnologia blockchain in generale e, dall’altro, al potenziamento delle sinergie tra settori, sviluppando network distribuiti e ponendo grande attenzione al miglioramento delle prestazioni e dell’affidabilità di tali sistemi.

Si tratta di un insieme di framework (come Fabric o Sawtooth), tool (tra cui Cello, Explorer e Composer) e librerie (come Ursa) open source, destinate a implementazioni blockchain di livello enterprise.

L’annuncio della sua nascita da parte della Linux Foundation risale a dicembre 2015, mentre nei primi mesi dell’anno successivo ne furono ufficializzati i membri fondatori e il direttore esecutivo, Brian Behlendorf.

Numerose e variegate realtà parteciparono all’iniziativa. Aziende appartenenti al settore dell’IT, come IBM, Cisco, Fujitsu, Intel, SAP, Samsung, Huawei; imprese fornitrici di servizi finanziari, tra cui Deutsche Börse, American Express e J.P. Morgan; istituzioni accademiche come Cambridge Centre for Alternative Finance e Blockchain at Columbia, e molte altre ancora. Oggi la community può contare sul contributo di più di 100 membri.



Hyperledger Fabric e Hyperledger Composer

Hyperledger Fabric è una piattaforma di tipo DL (Distributed Ledger) ideata inizialmente da parte di Tamas Blummer e Christopher Ferris (IBM) e destinata ad un utilizzo di livello enterprise. [1] La mission del progetto è quella di permettere ad associazioni, singole aziende, consorzi, ecc. di poter realizzare una propria rete che possa essere altamente scalabile e, allo stesso tempo, dotata di un grado di autorizzazione flessibile. Il fine ultimo è quello di offrire un’alternativa alle piattaforme blockchain pubbliche, come ad esempio Ethereum, prive di governance e privacy. Fabric si rivolge a coloro che hanno interesse a mantenere un certo grado di controllo sulla gestione della rete e che desiderano tutelare le proprie transazioni rendendole private e non visibili all’intero network ma solo ad alcuni membri. I cosiddetti “endorser”, ossia i nodi abilitati ad operazioni di governance come la validazione delle singole transazioni o l’ingresso di un nuovo membro, tramite Fabric hanno a disposizione due importanti funzionalità:

  • “channels”: grazie alla quale è possibile occultare la transazione (o meglio lo smart contract che definisce tale accordo) tramite un’operazione di isolamento della stessa, che si concretizza inserendo lo smart contract in un container, rendendo la transazione visibile solo ad un pubblico specifico;

  • “private data”: se si desidera mantenere le informazioni private mentre si condividono gli hash come prova della transazione sul libro mastro. [2]

Per un ulteriore approfondimento => https://www.smartshaped.com/post/tecnicismi-sull-immutabilit%C3%A0-delle-informazioni

Inoltre, i vari componenti, come i meccanismi di adesione, quelli di consenso e i servizi di membership, sono offerti in modalità plug-and-play liberando l’utente dall’onere della configurazione o dell’installazione. La piattaforma, infine, è dotata di un’architettura modulare che risulta essere molto versatile adattandosi ai più disparati casi d’uso aziendali.

Hyperledger Composer è stato uno strumento open source orientato a facilitare la creazione di reti e la scrittura di smart contract (chiamati "chaincode") su Fabric. Scritto tramite JavaScript e sviluppato con il contributo di IBM, il Composer raccoglieva vari strumenti di prototipazione rapida per gestire, in maniera facilitata, la definizione del network e della sua logica. L'elaborato poteva poi essere esportato e, tramite tool a riga di comando, tramutato in architettura e logica Fabric. Più nel dettaglio, il Composer era dotato di 3 macrofunzionalità:

  • Linguaggio di modellazione chiamato "CTO" orientato alla definizione del modello e logiche di business.

  • Strumenti a riga di comando per importare gli elaborati Composer e tramutarli in rete e logica Fabric.

  • Funzionalità di playground per prototipazione rapida e approccio allo strumento e alla tecnologia Fabric [3].

Essendo la tecnologia Fabric di non facile approccio e spesso soggetta ad evoluzioni, sin dal suo rilascio il Composer ha suscitato grande interesse nella community. Purtroppo dal 29 agosto 2019 il progetto risulta deprecato a causa di divergenze diventate via via insanabili tra l'approccio di modellazione del Composer e la tecnologia Fabric.


AKB, un nuovo modo di fare Blockchain

Digitando la parola "blockchain" all'interno di un qualsiasi motore di ricerca, la maggior parte dei risultati mostrati nella prima pagina (e probabilmente anche nelle seguenti) citano frasi come: "che cos'è", "come funziona", "come utilizzarla", "a cosa serve", ecc. Nonostante sia trascorso più di un decennio dalla sua nascita, tuttora è molto diffusa una scarsa conoscenza della tecnologia, legata al fatto di non aver ancora raggiunto un pieno livello di maturità e, soprattutto, a causa della sua complessità. È stato questo il punto di partenza dal quale ha preso vita il progetto Composer (oltre al fatto di avvicinare gli utenti all'implementazione Fabric), ed è stato proprio il Composer a fungere da fonte di ispirazione per AstraKode Blockchain (AKB). Ecco svelato il principale bisogno che questa piattaforma mira a soddisfare: assistere e guidare l'utente nella generazione di un nuovo progetto blockchain, rendendo tale esperienza il più possibile intuitiva e agevole.

Ma procediamo con calma e facciamo un passo per volta.... Che cos'è AstraKode Blockchain? AKB è una soluzione PaaS (Platform as a Service) tramite la quale sarà possibile creare e sviluppare reti blockchain e smart contract in maniera facilitata grazie ad un approccio low-code. Per un ulteriore approfondimento => https://www.smartshaped.com/post/need-for-speed-low-code


Ciò si traduce nella disponibilità di due ambienti di sviluppo separati ma, allo stesso tempo, integrati:

  • Network Composer, tramite il quale sarà possibile progettare, personalizzare e distribuire una rete blockchain (inizialmente Hyperledger Fabric, per poi includere altre implementazioni molto utilizzate come Corda e Quorum).

  • IDE Smart Contracts (SC IDE), all'interno del quale sarà possibile sviluppare smart contract pronti per essere distribuiti sulla rete (attraverso una funzionalità dedicata all'interno del Network Composer), stabilendone quindi la relativa logica.

Coerentemente con il paradigma del low-code, tali ambienti saranno costituiti da componenti grafici configurabili e da processi guidati in grado di astrarre e automatizzare molti aspetti complessi legati alla programmazione tradizionale, compresa la auto-documentazione e la validazione della rete. Inoltre, la presenza di una community dedicata fungerà da ulteriore supporto all'utente sia in forma strutturata (guide ed altre risorse atte a documentazione e formazione), che in forma meno strutturata (forum). La combinazione "low-code + community" rappresenta la formula vincente per fornire la possibilità, non solo a sviluppatori professionisti, ma anche ad utenti meno esperti ma appassionati di blockchain di approcciarsi a questa tecnologia, dando vita al proprio progetto. Volendo paragonare AKB con il sovracitato Composer, quest'ultimo presenta una serie di criticità a cui il primo pone rimedio:

  • l'assenza di un'interfaccia grafica per progettare e sviluppare sia la rete che la relativa logica (smart contract);

  • un livello di configurazione del network poco flessibile;

  • l'assenza di strumenti low-code per agevolare e rendere più intuitiva l'attività di sviluppo.

AstraKode si pone come erede sia spirituale che materiale del Composer aspirando, a differenza di quest'ultimo, a permettere la creazione di soluzioni ad alto grado di customizzazione di livello "production grade", discostandosi contemporaneamente da qualsiasi altra soluzione grazie al suo approccio low-code ed alla sua capacità di fornire strumenti sia per lo sviluppo di una rete blockchain, che della sua logica. Inoltre, il suo approccio low-code si traduce in un'elevata flessibilità della piattaforma, in grado di adattarsi a differenti casi d'uso, permettendole di sposarsi perfettamente con la duttilità caratteristica della blockchain. AKB infatti rivolge la sua offerta ad aziende appartenenti a diversi settori, in primis quello della finanza e dei servizi fino a toccare quello della logistica e dell'agroalimentare.



Coming soon: prima versione AKB

Inizialmente verrà rilasciata una versione alpha di AKB a perimentro completamente gratuito, con l'intento di raccogliere il maggior numero possibile di feedback da parte degli utenti, fondamentali per plasmare la piattaforma e le sue funzionalità. Gli utenti saranno quindi i principali protagonisti nonché il motore dell'intero processo.


Questa prima versione fornirà il Network Composer e le funzionalità di community, per poi via via includere lo SC IDE e funzionalità di cloud deployment con i successivi rilasci. Una volta eseguito il login, l'utente potrà iniziare a dar vita al suo progetto di rete utilizzando Il Network Composer.

Prendendo ad esempio un network implementato con tecnologia Fabric, per prima cosa sarà necessario configurare un consorzio (o più di uno, a seconda dell'ampiezza della rete), inserendo le singole organizzazioni appartenenti ad esso (o ad essi). I cosiddetti "channel" rappresentano graficamente i singoli consorzi, ossia un insieme di organizzazioni comunicanti fra loro. I rombi rappresentano i cosiddetti "peer", ossia i nodi del network. Sulla sinistra sarà ben visibile il riepilogo delle impostazioni per ogni singolo consorzio e organizzazione, indicante nome e numero di partecipanti. Sulla destra invece sarà possibile interagire con la community, visualizzando i post dei vari utenti e comunicando direttamente con i partecipanti al progetto tramite funzionalità di forum privato e chat. Inoltre, in basso, tramite l'ausilio dello strumento di validazione, sarà possibile cogliere in maniera istantanea possibili errori sorti durante la progettazione, segnalati in automatico dalla piattaforma. Una volta terminata la fase di progettazione sarà possibile "generare" il codice sorgente della rete, pronto ad entrare in funzione.

Conclusioni Confidiamo ci sia grande aspettativa nei confronti di AstraKode Blockchain e siamo convinti che riuscirà a soddisfare anche le esigenze più impegnative. Prevediamo di lanciare la prima versione della piattaforma entro la fine del 2020 con un perimetro iniziale completamente gratuito, in modo da stimolare la partecipazione di tanti sviluppatori e appassionati di blockchain che potranno contribuire in maniera costruttiva a creare una fiorente community. Non vediamo l'ora di farvela provare! Vi consigliamo nel frattempo di iscrivervi alla nostra newsletter per rimanere sempre aggiornati sui futuri sviluppi => AstraKode Blockchain E voi cosa ne pensate? Fatecelo sapere nei commenti!


Pillole di curiosità Sebbene il progetto Hyperledger Composer sia stato deprecato da più di un anno la sua fama non demorde. Abbiamo utilizzato vari tool tra cui Google Trends e motori di ricerca focalizzati sulla LSI (Latent Semantic Indexing) scoprendo che il volume di ricerca di questa combinazione di parole chiave è ancora molto elevato.

Il progetto è davvero piaciuto agli appassionati di blockchain!




Fonti: [1] https://www.hyperledger.org/wp-content/uploads/2017/07/Hyperledger-Fabric-V1-Launch-FAQ-FINAL.pdf

[2]https://www.hyperledger.org/wpcontent/uploads/2020/03/hyperledger_fabric_whitepaper.pdf

[3] https://developer.ibm.com/recipes/tutorials/blockchain-hyperledger-composer-and-playground-development-components/