Pionieri della blockchain
Accedi

Vitalik Buterin traccia la strada per raggiungere VISATempo di lettura: 10 min.

menu categorie articoli

Il percorso dello sharding sembra essere la creazione iniziale di un nuovo “universo”, o cento, che non influisce sulla chain.

“Il killer di ethereum è lo stesso ethereum, l’ethereum della Cina è ethereum, l’ethereum di Taiwan è ethereum…2.0.”

Questo è stata la dichiarazione di apertura di Vitalik Buterin, l’inventore di Ethereum, durante Beyond Block a Taipei, dove ha presentato un piano per raggiungere una scalabilità nelle transazioni ai livelli di Visa entro i prossimi 3-5 anni.

“I problemi principali che affliggono ethereum sono privacy, sicurezza e scalabilità”, ha detto Buterin, che indossava una maglietta di Byzantium, alludendo all’ultimo hard-fork di ethereum. Egli ritiene che il problema della privacy sia risolto per tre quarti.

Buterin sostiene che quell’aggiornamento ha introdotto alcuni nuovi algoritmi crittografici abbastanza sofisticati, includendo zero knowledge proof e ring signatures che da soli non risolvono il problema della privacy, ma possono conferire ai coder strumenti per creare soluzioni.

“Da una prospettiva di strato inferiore, il problema della privacy si trova a tre quarti dalla soluzione”, ha detto. “Per quanto riguarda il quarto mancante… ci sono ancora delle falle a livello di protocollo. Se usate un mixer e pagate il gas potrebbero esserci delle fughe di privacy, ma la maggior parte del lavoro da qua è allo stadio due”.

La privacy del livello base è stata risolta, perlomeno concettualmente, da zk-Snarks, che vi ha dato l’abilità di nascondere una transazione da tutti allo stesso tempo e vi ha anche permesso di scegliere a chi vorrete mostrare quella transazione.

La sicurezza non è certamente un problema che si può risolvere del tutto, mentre si può soltanto minimizzare o massimizzare a seconda della situazione. Ma un problema che può essere risolto è la scalabilità.

Tuttavia è un problema difficile per via del trilemma di decentralizzazione, sicurezza e scalabilità. “Averne due su tre è facile”, ha detto, fornendo esempi di soluzioni attuali che hanno reso possibile quel compromesso di due su tre:

Le blockchain esistenti, come Ethereum e Bitcoin nel loro stato attuale, sacrificano la scalabilità, mentre enormi blocchi, delle dimensioni di 10gb, sacrificherebbero la decentralizzazione”, ha aggiunto Buterin.

Ma ethereum ha come obbiettivo di averle tutte e tre senza sacrificarne nessuna. Un modo è attraverso soluzioni di secondo livello, come Plasma, Raiden, o il Lighting Network.

Tuttavia ethereum ha anche come obiettivo quello di raggiungere il tri-lemma della decentralizzazione, sicurezza e scalabilità, tutto sulla chain.

Buterin ha detto che ethereum punta a scalare sulla chain, verso centinaia di transazioni, senza masternode, nodi in consorzio, o qualsiasi altro aspetto decentralizzante.

“Dunque, possiamo farlo?” – chiede, “Io credo che possiamo, presentando una prima e in qualche modo concettuale versione base dello sharding”.

“Il mio modo per descrivere lo sharding è: immaginate che, in una versione abbastanza semplice, create una blockchain dove avete, diciamo cento universi differenti e ognuno di questi universi è un spazio account differente”. Ha spiegato Buterin prima di aggiungere:

“Così potrete avere un account in un universo o potrete avere un contratto in un altro universo e potrete mandare una transazione in un altro universo e se mandate una transazione in un altro universo influenzerete le cose soltanto in quell’altro universo.

Potrete avere qualche protocollo di trasferimento di risorse o di dati fra questi universi, ma potrebbe essere più limitato, qualcosa di asincrono, potrebbe avere due settimane di ritardo, e generalmente non è poi così ordinato e conveniente come quando si fanno le stesse cose in un solo universo.

Ma questi 100 universi non sono soltanto blockchain separate, sono anche sistemi interconnessi fra di loro. In particolare, condividono consensi. Dunque per rompere anche uno di essi bisogna rompere l’intero sistema.

Questo non arriva a descrivere ogni possibile soluzione di sharding là fuori e possiamo realmente accelerare sui margini e infine rendere i dialoghi fra questi universi differenti molto efficienti o anche oscurare la distinzione fra attraversare universi e andare fra universi, ma è una maniera semplice di vederla.

Come potrebbe funzionare su ethereum? Potremmo provare ad immaginare la versione ultimata di quale sarebbe il sistema ottimale, o potremmo provare a riflettere su cosa possiamo progettare con facilità nel prossimo termine.

Qui abbiamo un esempio di qualcosa che possiamo progettare con facilità nel prossimo termine. Immaginiamo di mantenere la blockchain principale e di pubblicare un contratto al suo interno, che verrebbe chiamato il validator manager contract, il quale manterrebbe un sistema PoS interno.

Il validator manager contract sta anche dietro ad un set di shard, i 100 universi. Durante ciascun blocco o ciclo il validator manager contract assegna ad un validator random il diritto di creare il prossimo blocco su ogni shard.

Ognuno di questi shard possiede anche blocchi e transazioni, ma non metteremo tutti questi blocchi e transazioni sulla chain principale.

Invece, quello che faremo, sarà prendere la stessa struttura di ethereum, dove è presente un grande blocco rappresentato da una piccola intestazione, e replicarla nuovamente su uno strato sottostante.

