ENDGAME: Eliminazione pratica dei limiti del gas per blocco per gli sviluppatori

Mega GM // Gmega
La testnet è ufficialmente aperta agli utenti (provatela!) e il concetto di "real-time" non è più solo uno slogan: si può sentirne l’effetto.
Ma cos'è la velocità senza capacità?
Se MegaETH dovesse sacrificare la possibilità per gli sviluppatori di implementare logiche complesse onchain in nome della reattività in tempo reale, starebbe minando gli stessi clienti che intende potenziare (i builders di app).
Detto ciò, siamo lieti di annunciare che non solo stiamo portando la reattività della chain all'estremo; stiamo anche sfruttando la specializzazione dei nodi per spingere la nostra rete di nodi ai limiti, al fine di eliminare praticamente i limiti del gas per blocco per quegli stessi sviluppatori.
Il limite del gas per blocco, il limite delle transazioni e le dimensioni dei contratti deployabili sono tutti valori ben superiori a quelli “normali” nell’EVM, pur mantenendo una reattività in tempo reale, sbloccando la creatività degli sviluppatori e inaugurando la nuova era delle applicazioni.
Leggete oltre se volete scoprire come.
LA RETE BLOCKCHAIN TIPICA
Per prima cosa, una panoramica su cosa è composta una rete tradizionale, così da poter evidenziare le differenze.
Iniziamo con un’immagine per semplificare (se la spiegazione è chiara potete saltare questa sezione):

Vediamo ora cosa rappresenta ciascuno di questi ruoli.
Ruoli Comuni della Rete
- Produttore di blocchi
Si tratta dell'entità responsabile della creazione dei blocchi che possono essere aggiunti alla chain.
Per i L1, questo è un insieme eterogeneo e distribuito di validatori selezionati casualmente per questo ruolo. Per i L2, la struttura comune affida questo ruolo a una singola macchina: il sequencer.
Le principali differenze tra le due tipologie che ricoprono il ruolo di produttore di blocchi sono che i sequencer tipicamente hanno requisiti hardware maggiori e o non rinunciano mai a questo ruolo o lo fanno raramente, mentre i validatori vengono ruotati costantemente (ad esempio, i leader di Solana vengono sostituiti ogni circa 1,2 secondi).
- Nodi Completi (Full Nodes)
Queste macchine ricevono i blocchi prodotti dal produttore di blocchi (che siano validatori o un sequencer), eseguono le transazioni all’interno dei blocchi per verificarne l’accuratezza rispetto alla cronologia della chain e aggiornano la loro "verità" locale per essere sincronizzate con la chain stessa.
Una volta sincronizzati, possono servire queste informazioni agli utenti delle applicazioni, agli sviluppatori che richiedono dati sulla chain, ecc. Questa è la "rete" di una blockchain.
Nota: la velocità della rete è determinata dall’entità più lenta.
Questo significa che se le entità che servono le informazioni della chain non riescono a tenere il passo con i blocchi prodotti dai validatori/sequencer e a verificarne la correttezza, la rete opera a una velocità ridotta.
- Utenti
Siete voi. Quando leggete informazioni dalle app o inviate transazioni alla chain, tutto passa attraverso i nodi completi, che sono sincronizzati con i produttori di blocchi. Qui il concetto è piuttosto intuitivo.
L'ACCORDO SULL'HARDWARE
Bene, queste sono le parti coinvolte – ottimo. Ma cosa c’entra questo con i limiti del gas?
Per capirlo, dobbiamo discutere di cosa rappresenta il gas, insieme ad altre due dimensioni di scala, all’interno di una rete distribuita.
In breve, il limite del gas rappresenta la capacità computazionale onchain, ovvero la complessità di un blocco, ed è una sorta di promessa della rete ai suoi nodi: per tenere il passo con i blocchi prodotti, basta avere un certo hardware (X) per eseguire i blocchi creati senza restare indietro. I limiti del gas sono fondamentalmente un metodo per limitare la potenza di calcolo.
Non è però l’unica dimensione che determina il throughput di una chain.
Altri due elementi di impatto sono:
- -Larghezza di banda: la velocità di upload/download dei nodi, che ne abilita la comunicazione con il resto della rete.
- -Storage: il requisito hardware dei nodi per memorizzare le informazioni della chain. Più storia viene processata, più dati devono essere conservati.
Insieme al calcolo, questi compongono un "accordo hardware" implicito della rete:

La configurazione tradizionale nel mondo crypto prevede che macchine singole (nodi completi) operino in isolamento e siano in grado di gestire il massimo carico possibile in tutte e tre le dimensioni.
Un singolo nodo completo deve avere:
- -La larghezza di banda per scaricare/caricare tutti i blocchi.
- -La potenza di calcolo per rieseguire tutte le transazioni di tutti i blocchi.
- -La capacità di storage per contenere lo stato intero della chain.
Tra queste, il calcolo è spesso il fattore più limitante per la media rete EVM, ed è per questo che i limiti del gas per blocco sono simili nelle reti ben distribuite.

Il problema individuato è quindi il requisito computazionale per un’unica macchina per tenere il passo con i produttori di blocchi di una chain.
Come risolviamo questo problema? Con la specializzazione dei nodi.
SPECIALIZZAZIONE DEI NODI: LA SOLUZIONE DI MEGAETH
"Ok, ma cosa diamine significa specializzazione dei nodi?" – direte voi.
Significa semplicemente che abbiamo adottato l’approccio di suddividere questo entità tradizionalmente unica (il nodo completo) in una combinazione di macchine specializzate, ognuna delle quali si occupa di una singola dimensione di scala, anziché affidare tutto a un’unica macchina.

- Nel modello tradizionale: il nodo completo deve gestire il massimo carico di larghezza di banda, calcolo e storage dei produttori di blocchi.
- Nel modello MegaETH: il nodo completo viene sostituito da un nodo replica, che riceve solo le differenze di stato invece dei blocchi completi, mentre i blocchi completi vengono distribuiti tra un’intera rete di nodi "prover" che eseguono in modo indipendente tali blocchi e poi inviano delle prove di validità dei blocchi stessi ai nodi replica.
Visualizzazione:

Implicazioni:
- -Poiché il calcolo (cioè la complessità delle transazioni) non è più gestito da una singola entità per ogni blocco, ma viene distribuito su un cluster di macchine nella rete prover, questa dimensione non risulta più il collo di bottiglia e viene praticamente eliminata come vincolo.
- -Il problema si sposta quindi sulla larghezza di banda e sullo storage, con quest’ultimo – a causa della crescita dello stato – che attualmente è l’area di maggiore attenzione. Per mitigare questo problema, stiamo iterando su modelli di pricing derivati dal numero di kv aggiornati anziché dalla complessità della transazione (gas).
Dividendo questa singola macchina in una rete di macchine, introduciamo alcune assunzioni di fiducia in questo specifico assetto.
Per precisare, MegaETH offrirà anche l’opzione del Nodo Completo per chi desidera verificare il 100% dello stato della chain autonomamente.

Bene, i limiti di calcolo/gas sono eliminati—ma cosa significa questo per me?
IMPLICAZIONI DELL'ELIMINAZIONE DEI LIMITI DEL GAS
A livello più alto, significa semplicemente che "le persone possono fare cose più complesse onchain", il che si manifesta spesso in limiti stringenti sia per la dimensione dei contratti che per le transazioni.
Un confronto:

- -Per gli sviluppatori: La dimensione deployabile del contratto (~512 kb) è 21,3 volte superiore alla media delle chain EVM (24 kb).
- -Per gli utenti: Il limite di una singola transazione su MegaETH (attualmente 1G) è 24,5 volte superiore ai limiti completi dei blocchi della media delle chain EVM.
Utilizzare i nuovi limiti richiederà un po' di tempo a causa delle varie sfumature di configurazione, ma ci aspettiamo che i team si adattino rapidamente e siamo disponibili nelle nostre chat per sviluppatori per assistere con eventuali domande.
LIMITI DAVVERO ALTI. E ORA?
Alcune categorie di esempio:
Computazione onchain complessa:
Esecuzione di modelli di machine learning direttamente negli smart contract.
Calcoli di prezzo in tempo reale.
Ordinamento completo di grandi array senza limiti di ciclo.
Algoritmi grafici in grado di attraversare intere reti/relazioni.
Gestione dello storage e dello stato:
Mantenimento di strutture dati più ampie all’interno dei contratti.
Conservazione di una quantità maggiore di dati storici accessibili nello storage dei contratti.
Gestione di operazioni in massa in un’unica transazione.
Progettazione del protocollo:
Esecuzione completa di verifiche a zero-knowledge proof.
Operazioni crittografiche complesse senza componenti offchain.
Market maker automatizzati in tempo reale con formule sofisticate.
"Quello che tutti stanno trascurando è che MegaETH ha praticamente eliminato i limiti del gas per l’EVM" - @0x_ultra
In definitiva, si tratta di liberare la creatività onchain: un cambio di mentalità, dal concetto di scarsità, gas golfing e ottimizzazioni dei contratti, verso un paradigma di abbondanza, in cui non si è più limitati dall'attuale modello EVM.
Ora spetta alle applicazioni sfruttare al massimo questa nuova libertà.
