Ethereum 2.0 (pro readers only)

Mag 30, 2022 | 0 commenti

dati risalenti a Maggio 2020

Abstract: Esaminiamo Ethereum 2.0, che è impostato per il lancio già nel 2022, supponendo che non ci siano ulteriori ritardi. Tuttavia, il lancio potrebbe non essere un evento così importante come sembra. Inizialmente, Ethereum 2.0 funzionerà principalmente come una rete di prova per il nuovo sistema di consenso proof of stake. La maggior parte dell’attività economica e dei contratti intelligenti rimarrà sulla rete Ethereum originale, che continuerà ad esistere come un sistema parallelo a Ethereum 2.0. Ci sarà un peg a senso unico, dove Eth1 può essere trasferito in Eth2, ma il contrario non sarà possibile. Data la decisione di scalare tramite sharding, crediamo che Ethereum abbia poca scelta se non quella di tentare questa incredibilmente complessa transizione pluriennale verso una nuova rete

Gli ETH 2.0 bloccati toccano il record dei $ 3M mentre ETH supera i $ 3K ₿ Crypto-blog.it

Panoramica

Ethereum sta cercando di trasferire la sua intera economia su una nuova rete, Ethereum 2.0. Questa transizione è rischiosa, molto complessa e richiederà una notevole quantità di tempo. A nostro avviso, la motivazione principale è la scalabilità. La rete Ethereum si è dimostrata popolare da quando è stata lanciata e i volumi delle transazioni sono aumentati considerevolmente. Affinché questa crescita continui, sia gli operatori dei nodi completi che gli agenti di consenso (siano essi proof of work o proof of stake) avranno bisogno di far funzionare computer sempre più grandi, che diventerebbero sempre più costosi. Questo potrebbe alla fine portare ad una maggiore centralizzazione, che potrebbe degradare la resistenza alla censura caratteristica del sistema, fino a quando alla fine la rete diventa inutile.

L’approccio che Bitcoin ha adottato di fronte a questo problema sembra essere soluzioni di livello due come lightning, mentre Bitcoin Cash sembra disposto a fingere che il problema non esista, almeno in una certa misura. In Ethereum, il percorso scelto di fronte a questo dilemma sta diventando più chiaro: lo sharding.

Il problema centrale dello sharding è che si potrebbe sostenere che rappresenta un cambiamento significativo nel modello economico di Ethereum. Se Ethereum è un inarrestabile singolo computer mondiale, allora potrebbe non soddisfare le aspettative degli utenti se fosse suddiviso in più shard (più computer). Se uno smart contract sullo shard 1 vuole interagire con uno smart contract sullo shard 2, ci potrebbe essere un significativo grado di attrito, dovuto alla necessità di concordare una sequenza di eventi e condividere informazioni tra gli shard. L’esperienza sarà diversa rispetto a quando due contratti sullo stesso shard interagiscono, quindi la visione informatica su scala planetaria potrebbe iniziare a rompere, in qualche misura. Si potrebbe anche sostenere che Ethereum e lo sharding sono concetti antitetici. D’altra parte, Ethereum potrebbe riempire diversi casi di nicchia, con diverse sottosezioni di utenti interessati a diversi tipi di applicazioni, che richiedono poca interazione tra loro. In questo mondo, lo sharding può avere senso e migliorare la flessibilità della rete per gestire diversi gruppi di utenti, che condividono tutti lo stesso token Ethereum sottostante.

Il fatto che lo sharding rappresenti un cambiamento così fondamentale per il funzionamento di Ethereum, spiega perché la transizione allo sharding è un cambiamento più dirompente di quanto molti possano aver pensato. Gli smart contracts esistenti non possono semplicemente spostarsi in una rete sharded. Una nuova rete dovrà essere costruita e gli smart contracts dovranno essere costruiti di nuovo per questo ambiente. La transizione sarà un processo doloroso per molti anni. Per le fasi iniziali di Ethereum 2.0, esisterà come un sistema parallelo accanto a Ethereum 1.0 e ad un certo punto in futuro il piano è di fondere i due sistemi in uno solo.