Nello strato dello shard potremmo avere degli elementi chiamati collation. Un collation è essenzialmente un gruppo di transazioni e il collation avrebbe un’intestazione che sarebbe un blocco con intestazione firmata PoS.

Queste intestazioni collation sarebbero indirizzate verso un validator manager contract, ma tutte le effettive transazioni all’interno degli shard, tutti gli stati degli shard, andrebbero fuori dalla chain.

L’unica cosa che va sulla chain sono queste intestazioni collation e il validator manager contract seguirebbe queste intestazioni e gli state root di ogni shard.

Dunque abbiamo una certa divisione dei compiti dove in sostanza, il validator manager contract funge da client per ogni shard”.

“Avreste questi due mondi”, dice Buterin. “Avreste il vecchio mondo che continua ad operare con lo stesso livello di scalabilità al momento limitato poiché ogni transazione viene replicata da ciascun nodo che deve funzionare su un computer portatile e questo nuovo mondo con le sue regole che ha una scalabilità quadratica nel momento in cui i nodi validano determinati shard e fungono da light clients per altri shard, un nuovo mondo che avrebbe potenzialmente livelli ancora più alti di scalabilità che dipendono da quanto lo sharding viene implementato o gradualmente migliorato.

Tutto questo avviene durante gli stadi iniziali dello sharding, dice Buterin, mentre illustra come procederà, con esso eventualmente incorporato ad un livello di protocollo attraverso “tight coupling”.

In questo modo, il network di ethereum si aggiorna in modo tale che i client rinforzano una regola che dice che se la blockchain contiene un’intestazione di sharding non valida, l’intera blockchain non sarà valida.

Così tight coupling è dove la validità dello strato due diventa una condizione per la validità dello strato uno”, dice Buterin. “In seguito l’intero sistema di sharding avrebbe lo stesso livello di sicurezza uniforme e sarebbe interamente governato da hardfork.”

Inizialmente ci sarebbe un ethereum a due velocità con individui che usano un nodo eth ed un nodo sharding connesso al nodo eth. I due eventualmente, una volta che il network si sposterà verso tight coupling, verranno fusi insieme.

I nuovi shard creano un nuovo address space”, aggiunge Buterin, che vuol dire che non influenza le transazioni normali ed il network corrente.

“ Così i devs possono impegnarsi verso innovazioni importanti”, dice Buterin, “poichè possono operare più liberamente sugli shard attivando miglioramenti esclusivamente sugli shard”.

“Prima o poi la main-chain avrà bisogno di essere aggiornata, ma potremo farlo dopo, poiché non è necessario rallentare le cose imponendo costanti aggiornamenti non retro compatibili sulla chain.

Questi cambiamenti sono una maggiore parallelizzazione, una macchina virtuale di ethereum più veloce, Merkel trees binari e stateless clients.

Gli stateless clients sono un tipo di sharding descritto da Buterin come “Invece di richiedere che i clienti abbiano uno stato, richiediamo ai mittenti delle transazioni di fornire merkle proofs di porzioni specifiche degli states che accedono”.

“Gli stateless clients sono in un fase iniziale e ci sono molti modi per implementarli, ma rappresentano un esempio di cosa può essere fatto sugli shard”.

Il percorso dello sharding sembra quindi essere la creazione iniziale di un nuovo “universo”, o cento, che non influisce sulla chain.

“La ragione di ciò è che, poiché ci saranno molti cambiamenti all’indietro incompatibili che potrebbero influenzare gli attuali stati o progetti, preferirebbero cominciare da una tabula rasa.

Ethereum, quindi, è nel processo di transizione verso una corsia a due velocità fino a quando si fonderà nuovamente in una sola strada più avanti.

Gli sviluppatori stanno lavorando su nuovi shard, migliorando il codice in maniera graduale, aggiungendo zk-Snarks a shard ed altri elementi, aumentando la loro abilità nel condividere dati e comunicare e lo stanno infine rifinendo continuamente attraverso miglioramenti che sono relativamente di minore importanza.

La time-line prevista è di 3-5 anni, quindi intorno al 2020. Ma uno degli aspetti più difficili, l’architettura, sembra avere raggiunto un livello concettuale stabile, così potremmo forse vedere dei prototipi anche l’anno prossimo e potenziali versioni alfa iniziali nel 2019 o anche prima.

Nel mentre ci sarà la transizione verso il PoS/PoW eth ibrido. Questo è un upgrade di grande importanza e potrebbe, essendo ottimisti, essere pronto per l’estate.

L’approccio generale che Ethereum sembra quindi prendere in considerazione è quello di prioritizzare la velocità sulla perfezione.  Tirare fuori qualcosa e in seguito migliorarla al posto di rifinirla totalmente.

Quell’approccio sarebbe dovuto ad una necessità: Ethereum adesso gestisce più transazioni di tutte le blockchain pubbliche decentralizzate combinate.

La domanda per le transazioni di ethereum è aumentata dieci volte dall’anno scorso, mentre il network è adesso in grado di gestirne una grande quattro volte al massimo.

Il tempo dunque non è un lusso per questo progetto ancora giovane, che è l’unico così importante in questo spazio da sostenere il mantra di “muoviti velocemente e rompi qualcosa” tipico della Silicon Valley.

Di: Trustnodes

Non perdere le ultime notizie

Se questo articolo ti è piaciuto e vuoi rimanere sempre aggiornato sul mondo cripto e blockchain iscriviti alla nostra Newsletter

Emanuele

Emanuele

Crypto-lover. Nerd tra i nerd. Ama analizzare numeri e grafici. Crea statistiche anche dove non necessario.
Emanuele

Emanuele

Crypto-lover. Nerd tra i nerd. Ama analizzare numeri e grafici. Crea statistiche anche dove non necessario.

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *