Tempo di lettura: 4 minuti

Zilliqa è la prima blockchain progettata per implementare lo sharding in modo nativo, che consenta un ridimensionamento lineare all’aumentare delle dimensioni della sua blockchain. Ancora oggi, uno dei problemi più grandi della tecnologia blockchain e comune denominatore è la scalabilità. In questo momento, Bitcoin non è in grado di gestire tutte le richieste all’interno della sua rete e le fee da pagare per una singola transazione hanno raggiunto prezzi “folli” durante il picco massimo di utilizzo, a Dicembre 2017. Lo stesso vale per Ethereum, dove una throughput (la capacità di trasmissione “effettivamente utilizzata”) limitato si traduce in un rallentamento. La popolarità e l’hype generato dai collectibles “Crypto Kitties”, per esempio, ha notevolmente rallentato Ethereum, rendendo evidenti i suoi limiti. La loro soluzione al problema di scalabilità si chiama Sharding. Possiamo dire che più nodi saranno attivi all’interno della blockchain di ZIL e più il numero di transazioni che sarà possibile gestire al secondo sarà in aumento.

Il problema della scalabilità di Blockchain

Qualsiasi Blockchain (ad oggi) soffre di un problema di scalabilità. In generale; più nodi ci saranno attivi all’interno di una rete e più difficile sarà raggiungere il consenso. Per farvi capire meglio questo concetto utilizzeremo un’esempio comprensibile a tutti ovvero una votazione all’interno di un gruppo di persone:

  • In un gruppo di 3/4 persone, è abbastanza semplice prendere decisioni; ascoltare l’opinione di tutti e mettersi d’accordo.
  • In un gruppo più ampio invece (50/100 persone), si potrebbe chiedere alle persone di votare per alzata di mano. Diventerebbe comunque più complesso e dispendioso arrivare ad un consenso e sarebbe difficile ascoltare il parere di tutti.
  • In gruppi di migliaia o addirittura milioni di individui, ci sarà bisogno invece di un sistema di voto più complesso, un lasso di tempo più ampio e un’attenzione maggiore per verificare che nessuno faccia il furbo e cerchi di sabotare la votazione. Inoltre sarà impossibile, capire ed ascoltare ogni singola persona.

In questo semplice esempio puoi vedere come all’aumentare dei partecipanti alla votazione diventi sempre più complicato raggiungere il consenso. La velocità e la qualità di una blockchain è inversamente proporzionale alla dimensione della stessa.

La risposta ai limiti di scalabilità secondo Zilliqa.

Il team di Zilliqa hanno implementato un modo per riuscire ad elaborare più transazioni man mano che altri nodi si uniscono alla rete. Il loro nuovo modello implementa un protocollo di consenso ibrido (POW + BFT) e una tecnologia in grado di far crescere il throughput all’aumentare dei nodi collegati grazie alla divisione del lavoro: lo Sharding. Recenti test (test virtuali AWS) hanno dimostrato che la rete di Zilliqa ha un throughput di 1.218 tx/s quando sono operativi 1.800 nodi e 2.488 tx/s quando, ad essere operativi, saranno 3.600 nodi.

Lo Sharding: la divisione del lavoro all’interno della rete

In che modo Zilliqa garantisce la scalabilità della propria Blockchain? Usano una soluzione conosciuta come sharding (la stessa che vuole implementare Ethereum). ZIL raggruppa i nodi presenti sulla rete in gruppi formati da 600 nodi. Ogni gruppo è conosciuto come un Shard (frammento). Per esempio: in testnet, quando si opera con 1.800 nodi, la rete è stata divisa in 3 Shard. Quando operativi, saranno 3.600 nodi, saranno suddivisi in 6 Shards. Man mano che altri nodi si uniscono alla rete, Zilliqa riesce a dividere ulteriormente la rete, generando così, ulteriori Shard. Questi frammenti elaborano una parte frazionaria delle transazioni della rete. In termini semplificati, se ci sono 6 frammenti, ogni frammento processerebbe circa 1/6 delle transazioni. Più frammenti ci sono, più la rete divide il carico di consenso tra gli Shard, mantenendo in questo modo le richieste relativamente stabili. Ciascun frammento elabora le transazioni a lui assegnate in un microblocco, contemporaneamente agli altri Shard. Alla fine del periodo di elaborazione parallelo, noto come DS Epoch, questi microblocchi vengono riuniti e combinati in un blocco unico che viene aggiunto alla blockchain.

Consenso Ibrido: PoW + BFT

Zilliqa utilizza un meccanismo di consenso ibrido. Quando si mina per la prima volta, è necessario completare una proof of work hash. Questo perchè il consenso PoW richiede potenza di calcolo il che, garantisce che una macchina possa operare solo su un nodo. In questo modo, il POW aiuta Zilliqa a stabilire l’identità rendendo quasi impossibile un attacco Sybil. La rete però non usa il protocollo POW per il consenso. Dopo che un nodo ha dimostrato la sua identità, viene assegnato ad uno Shard. All’interno di questi frammenti, Zilliqa usa un protocollo di consenso chiamato Practical Byzantine Fault Tolerance (BFT). Questo protocollo, a differenza del consenso basato su PoW, in cui sono richieste conferme multiple, non ammette divisioni temporanee. Il consenso basato su BFT di Zilliqa consente una gestione efficiente dei requisiti di archiviazione grazie al fatto che l’intera cronologia delle transazioni non deve essere salvata sulla blockchain, ma è sufficiente memorizzare solo lo stato più recente.

Un nuovo linguaggio di programmazione.

Con l’obiettivo di rendere la programmazione funzionale più standardizzata e sicura, il team di Zilliqa ha sviluppato un nuovo linguaggio di programmazione noto come Scilla.

Il Team

Il CEO, Xinshu Dong, ha un dottorato in Informatica presso l’Università Nazionale di Singapore. È un esperto di sicurezza informatica ed è responsabile di diversi progetti di sicurezza nazionale a Singapore.

Prateek Saxena è il Chief Scientific Advisor. Ha un dottorato in Informatica presso l’Università della California, Berkeley ed è un professore di informatica al NUS.

Amrit Kumar è il project’s Crypto Lead. È un ricercatore al NUS. Ha un dottorato di ricerca presso l’Université Grenoble-Alpes, Francia e un diploma di ingegnere presso l’Ecole Polytechnique.

L’advisory board di Zilliqa include inoltre figure di rilievo in blockchain come Loi Luu, co-fondatore di Kyber Network; Vincent Zhou, socio fondatore di FBG Capital; Nicolai Oster, Partner presso Bitcoin Suisse AG; e Alexander Lipton, fondatore e CEO di StrongHold Labs.

Roadmap del progetto

I punti salienti della roadmap di Zilliqa sono i seguenti:

  • Zilliqa ha già rilasciato Testnet pubblico v1.0
  • Testnet v1.5 è programmata per il primo trimestre 2018
  • Mainnet pubblica è prevista per il secondo trimestre del 2018
  • versione dApp programmata per il terzo trimestre del 2018

Possiamo dire che ha una roadmap molto attiva, con l’evento più grande rappresentato dal lancio su mainnet.

Luca Colombo
Autore

Scrivi un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.