1. Il villaggio Ethereum caduto
C’era una volta, nel villaggio Ethereum, un gruppo di rane verdi Pepe. Un tempo questo era uno dei regni più vivaci, dove l’alta decentralizzazione e la forte sicurezza davano vita a un’economia prospera.
Guidati da questi principi, gli abitanti del villaggio hanno tenuto regolari elezioni in base ai loro interessi per nominare i leader che hanno supervisionato la generazione di blocchi che registravano le transazioni ogni 12 secondi. In questo modo, hanno gestito diligentemente la fiorente economia del villaggio.
Ora, l’antica gloria di Ethereum ha iniziato a svanire, con la diffusione di virus meme e l’indebolimento del potere del villaggio. Le ombre incombono sulle strade e le rane verdi di Pepe si muovono pesantemente, vagando senza meta nel villaggio desolato e poco illuminato.
Tuttavia, alcune rane verdi di Pepe desiderano ancora ripristinare lo splendore perduto di Ethereum. Sostengono la “Riforma L2”, un movimento volto a rivitalizzare il villaggio. Grazie ai loro sforzi, Ethereum ricomincia a fiorire, raggiungendo una vitalità economica che un tempo era ritenuta impossibile.
Ma la Riforma L2 ha anche i suoi limiti. I villaggi vicini, come Solana e Sui, sebbene giovani e pieni di instabilità, si stanno evolvendo rapidamente attraverso rivoluzioni scientifiche senza precedenti. Le loro innovazioni rendono le complesse transazioni finanziarie senza soluzione di continuità, mentre Ethereum, nonostante le riforme, arranca ancora. Di conseguenza, tra le rane Pepe circolano voci sulla possibilità di trasferirsi in questi villaggi vicini.
Poi, in un giorno fatidico, un mago Pepe viola è apparso nel villaggio di Ethereum.
2. L’arrivo del Mago Pepe Viola
Vestito di una tunica viola, il mago Pepe guardava con tristezza la gloria perduta del villaggio di Ethereum, deciso a fondare un nuovo regno chiamato Monad.
Un giorno si presentò alle rane verdi Pepe e annunciò il suo grande progetto di creare il villaggio Monad. Radunò le rane verdi Pepe nella piazza centrale e iniziò ad ascoltare i loro pensieri.
Interviene la rana verde Pepe 1: “Spero che la vita in Monad sia come quella di Ethereum. Anche se Ethereum non ha la scalabilità di Solana o Sui, non ho mai pensato di andarmene perché le loro culture sono molto diverse dalla nostra”.
Green Pepe Frog 2 ha aggiunto: “Mantenere lo stesso stile di vita e la stessa cultura è importante, ma spero anche in un sistema che sia efficiente come quelli di altri villaggi. Sebbene Ethereum sia sicuro, non è sufficiente per le imprese che perseguono velocità e agilità”.
Il mago si ricordò dei loro desideri e promise di creare Monad con le caratteristiche culturali di Ethereum e la scalabilità di Solana e Sui. Contemplò i potenti incantesimi necessari per realizzare questo sogno: un villaggio compatibile con le tradizioni di Ethereum in grado di soddisfare i progressi di efficienza della nuova era.
Poi ha condiviso la sua visione con le rane Pepe, accendendo la loro speranza di una vera casa che potesse offrire il meglio di entrambi i mondi.
3. Incantesimo segreto 1: Esecuzione ritardata
Una limitazione della scalabilità di Ethereum village risiede nell’elaborazione di ogni transazione durante il processo di consenso, che è una fase necessaria per la generazione di ogni nuovo blocco.
In Ethereum, il leader che propone un blocco deve calcolare in anticipo tutte le transazioni al suo interno per garantire la validità di ogni transazione. Inoltre, anche i nodi di convalida che ricevono il blocco devono calcolare tutte le transazioni per verificarne la legittimità e il voto.
Poiché il processo di consenso implica il calcolo e la comunicazione tra gli abitanti del villaggio, il tempo allocato per l’elaborazione delle transazioni è molto limitato, il che porta a una scalabilità limitata.
Per risolvere questo problema, il mago Pepe viola ha introdotto un nuovo incantesimo chiamato “Esecuzione ritardata”. Questo incantesimo separa il processo di “consenso” (ordinare le transazioni degli abitanti del villaggio) dal processo di “esecuzione” (calcolare i risultati di tali transazioni).
In parole povere, invece di raggiungere il consenso e l’esecuzione simultaneamente per ogni blocco, il consenso viene raggiunto per il blocco N mentre l’esecuzione avviene per il blocco N-1 (dove l’ordine delle transazioni è già stato stabilito).
Consentendo l’esecuzione di un intero blocco di tempo, questo metodo aumenta significativamente il numero di transazioni che possono essere elaborate nello stesso arco di tempo.
Incantesimo avanzato: Radice di Merkle ritardata
In Ethereum, i nodi calcolano prima di raggiungere il consenso per garantire la validità del blocco. Tuttavia, nel sistema di esecuzione ritardata di Monad, il consenso e l’esecuzione sono separati. Questo apre la possibilità ai nodi malintenzionati di ignorare le transazioni di consenso precedentemente raggiunte o di alterare arbitrariamente gli stati di calcolo.
Per evitare che ciò accada, Monad incorpora la radice di Merkle (il risultato calcolato del blocco N-10) nella proposta del blocco N. Se più di due terzi dei nodi raggiungono il consenso sul blocco N, ciò significa che il consenso sul calcolo del blocco N-10 è stato raggiunto.
Se il risultato del calcolo di un nodo per il blocco N-10 non corrisponde alla radice di Merkle contenuta nel blocco N, quel nodo sarà rimosso dal consenso a partire dal blocco N. Il ritardo di 10 blocchi per la radice di Merkle assicura il rilevamento tempestivo di eventuali errori di calcolo.
Vale la pena notare che il tempo di blocco di Monad è di 1 secondo, ma questo non significa che la finalizzazione di Monad richieda 10 secondi. Grazie al sistema MonadBFT di Monad, è possibile ottenere la finalizzazione di un singolo slot, con un tempo di finalizzazione di 1 secondo.
4. Incantesimo segreto 2: hash delle transazioni
L’intelligente mago viola Pepe pensò a come i capi villaggio potessero trasmettere rapidamente le proposte di blocco agli altri nodi.
In Ethereum, l’approccio tipico consiste nel confezionare l’intera proposta di blocco (comprese tutte le transazioni) e inviarla attraverso la rete.
Tuttavia, il mago Pepe si è reso conto che se Monad avesse adottato questo metodo, la trasmissione di proposte di blocco contenenti numerose transazioni sarebbe stata un’impresa ardua e laboriosa.
Per risolvere questo problema, il mago Pepe viola ha introdotto il concetto di “hash delle transazioni”. Poiché tutte le transazioni inviate dagli abitanti del villaggio erano già state propagate attraverso la rete, ogni nodo manteneva un record delle transazioni del villaggio Monad nel proprio pool di memoria.
Ciò significa che il leader non deve più trasmettere l’elenco completo delle transazioni in ogni proposta di blocco. Al contrario, il leader può semplicemente fare riferimento alle transazioni inviando i loro valori di hash.
Pertanto, le proposte di blocco di Monad conterrebbero solo i valori hash di ciascuna transazione. Una volta ricevuti questi valori hash, gli altri nodi potrebbero facilmente confrontarli con i record delle proprie transazioni.
5. Incantesimo segreto 3: MonadBFT
Nel villaggio Monad, l’ordine delle transazioni all’interno di ciascun blocco e il consenso per la creazione del blocco sono controllati da MonadBFT, un meccanismo di consenso ad alte prestazioni basato su HotStuff. Questo algoritmo di Byzantine Fault Tolerance (BFT) consente di raggiungere il consenso in due fasi.
Il ruolo del leader del blocco è selezionato in modo casuale in base alla quota di partecipazione di ciascun partecipante. In Monad, l’efficienza della costruzione dei blocchi è superiore a quella di Ethereum village perché ogni proposta di blocco N viene trasmessa insieme al certificato di quorum (QC) del blocco precedente N-1, che indica che più di due terzi dei nodi hanno verificato quel blocco.
Il processo si svolge come segue:
- Il leader N trasmette la proposta per il blocco N, accompagnata dal QC per il blocco N-1.
- I validatori verificano il blocco N e inviano i propri voti al leader N+1.
- Il leader N+1 condivide la proposta per il blocco N+1, insieme al CQ per il blocco N.
Tuttavia, anche con il QC N, i validatori non possono confermare immediatamente il blocco N, poiché la natura della blockchain non garantisce che tutti i partecipanti siano online e sincronizzati.
Per proteggere completamente il blocco N, i validatori devono inviare al leader N+2 i loro voti “sì” per il blocco N+1, che contiene il QC N. Quando il leader N+2 genera il QC N+1, conferma il completamento con successo del round N+1, finalizzando così il blocco N.
Così, con un’abile magia, il mago Pepe viola guida il villaggio di Monad in una nuova era.
6. Incantesimo segreto 4: Esecuzione parallela
In Monad, per gestire un gran numero di transazioni del villaggio, il mago Pepe viola ha progettato un nuovo incantesimo che elabora le transazioni in parallelo anziché in serie come nel villaggio di Ethereum.
Con l’esecuzione ritardata, l’esecuzione inizia solo dopo che è stato raggiunto il consenso sull’ordine delle transazioni del blocco. Il villaggio Monad è composto da molti esecutori qualificati, ognuno dei quali è responsabile dell’elaborazione delle transazioni, del calcolo indipendente dei loro input e output e della creazione di un elenco di transazioni in sospeso.
Questi input e output non alterano immediatamente lo stato del villaggio, ma attendono in uno stato magico sospeso, pronti per essere inviati nell’ordine determinato dal consenso. Questa presentazione fonde le uscite nello stato attuale, tessendo un arazzo magico ordinato e senza soluzione di continuità.
Tuttavia, si presenta un problema. L’elaborazione parallela introduce la possibilità di conflitti tra transazioni, che sono rari nel villaggio ordinato di Ethereum ma che rappresentano una nuova sfida in Monad.
Ad esempio, se una transazione (transazione b) mostra che l’abitante del villaggio A regala 1 ETH all’abitante del villaggio B, mentre un’altra transazione (transazione c) mostra che B spende quel ETH alla locanda del villaggio, il loro ordine diventa critico. Se la transazione c tenta di essere eseguita prima della transazione b, fallirà. In questi casi, le transazioni in conflitto vengono riorganizzate e la transazione c attenderà il completamento della transazione b prima di eseguirla.
Pertanto, in Monad, il cuore dell’esecuzione parallela risiede nell’ordinamento: i risultati vengono calcolati in parallelo, ma gli aggiornamenti di stato vengono uniti nell’ordine preciso richiesto.
7. Incantesimo segreto 5: MonadDb
Le idee creative del mago viola Pepe non si sono fermate qui. Ha creato MonadDb, un database personalizzato unico per il villaggio Monad, progettato specificamente per memorizzare lo stato della blockchain. Ethereum si basa su un complesso Merkle Patricia Trie, noto per la sua resilienza ma anche per la sua inefficienza per i clienti esterni.
MonadDb è stato progettato tenendo conto dell’esecuzione parallela del villaggio, supportando più letture e scritture simultanee con elevata precisione. A differenza dei database tradizionali che richiedono il completamento di ogni attività prima di passare alla successiva, MonadDb impiega la magia dell’I/O asincrono, consentendo alle attività di sovrapporsi senza problemi e aprendo la strada a una vera elaborazione parallela delle transazioni.
8. Venite a visitare il Villaggio Monad!
Attraverso una serie di meravigliosi incantesimi e intricate magie, il mago Pepe viola ha creato il villaggio Monad. Qui, i conti affidabili, la crittografia, i formati delle transazioni, i linguaggi e i portafogli di Ethereum si fondono senza sforzo con la scalabilità di Solana e Sui. Ora Monad sta prosperando e punta a realizzare il suo sogno di elaborare 10.000 transazioni al secondo.
Nato dalla saggezza e dalla speranza, il villaggio Monad sarà in grado di salvare il mondo afflitto dai virus meme e di aiutare Ethereum a ritrovare la sua gloria? Solo il tempo ce lo dirà.