Equivalenza EVM: la presentazione dello stack di Ethereum L2

EVM diventerà il prossimo standard all'interno del layer 2. Quali saranno i prossimi sviluppi legato ad uno dei principali protocolli del mondo blockchain?

zoltan tasi uNXmhzcQjxg unsplash scaled
Tempo di lettura: 14 minuti
  • L’equivalenza EVM (allineamento completo con le specifiche della macchina virtuale Ethereum) diventerà il prossimo standard universale nello spazio L2
  • Gli ultimi 6 anni di ricerca sulla scalabilità si riducono a una cosa: che tipo di “controlli respinti” potrebbero essere applicati?
  • Un ecosistema in crescita esponenziale semplicemente non potrebbe riprogettare attorno a un’interfaccia non EVM
  • Con la crescita di Optimistic Ethereum, si è scoperto che sempre più strumenti Ethereum si trovavano continuamente fuori portata, a causa di una vecchia filosofia di progettazione della compatibilità EVM
  • Agli albori di Internet, le incompatibilità tra i browser web (guardando te, IE) affliggevano lo sviluppo web e causavano la frammentazione degli sviluppatori e dell’ecosistema
  • Layer 2 ha promesso un futuro Ethereum multichain a lungo termine, con città vibranti che raggiungono in profondità la frontiera di questo nuovo cyberspazio

equivalenza EVM

Questo è un articolo sulla nostra convinzione che l’equivalenza EVM ( allineamento completo con le specifiche della macchina virtuale Ethereum) diventerà il prossimo standard universale nello spazio L2. 

Facciamo un breve preambolo riguardo alla criptovaluta e a cosa rappresentano le L2 in questo contesto. La nostra panoramica serve a offrire il giusto contesto per comprendere meglio quanto siano interessante i nuovi sviluppi.

Nel panorama delle criptovalute, infatti, sembra che le cose cambino molto in fretta. Sono talmente veloci che quasi si fa fatica a stare dietro a tutte le news che arrivano dal mondo della finanza decentalizzata. Il digitale, d’altra parte, è proprio così: da un lato una croce e dall’altro una vera e propria letizia.

Ci sono molte cose che gli appassionati delle monete digitali ancora non sanno o conoscono solo a metà.

Quindi, continua a leggere questo articolo per sapere tutti i particolari riguardanti l’equivalenza EVM. Oppure, come preferiamo dirla, Ethereum fino in fondo: come abbiamo imparato a smettere di re-implementare e ad amare lo stack di Ethereum.

Equivalenza EVM: una breve storia dei protocolli di controversia ottimistica

Innanzitutto, ricapitoliamo il percorso che abbiamo intrapreso per i rollup della generazione attuale.

Rollup alle origini

Le L2 ottimistiche riguardano tutte le controversie. Se pensi a Ethereum come a un tribunale onnipotente e decentralizzato, allora l’intuizione fondamentale della scalabilità di L2 è: “non andare in tribunale per incassare un assegno, vai solo se l’assegno rimbalza”.

In effetti, gli ultimi 6 anni di ricerca sulla scalabilità si riducono a una cosa: che tipo di “controlli respinti” potrebbero essere applicati?

All’inizio, solo un insieme prestabilito di parti poteva negoziare tra loro (i canali statali). Quindi, chiunque potrebbe effettuare transazioni, ma potrebbe anche essere censurato. Alla fine, grazie ai rollup siamo riusciti a risolvere anche la censura.

Prima dei rollup, sapevamo come eseguire contratti intelligenti su tutti questi modelli: semplicemente non lo facevamo affatto. Chi vuole eseguire Uniswap solo tra pochi amici o in un modo che possa essere censurato per una settimana? I rollup, invece, promettevano una vera esperienza L2 in stile Ethereum.

La compatibilità: inizio di una nuova era

Ovviamente, solo “promettere” una vera esperienza di livello 2 in stile Ethereum non crea effettivamente questa sorta di implementazione. Per Unipig, il primo AMM L2 in assoluto, è stato ricreato Uniswap utilizzando un codice personalizzato compatibile con il contratto di controversia cumulativo, non con l’EVM stesso.

Ciò era fattibile grazie al design relativamente semplice di Uniswap, ma non è di buon auspicio quando qualcosa di così semplice come una variabile Solidity non può più essere utilizzata.

Per i non sviluppatori, Uniswap è uno dei contratti intelligenti DeFi più semplici in circolazione. Ciò non promette nulla di buono, poiché anche Uniswap ha bisogno di una revisione per essere “compatibile con il rollup” fuori dagli schemi.

Ormai, Ethereum aveva superato da tempo la velocità di fuga. Un ecosistema in crescita esponenziale semplicemente non potrebbe riprogettare attorno a un’interfaccia non EVM.

Pertanto, è diventata responsabilità di L2 garantire che il sistema regolativo L1 fosse differenziato in maniera minima dall’EVM, oltre a fornire una scala “grezza”. Questo ha costretto i rollup a fare da pionieri contemporaneamente su due fronti:

  • Creazione di un’infrastruttura di rollup scalabile e pronta per la produzione
  • Risolvere il famigerato problema EVM-in-EVM

La completezza di Turing di Ethereum significava che sapevamo che poteva essere fatto, ma nel processo della ricerca effettuata abbiamo appreso che qualcosa avrebbe dovuto essere sacrificato per portare Ethereum a L2 in un lasso di tempo ragionevole.

Questo sacrificio sarebbe diventato noto come “Compatibilità” EVM.

L’argomento era semplice: fintanto che le app Ethereum potevano essere ragionevolmente portate per essere eseguite sul rollup, indipendentemente da come ciò fosse stato realizzato dietro le quinte, avremmo potuto catturare la velocità di fuga di Ethereum.

Un’onda d’urto …

Inizialmente, questo compromesso ha pagato. Nel 2020, c’è stata una vera e propria corsa per spedire l’OVM mentre gli utenti sono fuggiti da Ethereum ad altri concorrenti di livello 1 che hanno abbandonato la sicurezza e i valori con il pretesto di “tariffe economiche più vantaggiose”. La rete principale è stata completamente abbandonata a gennaio e, negli ultimi 10 mesi, si è notevolmente risparmiato agli utenti centinaia di milioni di dollari in diversi milioni di transazioni.

Ma la velocità di fuga generata dagli effetti di rete di Ethereum assume molte forme e il crescente utilizzo ha evidenziato un altro componente di L1-Ethereum che mancava ad altri L1 e L2: l’infrastruttura. Negli ultimi 6 anni, la comunità globale di Ethereum lo ha portato da un prototipo appena accennato a un qualcosa che rappresentava molto di più:

  • Migliaia di strumenti di sviluppo sono stati profondamente integrati nell’EVM
  • Aziende da miliardi di dollari sono nate esclusivamente per servire e migliorare il software dei nodi
  • Ethereum stesso è diventato sempre più veloce

L’ondata di effetti di rete di Ethereum sta solo diventando sempre più grande. Poiché tutto è open source, ci si potrebbe aspettare che queste enormi vittorie si applichino anche agli Ethereum L2.

… o anche no!

La compatibilità EVM non è la stessa dell’equivalenza EVM e accontentarsi della mera compatibilità significa che sei costretto a modificare, o addirittura a reimplementare completamente, il codice di livello inferiore su cui si basa anche l’infrastruttura di supporto di Ethereum. Se gli L2 vogliono cavalcare l’ondata di effetti di rete infrastrutturali di Ethereum, devono adattarsi all’equivalenza EVM.

Con la crescita di Optimistic Ethereum, si è scoperto che sempre più strumenti Ethereum si trovavano continuamente fuori portata, a causa di una vecchia filosofia di progettazione della compatibilità EVM.

Si poteva fare di meglio, e questo era piuttosto chiaro a tutti. Per supportare veramente le masse, c’era bisogno di qualcosa che non fosse solo compatibile con i contratti EVM, ma che fosse invece fondamentalmente equivalente all’EVM stesso.

L’equivalenza EVM è il modo in cui si colma il divario tra gli effetti di rete infrastrutturali di Ethereum L1 e l’ambiente di esecuzione di Ethereum L2.