Prima del lancio di Ethereum, il piano era quello di adottare la proof of stake piuttosto che utilizzare la proof of work come meccanismo di consenso. Questa transizione pianificata, proprio come lo sharding, si è rivelata più complicata del previsto e quindi è stata anche ritardata. Con Ethereum che si sposta su una nuova rete, ha un certo senso usarlo come un’opportunità per lanciare il sistema proof of stake allo stesso tempo. Anche la macchina virtuale di Ethereum sarà aggiornata a una nuova versione, questa volta con il beneficio di circa altri cinque anni di progressi tecnologici e di esperienza nell’osservare Ethereum in funzione.

Le tre fasi della transizione

La transizione prevista verso Ethereum 2.0 avviene in tre fasi, come indicato di seguito:

Fase Titolo Descrizione
0 Beacon chain È stata ritardata in passato, e lanciata per luglio 2020. Questa fase consiste nel sistema proof of stake e non molto altro, quindi la rete può essere considerata più come una rete di prova, anche se i token coinvolti sono veri Ethereum. Ci sono vari aspetti del sistema proof of stake che devono funzionare, per esempio

– Gestire l’insieme degli stakers

– Gestire i fondi in gioco

– Un generatore di numeri casuali per aiutare a scegliere i produttori di un blocco e i comitati di puntata

– Votazione degli staker sulle proposte di blocco

– Concessione di ricompense o emissione di penalità agli staker

1 Shard chains Le catene di frammenti saranno inizialmente distribuite con 64 frammenti. In questa fase la rete è di nuovo progettata per essere altamente sperimentale. Mentre la fase 0 mira a testare l’infrastruttura di base di proof of stake senza altre attività economiche significative, la fase 1 mira a testare il modello di sharding di base.

Durante questa fase ci sono essenzialmente 65 catene di blocchi che operano in parallelo, la catena beacon che esisteva nella fase 0 e 64 nuove catene shard. Ci saranno comunicazioni e riferimenti a due vie tra la catena beacon e tutti i 64 shard.

2 State execution In questa fase ci si aspetta che sulla rete siano possibili attività economiche significative (diverse dalle puntate) e contratti intelligenti. Gli shard non saranno più contenitori di dati di base e cominceranno ad assomigliare alle caratteristiche di Ethereum 1.0, come la macchina virtuale e i contratti intelligenti. Le specifiche per questa fase devono ancora essere finalizzate e, a nostro avviso, è necessario un significativo lavoro di sviluppo affinché la rete sia pronta per la fase 2.

Il sistema a senso unico

Quando Ethereum 2.0 verrà lanciato, ci saranno due reti Ethereum che operano in parallelo, Eth1 e Eth2. Inizialmente, sarà possibile convertire le monete Eth1 in Eth2, tuttavia non sarà possibile riconvertire Eth2 in Eth1. Pertanto, in teoria, Eth2 dovrebbe scambiare ad un prezzo inferiore o uguale a quello di Eth1. Tuttavia, nelle prime fasi della transizione è improbabile che Eth2 avrà anche un prezzo o sarà supportato dagli scambi, in quanto la moneta non può essere utilizzata per qualcosa di diverso dallo staking. Le transazioni di base non sono nemmeno possibili.

Per trasferire Eth1 in Eth2, si deve usare il contratto di deposito su Eth1. Questo contratto essenzialmente distrugge le monete su Eth1 e poi questa distruzione può essere utilizzata come prova per emettere nuove monete Eth2. Le monete sono essenzialmente bruciate per sempre, anche se potrebbe essere possibile recuperare le monete sulla catena Eth1 con un cambio di protocollo hardfork. Le monete trasferite in Eth2 vanno automaticamente nel pool del validatore della proof of stake. Come spiegato nel nostro pezzo sulla prova di partecipazione nel 2018, l’idea dietro la prova di partecipazione è che il peso del voto e le ricompense attribuibili agli agenti di consenso sono determinati dal valore delle monete in gioco. Nella specifica Eth2, ogni agente di stake richiede 32 ETH. Se vengono inviati più di 32 ETH al contratto, allora lo staker non riceve benefici da queste monete aggiuntive e se vengono inviati meno di 32 ETH, lo staker non si attiva. Pertanto, per trasferire ETH in Eth2, si dovrebbe farlo in lotti di 32 monete. Ogni lotto di 32 ETH può essere uno staker separato.

Emissione di monete

Come spiegato sopra, ci saranno due sistemi paralleli esistenti contemporaneamente. Eth1 continuerà come una catena proof of work mentre Eth2 opererà sotto il nuovo sistema proof of stake. Durante questo periodo, entrambi i gruppi di agenti di consenso, minatori e stakers, hanno bisogno di incentivi. Pertanto il tasso di inflazione di Ethereum aumenterà, almeno temporaneamente, fino a quando i due sistemi alla fine si fonderanno. Questo può essere considerato uno svantaggio, ma può essere un prezzo da pagare per assicurare una transizione di successo a Eth2.

Per quanto riguarda il programma di inflazione di Eth2, il tasso di emissione dipenderà dalla quantità di Ethereum che partecipa al processo di picchettamento. Il programma di emissione annuale sarà basato sul seguente algoritmo:

181√Eth2

Dove Eth2 è il numero di Ethereum che partecipano al pool di validazione della proof of stake. Queste cifre sembrano provenire da questo post di Vitalik Buterin nell’aprile 2019.

L’idea dietro la formula di cui sopra è che più ETH vengono trasferiti in Eth2, più nuove monete saranno emesse, tuttavia il rendimento dell’investimento disponibile diminuirà più monete sono puntate. Il programma di inflazione può essere visto qui sotto:

Figura 1 - Tasso di inflazione di Ethereum 2.0
ETH staking Emissione massima annuale Tasso d’inflazione annuo massimo Eth2
16,000 22,897 143.1%
100,000 57,243 57.2%
1,000,000 181,019 18.1%
10,000,000 572,433 5.7%
100,000,000 1,810,193 1.8%
134,217,728 2,097,152 1.6%
(Fonte: BitMEX Research)
(Note: C'è una soglia minima di circa 16.000 ETH richiesta per far partire la catena beacon)
Figura 2 - Tasso di inflazione di Ethereum 2.0

(Fonte: BitMEX Research)

La giustificazione del programma di emissione è tutta una questione di incentivi. Le ricompense dovrebbero assicurare che inizialmente ci sia un grande incentivo a spostare le monete in Eth2 e a puntare, mentre l’incentivo a passare diventerebbe sempre più basso man mano che più monete si spostano, poiché sono necessarie meno monete se Eth2 ha già successo. Questo assicura che abbastanza monete si spostino in modo tale che la nuova rete sia di dimensioni significative, mentre l’emissione di monete non diventa troppo alta se Eth2 si dimostra popolare.

Naturalmente con tutta questa nuova emissione di monete qualcuno potrebbe pensare come questo si inserisca nel piano originale di Ethereum di “inflazione lineare permanente”.

Il modello di crescita lineare permanente dell’offerta riduce il rischio di ciò che alcuni vedono come un’eccessiva concentrazione di ricchezza in Bitcoin, e dà agli individui che vivono nel presente e nelle epoche future una giusta possibilità di acquisire unità di valuta, mentre allo stesso tempo scoraggia il deprezzamento dell’etere perché il “tasso di crescita dell’offerta” come percentuale tende ancora a zero nel tempo.

(Fonte: Ethereum Whitepaper)
Ci sono potenziali fattori che potrebbero mitigare l’impatto di questo tasso di inflazione potenzialmente elevato:

Nella fase 1 si prevede che il sistema a pagamento abbia due elementi, una tassa di base in cui le monete vengono distrutte e un altro elemento, la tassa premio, che viene assegnato agli stakers. Queste monete bruciate ridurranno il tasso di inflazione.
Se i validatori non partecipano al processo di convalida, per esempio se i nodi vanno in crash o si disconnettono dalla rete, le ricompense per le puntate diminuiranno.
Se i validatori si comportano in modo inappropriato e si comportano male possono ricevere delle penalità e anche queste monete verrebbero bruciate.
I meccanismi di cui sopra potrebbero portare alla distruzione di Ethereum che potrebbe smorzare l’impatto dell’elevato tasso di inflazione, tuttavia è difficile prevedere l’entità di questi fattori e quindi c’è una significativa incertezza sul tasso di emissione.

Per quello che vale, non siamo sicuri dell’efficacia di bruciare una parte delle commissioni di transazione. Sembra più logico da un punto di vista economico che gli interessi degli agenti di consenso e degli utenti siano allineati, con gli utenti che pagano una tassa agli agenti di consenso per un servizio. Se gli agenti di consenso sono finanziati interamente dalle commissioni degli utenti piuttosto che dalle ricompense dei blocchi, i conflitti tra i due gruppi potrebbero essere meno probabili. Allo stesso tempo, tentare di determinare arbitrariamente il corretto programma di ricompensa può risultare in inefficienze, rispetto a lasciarlo al mercato delle commissioni. Bitcoin naturalmente non è ancora riuscito in questo, con ricompense a blocchi ancora significative. Per quanto riguarda Ethereum, a lungo termine potrebbe essere più sostenibile che tutte le commissioni di transazione vadano agli staker e il programma di inflazione potrebbe essere ridotto per compensare l’impatto di questo. Dopo tutto, i validatori sono lì solo per garantire l’attività degli utenti, se gli utenti non stanno facendo nulla non hanno bisogno di sicurezza. Questo potrebbe rendere più facile il difficile equilibrio tra sicurezza e inflazione.

Fusione delle catene

Il piano finale, e a nostro parere questo potrebbe essere di diversi anni lontano, è quello di fondere Eth1 e Eth2 di nuovo nello stesso sistema. Questo funzionerà essenzialmente rendendo Eth1 un frammento all’interno di Eth2. Sarà quindi possibile trasferire Ethereum tra shard, in entrambe le direzioni e le due monete si saranno fuse. È previsto che gran parte dell’attività che si verifica attualmente su Eth1, potrebbe ora continuare all’interno di questo shard Eth2.

Il prossimo passo potrebbe essere che i sistemi di consenso alla fine si fondano. Lo shard Eth1 potrebbe gradualmente passare al proof of stake. All’inizio, la prova di lavoro potrebbe continuare, ma dopo un certo numero di blocchi, per esempio ogni 100 blocchi, il consenso del blocco potrebbe essere determinato dal sistema della prova di partecipazione. La prova di partecipazione avrebbe essenzialmente la precedenza sulla prova di lavoro e poi all’interno di questi punti di controllo della prova di partecipazione, la prova di lavoro potrebbe regnare sovrana. Alla fine la prova di lavoro potrebbe essere completamente eliminata e le ricompense di blocco della prova di lavoro non sarebbero più necessarie e potrebbero essere spente. Questo darebbe agli utenti e agli investitori di Ethereum una maggiore certezza sul programma di inflazione.

Costanti di rete proposte

La seguente è una serie di alcune delle costanti nella specifica Eth2 che crediamo siano più significative e informative.

Fase Potenziali impostazioni iniziali delle configurazioni di rete Value

0



Intervallo di tempo di blocco


12 seconds

richiesta iniziale di ETH per staker 32
Numero di blocchi per punto di controllo 32
Dimensione target del gruppo di staker (minimo richiesto) 128
Dimensione massima del gruppo di staker 2,048
Numero massimo di comitati per slot (Da rimuovere nella fase 1)


64



1



Numero di shards


64

Massimo numeri di shards riferito a ogni blocco di beacon 64
Dimensione obbiettivo del gruppo diShard staker 128
Periodo di uscita del gruppo di Shard staker 27 hours
Dimensione massima shard block


1 MB


Proof of stake

La proof of stake è l’idea generale di una regola di scelta della biforcazione basata sulla partecipazione più accumulata (cioè la catena con più monete che vota per essa). C’è naturalmente la questione di come strutturare questo processo di voto. I principi fondamentali alla base del sistema di voto per Eth2 sono invariati rispetto alle proposte Ethereum del 2018 e si basa ancora sull’idea di Casper Friendly Finality Gadget. Tuttavia, il sistema è stato ora aggiornato, basato su una combinazione del Casper Friendly Finality Gadget e del Latest Message Driven Greedy Heaviest Observed Subtree Fork choice rule (Casper FFG & LMD GHOST Fork Choice Rule).

Cercheremo di spiegare la meccanica di base del sistema di voto scomponendolo in diverse parti componenti. La prima cosa da considerare è che c’è un grande pool di staker, ognuno rappresentato da un massimo di 32 ETH (32 ETH sono necessari per attivare uno staker e questo può scendere fino a 16 ETH fino alla disattivazione). Questo pool non vota direttamente sui blocchi, invece è organizzato in vari comitati di voto, i cui membri sono selezionati casualmente dal pool più ampio.

La ragione dei comitati è che non tutti gli staker possono partecipare al voto per ogni blocco, altrimenti la blockchain conterrebbe troppi dati sui voti e non sarebbe scalabile. I comitati sono anche utili per l’aggregazione dei dati di voto in pezzi gestibili. Quindi un sottoinsieme casuale di stakers viene scelto per votare in questi comitati. La specifica Eth2 ha scelto 128 come numero target di stakers in ogni comitato, che è più di un minimo desiderato. L’idea è che questo sia un numero abbastanza grande da fornire garanzie probabilistiche sulla selezione dei blocchi. Le firme che firmano i voti possono essere aggregate, per ridurre lo spazio dei blocchi richiesto e assicurare che la rete possa scalare.

I comitati sono selezionati a caso, da un sistema di tipo “RanDAO”. Questa selezione casuale è determinata da un seme, che viene aggiunto ogni volta che viene proposto un blocco. Per difendersi dagli attacchi “stake grinding” il proponente del blocco ha solo due opzioni che possono influenzare il seme, proporre un blocco o no. Pertanto la possibilità di manipolazione è limitata.

Oltre a suddividere gli staker in comitati, c’è un’altra sottocategorizzazione da considerare. Ci sono blocchi e blocchi di controllo. Uno ogni 32 blocchi è un blocco di checkpoint e il periodo tra questi checkpoint è talvolta chiamato un’epoca. All’interno di ogni epoca ci sono 32 intervalli di tempo di 12 secondi in cui i blocchi possono essere proposti. Ogni epoca ha quindi 32 set di slot per 32 comitati. Dopo ogni epoca i membri dei comitati sono tutti mescolati. Ogni timeslot ha un comitato (con una dimensione target o “minimo desiderato” di 128 membri), un membro che ha il diritto di monopolio di proporre un blocco nel periodo di 12 secondi e gli altri membri di votare sul blocco. Questa votazione è talvolta chiamata attestazione.

Questa allocazione degli agenti di palo in comitati è illustrata nella figura 3 qui sotto:

Figura 3 – Allocazione illustrativa degli agenti di picchettamento nella catena di beacon (Supponendo un comitato per slot)

In realtà la situazione è un po’ più complicata di quanto implichi il diagramma precedente. Durante la fase 0 ci possono essere fino a un massimo di 64 comitati di validatori per slot, non solo uno come implica il diagramma precedente. Pertanto, se ogni comitato ha 128 membri, ogni epoca potrebbe contenere un insieme di fino a 262.144 stakers, che rappresentano circa 8,4 milioni di ETH.

Ogni agente di palificazione è assegnato esattamente a un comitato e più stakers ci sono, più grandi sono i comitati. La dimensione massima del comitato è di 2.048 che equivale all’incirca alla fornitura totale di Ethereum utilizzata in ogni epoca (64 comitati * 32 ETH * 32 slot * 2.048 stakers per comitato = 134,2 milioni di ETH), quindi ci sarà sempre abbastanza spazio nei comitati, non importa quante persone scelgono di puntare. La figura 4 qui sotto illustra come il numero di comitati e il numero di membri per comitato varia con il numero di ETH nel pool di puntate. Mostra che man mano che il pool di puntate cresce, prima il numero di comitati aumenta fino a 64 e poi (quando il pool di puntate è di circa 8,4 milioni di ETH) la dimensione dei comitati inizia ad aumentare.

Figura 4 - Numero di comitati e numero di membri per comitato

Per determinare quali blocchi hanno il maggior numero di voti, è necessario sommare tutti i voti in tutte le commissioni. Se gli elettori si comportano bene, possono ricevere ricompense da un pool di monete Ethereum di nuova emissione. D’altra parte, se gli elettori conducono certi tipi di comportamento malizioso, possono ricevere una penalità e perdere una parte della loro quota. Queste penalità per il comportamento malizioso sono progettate per prevenire cose come uno staker che vota per due blocchi in conflitto. Tuttavia, può essere legittimo votare per blocchi in conflitto in certi scenari e quindi le regole di penalizzazione non sono semplici, discutiamo queste regole più avanti nel rapporto. Gli stakers possono anche perdere ricompense per essere andati offline.

Finalizzazione

Quando i membri del comitato votano per un blocco, non votano solo la particolare proposta di blocco, ma devono anche fare riferimento e votare per un particolare blocco storico di controllo. O più precisamente il riferimento alla transizione da un blocco di checkpoint ad un altro (un checkpoint di origine e un checkpoint di destinazione). È questo meccanismo che aiuta a dare l’assicurazione che il processo di voto è stato risolto. Ci sono quindi essenzialmente due procedure di voto a prova di palo che si verificano, una dentro l’altra. La figura 5 sotto illustra i due tipi di votazione che avvengono e in quali blocchi questi voti possono essere memorizzati.

Figura 5 - Voto e riferimenti assumendo una comunicazione perfetta (Assumendo un comitato per slot)

Un blocco può diventare “giustificato” se un blocco di controllo è costruito sopra di esso e più di due terzi dei membri della commissione fanno riferimento a quel punto di controllo nei loro voti, attraverso l’indice di tutte le commissioni in un’epoca. Questo risultato può essere raggiunto al più presto a due terzi del percorso di un’epoca. La fase successiva è la finalizzazione, un blocco è finalizzato quando la blockchain contiene due blocchi giustificati dopo di esso. Quindi nella maggior parte degli scenari, dove la soglia dei due terzi del voto è raggiunta ragionevolmente velocemente grazie a forti canali di comunicazione, un utente dovrà aspettare circa un’epoca (6,4 minuti) per la giustificazione e due epoche (12,8 minuti) per la finalizzazione. Questo è illustrato nella figura 6 qui sotto.

Figura 6 - Processo di giustificazione e finalizzazione nella catena dei beacon nello scenario normale

Condizioni di slashing

Come abbiamo detto sopra, le condizioni di slashing non sono semplici, gli elettori non possono essere semplicemente puniti per aver votato per due blocchi contrastanti. Ci sono quindi tre scenari in cui gli elettori possono essere tagliati.

Condizioni in cui lo slashing è possibile:

  1. Un produttore di blocchi che propone due proposte di blocchi in conflitto all’interno del suo slot assegnato.
  2. Produzione di due voti che contengono riferimenti conflittuali a transizioni di blocchi di controllo alla stessa altezza.
  3. Produzione di due voti con riferimenti sovrapposti a transizioni di blocchi di controllo. Per esempio un voto che fa riferimento alla transizione dal blocco di checkpoint 1 al blocco di checkpoint 4 e un voto che fa riferimento a una transizione dal blocco di checkpoint 2 al blocco di checkpoint 3. Si potrebbe pensare che questa regola dovrebbe essere sostituita da una regola più ovvia, che tutti i riferimenti di transizione di blocco dovrebbero essere in sequenza, tuttavia è possibile che un nodo onesto possa mancare un blocco di checkpoint e un voto fuori sequenza possa essere legittimo. Questo comportamento è illustrato nella figura 7 qui sotto.
Figura 7 - Esempio di una condizione di slashing - Riferimenti di transizione di checkpoint sovrapposti/incrociati

Valutazione del processo di proof of stake

Si sostiene che dopo la finalizzazione gli utenti possono avere forti garanzie che le loro transazioni non possano essere spese due volte. Tuttavia, questi sistemi sono estremamente difficili da valutare, certamente quando si valuta il grado di convergenza e di finalizzazione.

È possibile che tutto questo processo di comitati di voto, indici dei comitati di voto, transizioni dei blocchi di controllo e attesa di due epoche per la finalizzazione sia un’astrazione non necessaria, semplicemente rompendo il sistema di voto della prova di partecipazione in diversi componenti per aggiungere complessità e offuscare il fatto che il modello di sicurezza è fondamentalmente rotto, a causa del problema del nulla in gioco. D’altra parte, forse spezzare il processo della prova di partecipazione in questi sottocomponenti aggiunge realmente caratteristiche di sicurezza alla rete. Sulla bilancia delle probabilità, pensiamo che i vari aspetti di questi processi di voto possano migliorare la sicurezza in qualche misura. La complessità del processo, come i giri di puntate all’interno dei giri di puntate, assicura che alterare i clienti di puntata a qualsiasi comportamento non convergente di massimizzazione del profitto sia tecnicamente molto impegnativo, questo aggiunge un grado di sicurezza. Se questo renderà il sistema abbastanza robusto da sopravvivere e prosperare nel lungo periodo, è una questione molto aperta, a nostro avviso. Tuttavia, vorremmo avvertire il nostro commento e la nostra analisi mettendo in chiaro che la nostra comprensione di questo sistema è incompleta.

Si prega di notare che la nostra descrizione qui sopra è intesa come uno schema di base del processo, ci sono molte semplificazioni e aspetti del sistema che non abbiamo menzionato. Per esempio non abbiamo toccato questioni come l’entrata o l’uscita dal pool di scommesse, come vengono calcolate le ricompense e le penalità per ogni scommettitore, come gli informatori segnalano il cattivo comportamento, quanto spazio di blocco occupano tutti i dati di voto o come vengono aggregati e contati i voti di scommessa.

Sharding

Nella fase 1, gli shard vengono aggiunti al sistema. Il piano originale era di iniziare con 1.024 frammenti e questo è stato ridotto a soli 64. La catena del beacon è ancora considerata la catena principale o madre, solo che ora contiene anche collegamenti ai frammenti. Dato che ci sono 64 frammenti e ogni blocco beacon può collegarsi fino a 64 frammenti, l’ipotesi è che durante il normale funzionamento ogni blocco beacon possa collegarsi ad ogni frammento.

C’è quindi un riferimento a due vie in atto, i blocchi della catena dello shard fanno riferimento ai blocchi del beacon (con un hash dei blocchi del beacon) e i blocchi del beacon possono fare riferimento ai blocchi della catena dello shard (questo è chiamato un crosslink). E’ possibile che alcuni shard di riferimento possano mancare in alcuni blocchi beacon, tuttavia ogni blocco della catena shard deve fare riferimento alla catena beacon.

Figura 8 - Struttura illustrativa dei blocchi nel sistema shard di Ethereum (visualizzazione di due shard)

(Note: Le frecce blu rappresentano l’hash di un blocco, che è necessariamente incluso in ogni blocco. Le frecce grigie rappresentano un riferimento cross shard, che può essere incluso o meno nel blocco beacon. Se un blocco shard è saltato, un riferimento può essere incluso nel blocco beacon successivo, come mostrato sul lato destro del diagramma)
Va notato che nella fase 1, il sistema di sharding e il processo di staking diventano interconnessi. Le commissioni multiple di validazione per slot della fase 0 sono ora mappate sugli shard. Ogni shard ha quindi il proprio comitato di voto per lo staker, che cambia durante ogni periodo di comitato proponente. Come per la catena di beacon, un membro del comitato è quindi incaricato di produrre un blocco in uno slot temporale assegnato, mentre i restanti membri del comitato votano su ogni proposta. Un punto chiave da considerare è che quando la catena del beacon fa riferimento ai blocchi dello shard tramite collegamenti incrociati, tutte queste informazioni di voto sono incluse nella catena del beacon.

Il diagramma qui sotto cerca di illustrare una possibile assegnazione degli stakers alle catene di shard. Nella fase 1, gli staker sono assegnati in modo casuale, o alla catena di beacon o a un particolare shard. Se sono in gioco meno di 8,4 milioni di ETH, non ci sono abbastanza agenti di palificazione per servire completamente tutti gli shard, e quindi gli shard potrebbero rallentare in qualche misura.

Figura 9 - Potenziale allocazione del comitato di staker di Ethereum tra gli shard

La catena di beacon è quindi lasciata con un solo comitato di validazione per slot. Tuttavia, come illustra la figura 8:

  • Ogni blocco shard contiene un hash dell’ultimo blocco beacon, e,
  • Il blocco beacon può contenere tutti i dati di voto degli shard (crosslinks).

Perciò tutte le votazioni e le puntate sulle catene shard possono anche essere usate nel calcolo della regola di scelta del fork e nel processo di finalizzazione della catena beacon principale. Il sistema di proof of stake funziona esattamente come prima, tranne che, piuttosto che la catena di beacon contiene informazioni di voto in un indice di comitati, contiene informazioni di voto da ogni shard.

Non ci sono blocchi di controllo all’interno delle catene dei singoli shard, né c’è un processo di giustificazione o finalizzazione. Invece, per ottenere l’assicurazione sulla finalità della transazione all’interno degli shard, si deve aspettare la catena beacon. Una volta che i blocchi rilevanti nella catena beacon diventano finalizzati, gli utenti della catena shard possono ottenere garanzie sulle transazioni negli shard.

I collegamenti incrociati hanno quindi tre funzioni:

  • Permettere che i voti degli stacker nei comitati di blocco della catena degli shard siano contati come voti nella catena principale dei beacon, e
  • Permettere la finalizzazione e la giustificazione dei blocchi della catena degli shard,
  • Tutte le altre forme di comunicazione tra shard, come il trasferimento di ETH o altri beni attraverso gli shard, anche se per quanto possiamo dire la meccanica di questo non è stata ancora completamente elaborata. Mentre questo argomento potrebbe non sorgere fino alla fase 2, questa è probabilmente un’altra area che risulta in un compromesso imperfetto tra scalabilità e usabilità. Si potrebbe anche sostenere che le sfide qui sono così grandi da mettere in discussione l’intero modello di sharding.

La struttura di sharding fornisce flessibilità a coloro che desiderano eseguire i nodi. Si potrebbe eseguire un nodo che elabora tutto, la catena di beacon e ogni shard. Si potrebbe eseguire solo la catena dei beacon, che include le intestazioni dei blocchi per alcuni blocchi dello shard. C’è anche una terza opzione, che è l’esecuzione di un nodo che verifica la catena beacon e un sottoinsieme selezionato degli shard. Se si sceglie di non eseguire un nodo che elabora ogni shard, allora si fa affidamento su altri per controllare l’autenticità dei processi in quegli shard, tuttavia l’idea è che alcuni utenti sceglieranno di convalidare quegli shard e quindi il grado di garanzia che si ha è probabilisticamente alto.

Conclusione

I possessori di Ethereum amano sperimentare sistemi nuovi e complessi, che si tratti di The DAO, ICOs, Maker e ora DeFi. Alcuni membri della comunità Ethereum ci hanno espresso la preoccupazione che la tecnologia Ethereum è ormai vecchia di cinque anni e sta rimanendo indietro, e vogliono qualcosa di nuovo. Ethereum 2.0 soddisfa quindi un bisogno di una comunità desiderosa di provare nuove idee. Pertanto prevediamo che una notevole quantità di fondi si sposterà in Ethereum 2.0 e guadagnerà le ricompense di puntata, forse miliardi di dollari di ETH.

Molti ci hanno chiesto quale impatto avrà il lancio di Ethereum 2.0 sul prezzo. Naturalmente a breve termine, una quantità significativa di ETH potrebbe essere bloccata all’interno della catena dei beacon, attratta dalla possibilità di guadagnare le nuove ricompense di blocco. Questo potrebbe limitare l’offerta di ETH sul mercato e far salire il prezzo, d’altra parte potrebbe semplicemente attrarre ETH da altri contratti dove sono considerati bloccati. Tuttavia, la vera domanda è se Ethereum 2.0 guiderà il valore a lungo termine e per questo, l’offerta non ha solo bisogno di essere limitata, ci deve essere una domanda sostenibile.

Affinché la rete Ethereum 2.0 abbia successo, la proof of stake e il sistema di sharding devono funzionare ed essere abbastanza convincenti da attrarre i componenti economicamente significativi dell’ecosistema Ethereum. I contratti intelligenti e i sistemi DeFi dovrebbero scegliere quale shard è appropriato per loro e investire nell’aggiornamento della loro tecnologia per essere compatibili con le complessità e le limitazioni di un sistema sharded. Quindi ci vorranno molti anni prima che una parte significativa dell’ecosistema Ethereum possa fare il passaggio. Ethereum 2.0 è un progetto incredibilmente ambizioso e riteniamo altamente improbabile che possa avere successo come previsto, senza grandi intoppi.

Nello scrivere questo rapporto c’è una cosa che spicca su tutto il resto, Ethereum 2.0 è eccezionalmente complicato. Con così tanti comitati, shard e tipi di voto sembra ragionevolmente probabile che qualcosa andrà storto e che ci saranno ulteriori significativi ritardi. Tuttavia, nonostante tutti questi potenziali problemi, Ethereum 2.0 probabilmente vale ancora la pena provare. Se avrà successo, le potenziali ricompense sono considerevoli.

Disclaimer

Anche se molte affermazioni fatte in questa nota sono citate, non garantiamo l’accuratezza. Accogliamo con favore le correzioni.

Credits BitMex.com