Make Ethereum Great Again, MegaETH
Di Matteo Bertonazzi
Prestazioni istantanee nel mondo Web3: ecco la promessa di MegaETH, il layer-2 Ethereum in fase di sviluppo che ha raccolto finaziamenti da nomi molto pesanti
Introduzione al focus on di oggi
Benvenuto Crypto investitore nella nostra sezione di analisi e approfondimento settimanale. Nella newsletter di oggi affrontiamo un nuovo L2 che punta a rivoluzionare l’intero settore dei rollup e che mira a raggiungere prestazioni in tempo reale, similmente a ciò che avviene nel Web2.0.
Promettere di portare prestazioni istantanee nel mondo Web3.0 è un proposito talmente ambizioso che hanno partecipato ai round di finanziamento di questo progetto nomi di rilievo come DragonFly Capital, il fondatore di EigenLayer e lo stesso Vitalik Buterin.
MegaETH, acronimo di Make Ethereum Great Again, è il layer 2 di cui parliamo oggi, una soluzione di scalabilità offchain per il layer principale; questa struttura sarà compatibile con la Ethereum Virtual Machine e potrà integrare tutte le applicazioni attualmente disponibili nell’ecosistema, come i principali DEX, lending market e via dicendo.
Parliamo al futuro perché attualmente è un progetto ancora in fase di sviluppo, con una testnet dedicata agli sviluppatori (Devnet). La testnet pubblica è pronta ad andare online nel mese di Settembre, ma voi lo sapete: noi di The Crypto Gateway adoriamo portarvi le novita più bollenti quando ancora non sono sotto i riflettori.
Ma quindi che cos’ha di così interessante questo ennesimo layer 2? Scopriamolo approfondendo tutti gli aspetti più importanti.
Questo focus on è stato pubblicato in esclusiva sulla nostra newsletter Whale Weekend del 19 luglio 2024. Iscriviti per non perdere articoli inediti, analisi, news della settimana e tanto altro ancora!
Indice
Partiamo dalle basi: la differenza tra L1 e L2
Non andremo a trattare ogni singolo meccanismo, altrimenti vi terremmo qui a leggere per tutto il weekend, bensì ci concentreremo su un concetto: il passaggio di stato.
Questa è in poche parole la fotografia istante per istante del totale controvalore degli asset detenuti da ogni indirizzo, così da poter verificare in maniera continua l’effetto delle transazioni e delle operazioni on-chain.
Ogni momento vengono generate e inviate alla rete migliaia di transazioni, queste devono essere ordinate e aggiunte nella sequenza corretta alla catena di blocchi, per farlo le blockchain utilizzano il meccanismo di consenso, il quale si occupa di gestire le regole che determinano l’ordine delle transazioni e il meccanismo di esecuzione, che a sua volta si occupa di processare le transazioni e aggiungerle alla rete. A livello pratico, tutte queste operazioni sono eseguite dai nodi.
Il mondo dei layer 1 richiede una forte resistenza alla censura, la possibilità di partecipare alla rete in maniera libera, la riduzione al minimo di intermediari fidati e la garanzia di ottenere la massima decentralizzazione. Questi aspetti fondamentali fanno si che ogni nodo sia costretto ad eseguire gli stessi compiti e allinearsi al nodo con minor potenza di calcolo.
Il fondatore di MegaETH ha pubblicato uno short content su Youtube dove spiega “The Straggler Problem” con un semplice esempio: immaginiamo che una blockchain abbia 100 nodi; un blocco viene finalizzato quando la maggior parte dei nodi lo hanno processato, perciò l’intero sistema deve attendere che anche il più lento dei nodi sia effettivamente sincronizzato prima di poter procedere. Immaginiamo una gara dove 100 conigli corrono verso il traguardo e la competizione si considera finita quando tutti sono effettivamente passati per la linea finale, se anche solo uno di questi corridori dovesse avere un rallentamento, un problema tecnico o simili, la competizione verrebbe rallentata.
Questo è un problema che i layer 2, e di conseguenza MegaETH, hanno risolto grazie alla specializzazione e alla modularità, ma scendiamo nella tana di questo “coniglio high tech” per comprenderlo meglio.
Scheda tecnica e margini di operatività
Partiamo dalla definizione che gli stessi Fondatori danno del progetto: “MegaETH è una blockchain compatibile con EVM che porta per la prima volta nel mondo delle criptovalute prestazioni real-time simili al Web2. Il nostro obiettivo è spingere le performance dei L2 di Ethereum ai limiti dell’hardware, colmando il divario tra blockchain e server di cloud computing tradizionali.”
Questo comporta che le prestazioni di questo L2 debbano avere elevata capacità di transazione, un notevole potenza di calcolo lato hardware e tempi di risposta e di aggiornamento della rete a livello di millisecondi, ed effettivamente la scheda tecnica di MegaETH ci parla di questo: 100.000 transazioni per secondo, block time e latenza al di sotto del millisecondo e potenza computazionale di 10 gigaGas per secondo.
Mi vorrei soffermare un attimo su quest’ultimo dato, il Gas per Secondo e vi riporto un estratto di Paradigm che spiega la differenza tra Tps e Gps: “Le prestazioni sono tipicamente misurate con il parametro “Transazioni al Secondo” (TPS). In particolare per Ethereum e altre blockchain EVM, una misura più sfumata e forse più accurata è “gas al secondo”. Questo parametro riflette la quantità di lavoro computazionale che la rete può gestire ogni secondo, dove il “gas” è un’unità che misura lo sforzo computazionale richiesto per eseguire operazioni come transazioni o contratti intelligenti.”
Infatti, le applicazioni più complesse e sofisticate come l’High Frequency trading, le simulazioni di mondi digitali o il gaming con combattimenti real time necessitano di una elevatissima capacità di calcolo, vi porto un esempio numerico ripreso dalla documentazione ufficiale di MegaETH: “Un semplice contratto EVM che calcola il numero di Fibonacci n-esimo consuma circa 5,5 miliardi di gas per n=10^8, che impiegherebbe l’intera catena opBNB 55 secondi per calcolare a 100 MGas/s. In confronto, un programma simile scritto in C può completare lo stesso compito in soli 30 millisecondi, rendendolo 1833 volte più veloce già con un singolo core CPU!”
Questo ci fa capire il divario tra le prestazioni che oggi un qualsiasi programmino in Web2 è in grado di fare e che nel mondo Web3 richiede tempi e costi ai quali non siamo più abituati.
Anche la finalità dei blocchi è un elemento fondamentale. Abbiamo citato prima HFT e Real World Simulator; queste applicazioni richiedono aggiornamenti e feedback al di sotto dei 10 millisecondi e, di conseguenza, per essere integrate nel nostro settore abbiamo bisogno di una blockchain, o un layer 2, capace di elaborare le transazioni non appena arrivano e pubblicare gli aggiornamenti risultanti in tempo reale oltre che supportare un’elevata capacità di transazione e di calcolo per mantenere l’esperienza fluida anche durante i picchi di utilizzo.
Tralasciando questi piccoli insight per nerd, torniamo a noi e continuiamo ad esplorare come MegaETH si propone di raggiungere questi livelli di velocità (ad oggi impensabili) e cosa potrà permettere in futuro.
Il MEGA-Triumvirato
Abbiamo detto poco fa che nella maggior parte delle blockchain L1 ogni nodo svolge compiti identici senza specializzarsi, partecipa a un protocollo distribuito per raggiungere il consenso ed esegue le transazioni in locale. Questo porta all’omologazione delle prestazioni e alla decisione di un range di performance minime al quale chiunque voglia partecipare deve adattarsi, portando ad un forte compromesso tra quanto la blockchain vuole essere performante e quanto inclusiva. L’eterna lotta tra scalabilità e decentralizzazione si ripresenta.
“È cruciale per la decentralizzazione della blockchain che gli utenti regolari possano fa girare un nodo” – Vitalik Buterin
La tabella seguente mostra le configurazioni hardware raccomandate dai principali Layer 1.
I layer 2 giocano invece ad un altro gioco, il loro compito non è essere inclusivi e decentralizzati ma essere veloci e rapidi mantenendo il livello di sicurezza quanto più elevato possibile.
Per “sicurezza” ovviamente si intende la possibilità di riportare in maniera indipendente i nostri fondi sul layer 1 e non avere censura, insomma non vorremmo mai vedere sparire il c.d layer 2 con i nostri fondi.
Per fare ciòviene introdotto un design differente dai layer 1, ma che ad essi rimane intrinsecamente collegato; un sistema per il quale posso specializzare i miei attori per farli operare al meglio, ma che vive in simbiosi con la rete madre, dalla quale derivano consenso e sicurezza.
Alcuni esempi della specializzazione dei nodi sono i Sequencer, i quali determinano solo l’ordine delle transazioni oppure i Prover, nodi degli ZK-Rollup che si affidano ad acceleratori specializzati come GPU e FPGA per ridurre i costi di generazione delle prove, insomma si capisce che bisogna specializzare le componenti della rete per far si che ognuno faccia al meglio, ciò che meglio sa fare.
In MegaETH ci sono tre ruoli principali: sequencer, prover e full node.
Come qualsiasi L2, un sequencer è responsabile dell’ordinamento e dell’esecuzione delle transazioni degli utenti.
La maggior parte dei full node riceve gli state diff. (risultato finale delle operazioni compiute, non tutte le operazioni in sequenza) dal sequencer e applica direttamente le differenze per aggiornare gli stati della chain. Validano quindi i blocchi indirettamente utilizzando le prove fornite dai prover.
Infine, i prover utilizzano uno schema di validazione c.d. senza stato (stateless), validando i blocchi in maniera asincrona e fuori ordine.
Di seguito possiamo osservare uno schema che riassume l’interazione tra i vari componenti di questo progetto:
Un vantaggio chiave della separazione dei compiti tra i nodi è la capacità di impostare requisiti hardware specifici per ogni partecipante. Ad esempio, poiché i nodi sequencer gestiscono il grosso del lavoro di esecuzione, avranno delle richieste hardware molto più elevate, in grado di mantenere alte prestazioni. Al contrario, i requisiti per i full node possono rimanere contenuti poiché la verifica delle prove richiede una ridotta capacità computazionale.
Nel post di Endgame di Vitalik, dove descrive nel dettaglio lo stato finale del funzionamento di Ethereum e degli aggiornamenti che ci porteranno a esso, egli parla di utenti che validano proof di validità dei blocchi tramite cellulare. Ovviamente non è questo l’obiettivo di Mega ETH, ma tramite la specializzazione e la riduzione dei requisiti hardware per i full node ci avviciniamo a questo livello ad oggi utopico del funzionamento delle blockchain.
Questa tabella delinea i requisiti hardware previsti per ciascun tipo di nodo in MegaETH:
La rete MegaETH è organizzata gerarchicamente.
I nodi di consenso e i sequencer formano il cuore della rete, tramite loro avviene tutto il processo di ordinamento ed esecuzione delle tx, oltre all’aggiornamento degli stati della rete.
I prover sono parallelizzati e utilizzano un architettura modulare, permettendo l’aggiornamento dinamico tramite la produzione di prove di validità e l’aumento di scalabilità e fluidità delle operazioni, dovuta alla capacità di calcolo.
Insomma, per concludere questa sezione voglio riportarvi una definizione a mio avviso chiara e diretta dell’obiettivo per cui si sta costruendo MegaETH, ripresa sempre dalla documentazione ufficiale: “MegaETH è progettato per supportare i più esigenti carichi di lavoro, comprese dApp avanzate, giochi in tempo reale e trading ad alta frequenza, offrendo un’esperienza senza precedenti nella blockchain. La sua architettura innovativa e i componenti specializzati permettono prestazioni di livello Web2, mantenendo al contempo la sicurezza e la decentralizzazione proprie della blockchain.”
Cosa rende MegaETH così Mega?
L’approccio “measure, than build” è accademico e punta ad osservare, comprendere e risolvere i problemi che ad oggi limitano l’attività on chain.
Il primo passo è stato quello di osservare come, tramite la modularità, è possibile delegare sicurezza al layer principale e risolvere notevoli problemi di creazione del trust necessario ad avviare una rete distribuita. Fin qui però già ci eravamo arrivati con la scalabilità rollup centrica.
Il secondo step è stato separare l’esecuzione delle transazioni dai full node, così da renderli snelli e distribuiti.
Infine quello che sarà essenziale, come d’altronde lo è per la maggior parte delle chain L2, sarà la decentralizzazione e le garanzie di non censurabilità fornite dal sequencer che, anche in questo caso, è piuttosto centralizzato.
Non voglio ora rovinarvi il weekend parlando dei Merkle Tree e delle innovazioni sotto questo punto che MegaMafia, il movimento dietro MegaETH, sta elaborando, perché non è ancora nello stato finale e richiede un background molto approfondito (per i più appassionati è tutto descritto nei docs del progetto).
Bisogna però ammettere che le promesse di questo team di sviluppo sono molto ambiziose. In loro hanno creduto i top builder nell’ecosistema e sono stati argomento centrale di discussione all’ETHCC appena tenuto a Bruxelles.
Secondo voi, riuscirà MegaETH a rendere Ethereum nuovamente la grande stella dell’innovazione Web3? O i sogni di scalabilità e decentralizzazione di Vitalik verranno rubati da qualche nuovo L1 con idee rivoluzionarie?