Equivalenza EVM: cavalcare l’ondata di adozione di Ethereum

 

equivalenza EVM

Per comprendere davvero bene l’entità della notizia e avvicinarci all’interesse dei non addetti ai lavori, ecco che diamo risposta in breve ad alcune delle domande che potresti porti su questo argomento. Le più importanti sono, naturalmente:

  • Cos’è l’equivalenza EVM
  • Perché è una cosa “buona e giusta”
  • Come è stata raggiunta

Cos’è l’equivalenza EVM?

In breve, l’equivalenza EVM è la completa conformità con il libro giallo di Ethereum, la definizione formale del protocollo. Per definizione, il software L1 Ethereum deve essere conforme a questa specifica.

Ciò significa che, fino alle profondità più profonde, lo stack Ethereum esistente ora si integrerà anche con il sistema L2. Ogni debugger, ogni catena di strumenti, ogni implementazione del nodo. Si è ritenuto che qualsiasi L2 che offra ogni tipo di esperienza EVM dovrà soddisfare questo standard: ogni cosa meno di questa sarebbe inaccettabile.

Perché l’equivalenza EVM è “cosa buona e giusta”?

Questo è stato l’inizio di tutto: la costruzione del software su Geth, l’implementazione più solida e popolare di Ethereum. Questo era l’unico percorso praticabile per un Ethereum L2 pronto per la produzione.

L’OVM v1 ha introdotto un sistema di containerizzazione che si trovava sopra l’EVM di Geth e ha contribuito a evitare la noiosa reimplementazione dell’intero EVM su L1.

Questa combinazione ha ottenuto alcune vittorie iniziali, ma poiché EVM non supporta in maniera naturale la containerizzazione, essa non era gratuita. Anche per tutti i team incentrati sui geth, i cambiamenti hanno iniziato a sommarsi. Con la crescita di Optimistic Ethereum, l’incredibile potere dell’equivalenza non poteva essere ignorato:

  • Progetti come Solidity, Vyper e Hardhat hanno lavorato disinteressatamente alle versioni OVM dei loro strumenti di sviluppo, ma si è presentato il rischio di frammentare questi team già con risorse limitate. Questo ha insegnato che i team avrebbero sempre dovuto dedicare lavoro al mantenimento di codebase non equivalenti
  • Con ogni riga di codice modificata, è diventato più difficile adottare implementazioni sperimentali come Erigon lungo la linea. Questo ha insegnato che i team avrebbero sempre dovuto dedicare del lavoro all’integrazione delle future implementazioni dei clienti.
  • La reimplementazione di parti dell’EVM ha introdotto l’overhead del gas rispetto alle versioni esistenti e iper-ottimizzate. Questo ha insegnato che ridurre al minimo i costi del gas richiedeva una filosofia di progettazione equivalente a EVM.

Era tempo di perseguire un approccio migliore, anche se richiedeva un po’ di fatica.

Come è stata raggiunta l’equivalenza EVM?

Per fortuna, si è trovato un modo migliore rispetto alla noiosa reimplementazione dell’EVM nell’EVM. Ecco cosa si può fare per aggirare l’ostacolo e rendere tutto il più fluido e semplice possibile.

Allora, in pratica si dovrebbero apportare alcune modifiche a L2-ify Ethereum. In particolare, a come vengono generati i blocchi.

Su L1, i nodi utilizzano un meccanismo di consenso proof-of-work per determinare i blocchi; su L2, i batch di transazioni vengono applicati tramite batch inviati a una “catena madre” (L1 Ethereum). Se una L2 usasse la propria prova di lavoro, allora sarebbe una L1. Quindi l'”equivalenza” è fondamentalmente priva di senso a questo livello.

Un modello fondamentale della modularizzazione blockchain sta separando il consenso dall’esecuzione, ovvero avere processi diversi per determinare ed eseguire il blocco successivo.

Si possono prendere in prestito questo modello per l’uso in L2. Fondamentalmente, si definisce solo una funzione che accetta blocchi L1, li elabora per le transazioni di rollup e genera blocchi L2 – esattamente nello stesso formato dei blocchi L1. Da lì in poi, l’esecuzione L2 può essere definita equivalente a L1.

Quindi, qual è lo stato della modularizzazione consenso/esecuzione tra le implementazioni client L1 esistenti? Bene: sta per essere standardizzato su tutte quante le implementazioni di Ethereum.

A quanto pare, l’unione di ETH2 richiede esattamente la stessa astrazione dei rollup equivalenti di EVM. La catena di beacon svolge esattamente lo stesso ruolo di “catena padre” che L1 svolge per i rollup. Ciò renderà estremamente semplice l’inserimento dei client L1 per l’utilizzo in L2.

Applicazione dello standard

Ok, abbiamo spiegato perché l’equivalenza apre le porte a un’astrazione potente e modulare e a un’implementazione client semplicissima. Ma come possiamo effettivamente far rispettare questo on-chain?

Allora, prima di tutto, la caratteristica principale (che è anche il suo potere) di questa modularizzazione è quello di essere flessibile. Ciò vuol dire che, a patto che una soluzione sia equivalente a EVM, possiamo usarla. Ciò significa, inoltre, che i miglioramenti alla prova di frode e persino le prove a conoscenza zero equivalenti a EVM, quando diventano fattibili, possono essere banalmente inseriti nello stack off-chain esistente.

A breve termine, però, abbiamo bisogno di qualcosa di fattibile oggi, ed è stato trovato proprio questo appunto. Una soluzione sarebbe quella di implementare un’implementazione equivalente a EVM perfetta in Solidity. Ma l’EVM è una bestia complessa con molte istruzioni VM, il che rende questa impresa significativa. Inoltre, i futuri aggiornamenti dell’EVM dovrebbero essere re-implementati anche in Solidity.

La soluzione trovata finora: invece di implementare l’EVM in Solidity, implementare una VM con un set di istruzioni molto più piccolo e semplice ed eseguire l’EVM all’interno di questa VM durante le prove di frode. Per fare ciò, bisogna semplicemente compilare un interprete EVM esistente, come geth, da eseguire all’interno della VM più semplice.

Si è permesso a Geth di funzionare all’interno di un ambiente favorevole alle controversie. Poiché Geth è equivalente a EVM, lo è anche quell’ambiente. Questo consente di ignorare la reimplementazione dell’EVM on-chain e di rendere il sistema a prova di futuro contro futuri aggiornamenti all’EVM.

Gli esperti stanno lavorando con George Hotz, un esperto di compilatori, per creare il primo sistema di prova equivalente a EVM. I progressi sono a dir poco entusiasmanti: il sistema può già eseguire tutti i blocchi L1 dall’hard fork di Londra. Eseguire blocchi L1 attraverso una prova di frode è un pensiero divertente e controintuitivo, ma questo è esattamente ciò che serve perché sia equivalente.

Ci sono tantissime che si potrebbero dire nel dettaglio di questa interessante ricerca di lavoro che gli esperti stanno svolgendo, ma ci limitiamo a restare sul generico, per non annoiare con tecnicismi chi non comprende in profondità i meccanismi di questa applicazione.

Il futuro di Ethereum

equivalenza EVM

Se Ethereum vuole raggiungere il suo futuro incentrato sui rollup, i rollup devono diventare incentrati su Ethereum.

Questo è ciò che offre l’equivalenza.

Le prove di frode non servono più: lunga vita a loro!

Questo design modulare incentrato su Geth non è solo un’implementazione elegante da utilizzare, ma è un enorme passo avanti verso la mercificazione dell’infrastruttura a prova di frode. Oggi, progettare e lanciare in sicurezza un rollup richiede una conoscenza approfondita dei giochi di disputa L2 e del modo in cui funzionano insieme al software del nodo. Ciò limita fortemente l’innovazione: immagina un mondo in cui ogni sviluppatore web dovesse anche essere un esperto di reti IP, amministrazione di sistema e produzione di microchip.

I rollup del futuro saranno così semplici che non ci vuole un esperto L2 per implementarne uno. Ciò significa che gli L2 non competeranno più su come o se forniscono sicurezza, ma su cosa forniscono sicurezza. Ciò include competere su:

  • Prestazioni, stabilità e uptime
  • Effetti di rete, specializzazione dell’ecosistema e comunità
  • Strumenti di prevenzione e sequenziamento MEV

In sintesi, ciò significa che i rollup equivalenti EVM sono in competizione sulla decentralizzazione. Questa è un’enorme vittoria per la democratizzazione in tutto l’ecosistema e un passo importante per rendere il nostro intero settore più anti-fragile e resistente alla censura.

Significa anche che il nostro team può finalmente concentrarsi sulla nostra competenza principale, la parte più importante, costruire i geth L2 più veloci, affidabili e sicuri che il mondo abbia mai visto.

Le catene della compatibilità con Ethereum sono disattivate.

#ETTheStandard

Il potere dell’equivalenza EVM si riduce alla standardizzazione.

In un mondo multi-catena, “scrivi una volta, distribuisci ovunque” diventa fondamentale.

Avere molte catene “compatibili”, ognuna leggermente diversa dall’altra, porta alla frammentazione: si passa dalla necessità di un singolo team di esperti EVM che lavori su un’unica codebase, a team di esperti EVM per ogni codebase per ogni catena.

Vitalik ha paragonato l’EVM a Javascript anche quando l’ha svelato per la prima volta, e l’analogia si riflette particolarmente bene in questo contesto. Agli albori di Internet, le incompatibilità tra i browser web (guardando te, IE) affliggevano lo sviluppo web e causavano la frammentazione degli sviluppatori e dell’ecosistema.

Web3 riguarda il coordinamento e gli standard open source e l’equivalenza offre un percorso per quello che sta chiaramente emergendo come standard – l’EVM – per evitare di ripetere gli errori del passato.

E anche se questo standard si evolve, l’approccio di molti alle prove di frode significa che L2 può evolversi senza sforzo all’unisono. L1 e L2 avanzano insieme, mano nella mano. 

Questo vantaggio va in entrambe le direzioni: quando quasi tutti gli EIP di Ethereum possono essere adottati su L2 e i rollup diventano un nuovo entusiasmante ambiente di prova dal vivo per l’innovazione. Immagina un rollup che si trova da qualche parte tra una testnet incentivata e una mainnet, che dimostri nuovi tipi di transazione, precompilazioni ed EOF in natura, testando conseguenze impreviste prima che passino a L1.

Uno dei maggiori ostacoli della DeFi è che, prova tutto ciò che vuoi, non è possibile sostituire l’ambiente live di DeFi. Non puoi “ricreare” DeFi su una testnet, quindi quando vuoi testare le modifiche, è sempre “test in prod”.

L’equivalenza EVM ci consente di testare gli EIP in un ambiente live e apportare miglioramenti più sicuri e a lungo termine all’ambiente olistico di Ethereum, senza “hardfork incrociati”.

Ethereum a livelli più profondi

Di recente è stato lanciato il primo esperimento di finanziamento retroattivo dei beni pubblici. $ 1 milione di entrate del protocollo verranno presto assegnati a beni pubblici a beneficio di Ethereum. Alcune persone hanno chiesto perché questi soldi vanno a Ethereum in generale, e non solo all’ecosistema Ethereum Optimist da cui provengono.

Si spera che con una nuova comprensione dell’equivalenza EVM tu possa capire perché: è lo stesso ecosistema.

Layer 2 ha promesso un futuro Ethereum multichain a lungo termine, con città vibranti che raggiungono in profondità la frontiera di questo nuovo cyberspazio. Sebbene possiamo aspettarci che queste catene siano diverse e abbondanti, EVM Equivalence introduce una nuova connessione con Ethereum, non solo come livello di insediamento, ma ai livelli più profondi della loro composizione.

È Ethereum a livelli più profondi, e lo sarà sempre.

Per approfondire:

Bibliografia:

Scritto da
Contributore
Subscribe
Notificami
0 Commenti
Inline Feedbacks
View all comments

Condividi l'articolo

Articoli correlati
0
Would love your thoughts, please comment.x
()
x