Ethereum in 30 minuti con Vitalik Buterin
Vitalik Buterin sull'evoluzione di Ethereum come computer mondiale decentralizzato, coprendo la Proof-of-Stake, la scalabilità dei layer 2, l'astrazione dei conti e il percorso futuro.
Date published: 12 novembre 2024
Vitalik Buterin, fondatore di Ethereum, apre la Devcon SEA con una panoramica completa dell'evoluzione di Ethereum come computer mondiale decentralizzato. Vitalik copre la Proof-of-Stake (PoS), la scalabilità dei layer 2, la diversità dei client e le applicazioni che definiscono la direzione futura dell'ecosistema di Ethereum.
Questa trascrizione è una copia accessibile della trascrizione originale del video (opens in a new tab) pubblicata dalla Ethereum Foundation. È stata leggermente modificata per facilitarne la lettura.
Introduzione (0:02)
Ottimo, quindi Ethereum in 30 minuti. Questa è una presentazione che ho tenuto praticamente a ogni singola Devcon sin dal lancio. La cosa interessante è come, man mano che l'ecosistema di Ethereum cambia, e man mano che il protocollo di Ethereum cambia, con il passare del tempo, anche i contenuti finiscono per cambiare parecchio. Se tornate all'equivalente di questa presentazione del 2015, sentirete parlare molto di blocchi uncle. Naturalmente, i blocchi uncle sono una caratteristica della Prova di lavoro (PoW). Ora abbiamo la Proof-of-Stake, e quindi non abbiamo più i blocchi uncle. Ovviamente, ora Ethereum ha anche i layer 2, e all'epoca questa presentazione non avrebbe contenuto affatto i layer 2. Ora sappiamo che i layer 2 sono metà della storia. Ethereum è prima di tutto un ecosistema in evoluzione, e i contenuti di questa presentazione continueranno a cambiare con l'evolversi della tecnologia, e anche con lo spostamento dell'enfasi dell'ecosistema dalla costruzione dell'infrastruttura di base a un'enorme attenzione sulle applicazioni.
Quindi, cos'è Ethereum? Innanzitutto, Ethereum è il computer mondiale. Chi qui ricorda che Ethereum è il computer mondiale? Questo è il punto in cui dovrei inserire quel meme in cui c'è il tizio con la pistola nello spazio che dice "lo è sempre stato", ma non ho mai capito perché dare a qualcuno una rivelazione così incredibile e bellissima debba avvenire nello stesso momento in cui gli si spara nello spazio a 20.000 chilometri da casa. Quindi non lo farò oggi. Ethereum è il computer mondiale. Lo è sempre stato e lo sarà sempre.
Oltre a questo, Ethereum è un'economia onchain incredibilmente vasta e diversificata. Fortunatamente, Josh, proprio prima di me, ha fatto un'ottima presentazione parlando di tutti i diversi aspetti dell'economia. Ethereum è anche una comunità globale incredibilmente grande e diversificata. Ethereum è molte cose. Penso che probabilmente dovrei anche mettere un'insegna lampeggiante con scritto "ETH è denaro", ma Ethereum è un sacco di cose.
Come funziona il computer mondiale? Il modo in cui la vedo è che il layer 1 è la macchina della fiducia, e il layer 2 è la GPU. Il layer 1 di Ethereum, ovvero la blockchain principale di Ethereum, è l'ancora che mantiene al sicuro il resto dell'ecosistema e lo tiene unito. Il layer 1 è il motivo per cui i layer 2 sono in grado di comunicare tra loro in modo trustless (senza fiducia). Almeno una volta che tutto sarà aggiornato alla Fase 2, sarete in grado di prendere un asset, emetterlo su Optimism, e poi spostarlo e conservarlo all'interno di uno smart contract su Arbitrum, e farlo con zero rischio di controparte. Il layer 1 non è lì per essere ultra veloce; non è lì per fare un milione di transazioni al secondo. Il layer 1 è prima di tutto lì per essere decentralizzato, per essere robusto e per essere qualcosa di affidabile.
Il layer 2 è la GPU. Il layer 2 siete tutti voi in questa stanza che fate parte di un qualsiasi layer 2. Chi qui fa parte di un layer 2? Evviva. Chi qui ha usato un layer 2? Chi qui ha usato il layer 1? Bene, siamo tutti utenti qui. Ci sono molte di queste diverse GPU, ed Ethereum, il computer mondiale, è in grado di tenersi insieme perché ognuna di queste GPU è collegata alla macchina della fiducia attraverso sistemi di prova ottimistici, prove a conoscenza zero, SNARK, STARK, plonk o qualsiasi altra parola d'ordine ci sia. Tutti questi sistemi garantiscono che il layer 1 sia in grado di verificare in modo trustless ciò che accade all'interno dei layer 2, e che anche i layer 2 siano in grado di leggere in modo trustless ciò che accade sul layer 1.
Decentralizzazione e diversità (5:11)
C'è un'importante interazione tra questi due componenti, e insieme formano l'Ethereum che è qui oggi. Cos'è l'L1? È una catena. Esegue la Proof-of-Stake. Non si rompe. Cosa significa questo? L'L1 di Ethereum è una catena che esiste complessivamente da più di nove anni ormai, ed esiste nella sua attuale forma Proof-of-Stake da poco più di due anni. Una delle cose veramente importanti che un livello di base deve avere è la chiara evidenza che si sta costruendo su un livello di base che è decentralizzato, aperto, robusto e che probabilmente manterrà queste caratteristiche in futuro.
Una parte di questo è l'essere lenti a cambiare. Non si vuole un sistema che improvvisamente si sveglia un martedì, ha una nuova gestione, e poi decide che inizierà a eliminare un sacco di applicazioni, cambierà il suo intero modello, aumenterà le commissioni di un fattore 10, o farà altre cose senza preavviso. Un'altra parte della decentralizzazione e della resilienza è il recupero. Ogni volta che sorge un problema, essere effettivamente in grado di riprendersi e migliorare le qualità del layer 1 nel tempo.
Se guardiamo un grafico delle pool di minaggio della Prova di lavoro di Bitcoin rispetto alle pool di staking della Proof-of-Stake di Ethereum, qui sono deliberatamente generoso, perché prima di The Merge, la decentralizzazione della Prova di lavoro di Ethereum era ancora più concentrata. Ciò che vediamo sul lato della Proof-of-Stake di Ethereum è un insieme piuttosto diversificato di pool di staking. Se si guarda da vicino Lido, ha una quota poco inferiore al 30%, ma Lido non è un singolo attore. È una DAO. Tecnicamente i depositi sono suddivisi tra circa 40 diversi operatori di nodo. È ragionevole pensarlo come una via di mezzo tra un attore e 40 attori.
Poi abbiamo i "non identificati". I non identificati non sono un attore, proprio come il tasto "any" (qualsiasi) sulla tastiera non è in realtà un tasto. In realtà non sappiamo cosa siano. Probabilmente ci sono molti staker solitari, staker di piccole imprese e varie minuscole pool di staking. L'L1 di Ethereum oggi ha in realtà un grado sorprendentemente alto di decentralizzazione nel suo design Proof-of-Stake, e questa è una proprietà che è solo migliorata nel tempo.
Una proprietà che in realtà è migliorata molto è la diversità dei client. Ethereum circa cinque anni fa era fondamentalmente solo Geth. Quando si ha un ecosistema dominato da un solo client, questo diventa di per sé un punto centrale di vulnerabilità. Chi qui ricorda gli attacchi DoS del 2016? Ti svegli alle 5:17 del mattino, ricevi una sveglia in stile militare, scendi nella stanza dei bottoni e qualcuno ha scoperto un bug nel client. L'intera catena si ferma. Lo risolviamo, e poi due o tre giorni dopo qualcuno trova un altro bug. Questo va avanti per un mese intero finché alla fine non dobbiamo fare un hard fork. Ma durante quel periodo, la capacità di Ethereum di avere due client diversi — all'epoca erano Geth e Parity — ha fondamentalmente salvato la catena. Ci sono state volte in cui un bug colpiva Geth ma non Parity, e volte in cui un bug colpiva Parity ma non Geth. Ethereum ha guadagnato molto dall'avere implementazioni software multiple, e questo è qualcosa che, al 2024, è probabilmente al suo livello migliore nella storia di Ethereum.
Client multipli e robustezza (10:40)
Se guardiamo ai client di consenso, che gestiscono la parte Proof-of-Stake di Ethereum, e ai client di esecuzione, che gestiscono la parte EVM di Ethereum, possiamo vedere che il singolo client con la quota di mercato più alta è Geth, che si aggira intorno al 50%. Cosa succede se c'è un bug in un qualsiasi client di Ethereum letteralmente oggi, in questo momento? Controllate se Ethereum è ancora in funzione. Immagino di sì — scommetterei il 99,99% su PolyMarket.
Caso uno: cosa succede se il client è Geth? Questo è il caso peggiore. Se il client è Geth e c'è un bug, realisticamente la catena si divide a metà. Una metà segue Geth, l'altra metà segue gli altri client, ma su entrambi i lati, la catena smette di finalizzare. Per finalizzare, servono i due terzi. Se si ha meno dei due terzi, i blocchi continuano a essere creati, ma la catena smette di finalizzare. Se sei un utente, un'applicazione o un'azienda in attesa di conferma su una transazione, rileverai che nessuna delle due catene sta finalizzando e rimarrai in attesa. Quello che succederà realisticamente è che gli sviluppatori principali entreranno in massima allerta, capiranno quale client ha effettivamente il bug e il bug verrà risolto. L'unica volta che questo è successo in Ethereum — curiosità, ho inviato io stesso la transazione che lo ha causato nel 2016 — praticamente tutto è stato risolto entro 12 ore.
Questo è il caso peggiore. In ogni altro caso, fondamentalmente se Prysm o Lighthouse hanno un bug, tutto ciò che accade è che Ethereum smette di finalizzare per circa un giorno al massimo, e poi torna praticamente alla normalità. Con qualsiasi altro client, non noterete assolutamente nulla. In termini di decentralizzazione pratica, avere più client è estremamente utile. Diversifica il potere e il controllo sull'ecosistema di Ethereum, specialmente in qualsiasi tipo di situazione controversa. Se si verificasse di nuovo un incidente tipo il fork della DAO, e un team di sviluppo facesse una scelta impopolare, gli utenti sarebbero in grado di passare molto facilmente ad altri client e aggirarli completamente.
Questo non è pratico in un ecosistema a client singolo. Avere un ecosistema multi-client diversificato è difficile da ottenere. A parte Ethereum, nessun'altra catena ha davvero ottenuto qualcosa di simile a questo. Anche al di fuori di Ethereum, come i browser web — i browser web dovrebbero essere uno standard aperto. La realtà è che oltre l'80% funziona su qualche fork di WebKit, e il resto funziona su Firefox, che sta valorosamente cercando di difendersi. Ethereum è riuscito ad andare contro questa tendenza.
Due anni fa, questo grafico era peggiore. La decentralizzazione di Ethereum non solo è in grado di non peggiorare, ma è anche in grado di rispondere attivamente ai problemi e di spingere in modo aggressivo per migliorarli nel tempo. Se state costruendo un'applicazione che deve esistere tra 5 o 10 anni, proprietà come queste sono esattamente ciò che cerchereste.
Se avete 32 ETH, o meno se vi unite a una pool, stanno comparendo sempre più opzioni di pool davvero interessanti — come lo squad staking di Obol, che vi permette di creare pool più piccole con i vostri amici. Ci sono molti modi diversi per diventare uno staker, e se lo fate, diventate parte di questa rete di nodi che proteggono la blockchain di Ethereum.
Verifica dei nodi e scalabilità (15:06)
Immagino che sia così che la propaganda della fondazione lo descrive — ha un simpatico elefante. Quindi un bell'applauso per l'elefante! Anche voi potete unirvi alla rete e aiutare a proteggerla. Anche se non siete uno staker, potete anche eseguire un nodo di Ethereum sul vostro computer e verificare volontariamente la catena.
Immagino che al giorno d'oggi nessuno abbia nemmeno computer desktop che assomigliano a questo. Ho inserito "computer desktop" in Stable Diffusion 3.5 e ha tirato fuori questo, quindi questo è il computer che vi beccate. Ma potete eseguire un nodo di Ethereum sul vostro computer per verificare la catena. Questo è davvero importante perché se ci sono utenti che verificano la catena, allora nemmeno una maggioranza o una super-maggioranza degli staker che agiscono insieme sono in grado di cambiare le regole per le persone senza che tutto si rompa. Le regole di Ethereum possono cambiare solo attraverso un hard fork che viene concordato tramite un ampio consenso della comunità.
Penso che questa sia una di quelle cose che è davvero prezioso preservare. Tra gli ecosistemi blockchain, sono fondamentalmente Bitcoin ed Ethereum ad avere davvero una forte cultura nel cercare di renderlo possibile e nel continuare a migliorare la capacità delle persone di verificare la catena. Ci sono molti aggiornamenti del protocollo in arrivo con il preciso obiettivo di renderlo ancora più semplice.
Domani sarete in grado di eseguire un nodo senza richiedere più di una piccola quantità di spazio di archiviazione utilizzando client senza stato (stateless). Questa è la parte "Verge" della roadmap. Abbiamo anche i light client. C'è un progetto chiamato Helios che esegue una forma di verifica leggera. La verifica leggera non è perfetta, ma significa che non dovete fidarvi di un nodo RPC per ricevere informazioni sulla catena. Il futuro a lungo termine è che vogliamo applicare gli SNARK all'intera catena. Una volta che avremo applicato gli SNARK all'intera catena, sarete in grado di verificare le regole di Ethereum su hardware estremamente grandi o minuscoli.
Fare staking con meno ETH è anche un requisito di ricerca molto attivo. 32 ETH sono ancora tanti. Mi piacerebbe che le persone potessero essere staker con 1 ETH. Ci sono diversi modi per farlo, come Orbit, o apportando miglioramenti all'aggregazione. Nel complesso, stanno arrivando molti miglioramenti del protocollo specificamente per rendere lo staking e l'esecuzione di un nodo più facili e accessibili.
Cosa gira sull'L1 di Ethereum? Alcune applicazioni di alto valore. Molta finanza decentralizzata (DeFi) di alto valore gira sull'L1. ENS è attualmente sull'L1, sebbene stia facendo sempre di più con i layer 2. Le persone detengono asset sul layer 1. Inoltre, il layer 1 gestisce le radici dei blocchi, le radici di stato e i sistemi di prova per i layer 2. Protegge i layer 2. Il layer 1 deve essere abbastanza potente da gestire le operazioni tra i layer, specialmente nel caso in cui un layer 2 fallisca. La differenza tra un layer 2 e una catena indipendente è che anche se il vostro layer 2 subisce un attacco del 51% o il team chiude, il layer 1 rimane lì a proteggere gli utenti. Gli utenti sono in grado di dimostrare la loro proprietà e il loro stato all'interno del layer 2 e di migrarli di nuovo sul layer 1.
Velocità dei L2 e roadmap (20:33)
Di recente, c'è stato un esperimento dal vivo con questo. dYdX v3 ha chiuso di recente, e i ragazzi di L2Beat hanno scritto la loro implementazione del software del meccanismo di salvaguardia. Senza alcun coinvolgimento da parte del team di dYdX, gli utenti sono stati in grado di prendere qualsiasi asset avessero all'interno di dYdX v3 e riportarlo sull'L1 di Ethereum. Uscire da un layer 2 senza il coinvolgimento del team non è solo teoria, è realtà.
Se l'L1 esegue le applicazioni e protegge i L2, cosa fanno i L2? I L2 forniscono velocità e scalabilità. Quest'anno, le commissioni dei layer 2 sono scese da circa 50 centesimi a meno di 1 centesimo. Fondamentalmente, per una classe incredibilmente ampia di applicazioni, Ethereum è passato da un giorno all'altro dall'essere praticamente inaccessibile all'essere completamente accessibile.
E per quanto riguarda i tempi di inclusione delle transazioni? Chi qui ricorda l'esperienza di inviare una transazione e aspettare un numero arbitrario di minuti — come 10, 40 o 90 minuti — affinché venisse inclusa? Chi qui ricorda di aver avuto questa esperienza in Ethereum negli ultimi 6 mesi? Ethereum è migliorato enormemente. Durante l'era della Prova di lavoro, il tempo di blocco medio in Bitcoin era di 10 minuti, ma in Ethereum il tempo di blocco medio è di 12 secondi. Tuttavia, c'era un fenomeno fastidioso per cui se si era sfortunati con il prezzo del gas, si doveva aspettare 10 o 20 minuti. L'EIP-1559, arrivato nel 2021, ha fondamentalmente risolto il problema.
Poi The Merge. A causa di un'interessante stranezza matematica, anche se il tempo medio tra i blocchi si è ridotto solo da 13 secondi a 12 secondi, il tempo medio tra l'invio di una transazione e la sua inclusione si è ridotto da poco più di 13 secondi a poco più di sei secondi. Problema di matematica per voi: scoprite perché questo è vero. Dopo The Merge, l'inclusione scende fondamentalmente a 6-30 secondi. Infine, con i layer 2, si hanno le pre-conferme, quindi i layer 2 sono abbastanza veloci da confermare la transazione entro un paio di centinaia di millisecondi. Come utente, puoi far parte di un'applicazione in cui accadono molte cose e, allo stesso tempo, le tue commissioni di transazione continuano a essere economiche.
La storia di Ethereum: novembre 2013 è stato il whitepaper. Luglio 2015 è stato il lancio. Intorno al 2018, Ethereum ha stabilito il suo design approssimativo per la Proof-of-Stake e il campionamento della disponibilità dei dati. I documenti originali per il campionamento della disponibilità dei dati e la codifica a cancellazione li ho scritti nel 2017.
Casper e scalabilità dei rollup (25:27)
Se scavate in GitHub, potete cercare la directory chiamata simple_casper e trovare contratti scritti in Serpent. Chi qui ricorda Serpent? Chi qui usa Serpent? Voglio dire, penso che Python sia davvero bellissimo, ma se volete quello, dovreste programmare in Vyper. Vyper è in realtà fantastico e ha continuato a migliorare parecchio. All'interno di quella repo nel 2017, abbiamo tentato di fare un'astrazione completa e scrivere la logica della Proof-of-Stake direttamente come uno smart contract. Abbiamo lanciato una demo alle 23:20 ora di Bangkok del 31 dicembre 2017 — volevamo far uscire qualcosa prima di Capodanno — e la demo ha finito per rompersi abbastanza in fretta. Erano i primi tempi.
Da allora, non sono più i primi tempi. All'inizio del 2018, è iniziato un enorme sforzo per costruire il sistema Proof-of-Stake e il sistema di scalabilità di Ethereum, che da allora si è trasformato nei blob che abbiamo oggi. Nel 2022 c'è stato The Merge, passando dalla Prova di lavoro alla Proof-of-Stake. Nel 2024, la prima parte del "Surge". Se guardate il diagramma della roadmap, vedrete due traguardi: scalabilità di base dei rollup e scalabilità completa dei rollup. La scalabilità di base dei rollup significa che i principali layer 2 devono raggiungere la Fase 1 e che i blob devono esistere. Entro il 2024, abbiamo effettivamente raggiunto questo obiettivo. Il passo successivo è avere un campionamento della disponibilità dei dati pienamente funzionante e i principali L2 che raggiungono la Fase 2. Penso che accadrà prima di quanto la gente pensi.
Ci sono ancora molti problemi da risolvere. Vogliamo aggiornamenti per la decentralizzazione. Chi qui vuole che Ethereum sia centralizzato? Ok, una persona vuole che Ethereum sia centralizzato. Resistenza alla censura — resistenza quantistica? Ok, una mano alzata. Forse sentite il bisogno del collasso affinché avvenga il rinnovamento! Ma abbiamo bisogno di ulteriori aggiornamenti per assicurarci che la decentralizzazione, la resistenza alla censura e la resistenza quantistica continuino a esserci.
Abbiamo anche bisogno di continui e progressivi aggiornamenti all'efficienza e alla scalabilità. Il layer 2 scalerà in modo estremamente rapido e la sua sicurezza migliorerà nei prossimi anni. Mi aspetto anche continui aggiornamenti progressivi, cauti ma definitivi, alla capacità del layer 1. Dobbiamo farlo per supportare l'attività dell'L1 e perché l'L1 funge da rete di sicurezza. La massima capacità teorica sicura dei L2 è proporzionale alla capacità dell'L1.
Avremo aggiornamenti al campionamento della disponibilità dei dati per aumentare il numero di blob che Ethereum può supportare. Da circa una settimana, Ethereum è effettivamente entrato in modalità di scoperta del prezzo per i blob, il che significa che il numero di blob utilizzati è esattamente uguale all'obiettivo a lungo termine. Ora dobbiamo scalare questo numero.
Abbiamo scalato abbastanza da rendere possibile un'ampia varietà di applicazioni: ENS, pagamenti dei consumatori, social network. Una categoria che penso sarà estremamente importante nel prossimo decennio è quella delle applicazioni miste finanziarie e non finanziarie — applicazioni che sfruttano il potere della finanza, ma in ultima analisi per servire fini che vanno oltre gli obiettivi finanziari. Ci sono molte applicazioni molto potenti qui. Abbiamo trascorso molto tempo a migliorare la tecnologia e continueremo a farlo, ma è al livello in cui ora è il momento di costruire. Grazie. [Applausi]