“The ethereum killer is ethereum, the ethereum of China is ethereum, the ethereum of Taiwan is ethereum… 2.0.”Queste le parole di Vitalik Buterin, co-founder di Ethereum a Novembre 2017. Da allora è passato quasi un anno e Ethereum 2.0 è più vicino, qui trovate il nostro lungo approfondimento a proposito.
La roadmap che ci porterà a Ethereum 2.0 è veramente molto ambiziosa e combina tre punti chiave:
- Proof-of-stake (Beacon Chain, Casper FFG)
- Sharding
- eWASM
Ethereum 2.0: obiettivo 1 miliardo di transazioni al giorno
L'obiettivo di Buterin è avere un network in grado di gestire 1 miliardo di transazioni al giorno matenendo la blockchain sicura e decentralizzata.
A titolo di paragone Bitcoin può gestire, ad oggi, 300'000 transazioni al giorno. Ethereum, oggi, fa un po' meglio con 1.4 mln di tx/giorno mentre Bitcoin Cash ha raggiunto 2.2 milioni durante uno stress test.
Ci sono alcune ottimizzazioni facili da implementare a cui i developers stanno lavorando. La propagazione dei blocchi, per esempio, può essere molto più efficiente. La compressione dei dati può migliorare le cose e Turbo Geth può rendere i nodi più snelli. Queste migliorie possono aumentare il numero di tx/giorno ma per arrivare a quota 1 miliardo serve ben altro.
La soluzione si chiama sharding
Per chi non lo sapesse, lo sharding è una delle possibili implementazioni per migliorare la scalabilità di Ethereum (ne abbiamo parlato QUI). Più nel dettaglio, mira ad aumentare il throughput delle transazioni che è un parametro essenziale se si ambisce all'adozione su scala globale. Negli ultimi mesi infatti, alcune applicazioni distribuite o alcune ICO hanno avuto così tanto successo da intasare la rete, comportando un aumento del prezzo del GAS.
La limitazione principale consiste nel fatto che la blockchain richiede che ogni transazione sia processata da ogni singolo nodo della rete. Dunque, ogni operazione che si svolge sulla blockchain, che sia un pagamento o la distribuzione di un nuovo Smart Contract, deve essere confermata da ogni nodo della rete in parallelo. E’ una caratteristica fondamentale per il funzionamento della blockchain, necessaria per garantire il concetto di rete distribuita e trustless. Di conseguenza, il throughput della rete non può essere superiore a quello che è in grado di sostenere ogni singolo nodo.
Il concetto di sharding consiste nella suddivisione della rete in più sezioni, in grado di operare in maniera parzialmente indipendente. La sezione A tratta una serie di operazioni, mentre la sezione B un altro set di transizioni. Tale meccanismo raddoppia il volume delle transazioni eseguibili, poiché ora il limite è dovuto alla capacità elaborativa dei due nodi in contemporanea. Suddividendo dunque la blockchain in diverse sezioni, è possibile aumentare linearmente il numero di operazioni supportate. L’implementazione dello sharding opera sul primo layer del network.
Per farla semplice: lo sharding fa si che un gruppo di nodi vada a validare un certo numero di transazioni (numero elevato) evitando che tutti i nodi debbano confermare la medesima transazione.
Secondo alcune analisi ci saranno 1024 shards, numero molto elevato. Con il numero di nodi attuale avremmo 20 nodi per shard, un po' poco. Ad oggi nessuno è incentivato a lanciare un nuovo nodo (salvo grossi miner o exchange) questo però dovrebbe cambiare con l'arrivo dello staking che premierà su base annuale i detentori di un nodo.
L'aumento del numero di nodi faciliterebbe l'adozione dello sharding. Un aumento del numero di nodi pari a 10x significherebbe avere circa 200k nodi e quindi circa 200 nodi per shard, un numero già più ragionevole.
Oltre il miliardo
[content-egg module=Amazon template=list]
Una volta completata l'adozione dello sharding si vuole andare oltre e raggiungere il trilione. Ciò potrebbe essere ottenuto utilizzando un nuovo metodo bassato su due livelli di cui ha parlato lo stesso Buterin:
Possiamo effettivamente aumentare il numero di transazioni di ethereum di una quantità enorme, senza utilizzare i layer 2 che introducono ipotesi di liveness ma utilizzando ZK-SNARKs per convalidare transazioni di massa. Ecco come.Il sistema ZK-SNARKs, sta per Zero-Knowledge Succinct Non-Interactive Argument of Knowledge, è un sistema utilizzato anche da Zcash (ZEC) e permette ad un individuo di dimostrare di essere il proprietario di una particolare serie di dati senza necessariamente rivelare quali siano i dati. Buterin di fatto sta cercando di usare questo meccanismo per validare un certo numero di transazioni (diciamo 1000) e inserire però un'unica transazione on-chain.Ci sono due classi di utenti, (i) transactor e (ii) relayer. Un relayer prende una serie di operazioni dai transactor, e le combina tutte in un'unica transazione e fa una operazione detta ZK-SNARK per verificarne la validità, poi pubblica il risultato e i dati della transazione in un modulo altamente compresso nella blockchain. Il relayer viene premiato per questo lavoro dai transactors
Questo metodo consentirebbe di effettuare 500 tx/secondo e aggiungendo lo sharding questo numero può crescere ulteriormente.
Conclusioni
Ulteriori dettagli sulle soluzioni in sviluppo emergeranno alla Devcon che si terrà il mese prossimo. E' noto che lo sviluppo dello sharding, per facilitare le cose, è stato diviso in due grosse fasi, la prima fase riguarda il data layer ed è quella su cui si stanno concentrando attualmente. Il completamento della prima fase dovrebbe concretizzarsi entro il 2020 mentre quello della seconda entro il 2021.
Sicuramente se Buterin riuscirà a raggiungere il miliardo di transazioni al giorno (e oltre) Ethereum diverrebbe la criptovaluta di riferimento e farebbe un bel passo avanti verso l'adozione globale.
Vi ricordo infine che presto arriverà Ethereum Constantinople, fork di Ethereum, qui trovate il nostro approfondimento.
[sc name="firma"]
Posted from my blog with SteemPress : http://www.cryptominando.it/2018/09/23/ethereum-1-miliardo-transazioni-giorno/
@cryptominando, I gave you a vote!
If you follow me, I will also follow you in return!
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://www.cryptominando.it/2018/07/07/ethereum-sharding-drake-2020/
This user is on the @buildawhale blacklist for one or more of the following reasons: