Il creatore di Ethereum, Vitalik Buterin, ha annunciato il prossimo passo della rete, che consisterà nell'eliminare il peso in eccesso. Lo chiama "The Purge"
Nel quinto post della sua serie, Vitalik ha delineato un piano spietato per eliminare il sovraccarico della blockchain, eliminare le funzionalità ridondanti e semplificare il protocollo. La rete di Ethereumè intasata da transazioni obsolete e funzionalità legacy complesse.
La soluzione? Vitalik vuole che i dati storici e di stato vengano eliminati, che le funzionalità del protocollo vengano semplificate e che i nodi siano più facili da gestire. Questa decisione aggressiva è una risposta alla rapida crescita dei dati di Ethereum.
Al momento, un nodo Ethereum completo richiede oltre 1,1 terabyte di spazio di archiviazione solo per il client di esecuzione, con una quantità maggiore per i dati di consenso.
Con l'accumularsi di transazioni e account, lo spazio di archiviazione deve aumentare, creando colli di bottiglia. Senza cambiamenti, Ethereum rischia di diventare lento, con i nuovi clienti che devono affrontare tempi di sincronizzazione estremamente lunghi solo per aggiornarsi alla catena.
Scadenza della cronologia: riduzione del carico di memoria di Ethereum
Invece di far sì che ogni nodo conservi tutte le transazioni mai registrate, Vitalik suggerisce che i nodi conservino solo i dati recenti. I blocchi storici, le transazioni più vecchie e le ricevute vengono distribuiti tra i nodi in piccole porzioni.
Per Vitalik, i dati storici dovrebbero funzionare come una rete torrent: i nodi memorizzano bit di dati, garantendone la disponibilità senza che un nodo debba contenere tutto. "Stiamo parlando di centinaia di gigabyte di vecchi blocchi che si accumulano ogni anno", ha affermato.
Il modello attuale, con nodi che contengono tutti i dati, è già stato modificato. I blocchi di consenso, vitali per la proof-of-stake, vengono conservati per sei mesi, mentre i blob, ovvero i blocchi di dati delle transazioni più grandi, scompaiono dopo 18 giorni.
La nuova proposta di Vitalik, EIP-4444, prevede un limite di archiviazione di un anno per blocchi e ricevute storiche. Il suo obiettivo finale? Una rete distribuita in cui ogni nodo memorizzi solo una frazione della cronologia, utilizzando le dimostrazioni di Merkle e la codifica di cancellazione per garantirne l'accuratezza.
Questa archiviazione distribuita della cronologia non ridurrà l'affidabilità dei dati di Ethereum. Vitalik sostiene che, aumentando il numero di nodi, le copie dei dati si moltiplicheranno sulla rete, rendendo ogni frammento di cronologia ben supportato.
La codifica di cancellazione aggiungerà resilienza, simile alla tecnologia che aiuta i blob a rimanere disponibili per il campionamento dei dati. Vitalik indica anche la Portal Network e i metodi peer-to-peer come possibili soluzioni, consentendo Ethereum di gestire la distribuzione dei dati senza dover ricorrere a un archivio centralizzato.
Scadenza dello stato: limitazione della permanenza dei dati
Oltre alla cronologia, la purga di Vitalik include una questione più complessa: la "scadenza dello stato". A differenza della cronologia, i dati di stato (elementi come saldi dei conti, nonce e archiviazione degli smarttrac) hanno una scadenza più difficile. Una volta creato, un oggetto di stato (come un conto con ETH o lo slot di archiviazione di untrac) rimane accessibile a qualsiasi transazione.
E con ogni oggetto, i dati di Ethereumaumentano. Per contenere questo fenomeno, Vitalik propone una scadenzamatic , eliminando i dati che non sono stati toccati di recente. Il trucco sta nel bilanciare la scadenza dello stato con la permanenza di Ethereum.
Ritiene che gli utenti dovrebbero poter "sparire per cinque anni, tornare e continuare ad accedere ai propri fondi". Questo sistema richiede efficienza, senza calcoli aggiuntivi o modelli complessi per gli sviluppatori.
Ethereum ha sperimentato diverse idee, come la "rendita blockchain", che prevedeva un costo per gli utenti per mantenere attivi i propri dati, e la "regenesi", che tentava di resettare la blockchain per ridurre i dati. Nessuna delle due ha avuto successo.
Due nuove proposte mirano a contrastare il fenomeno del "bloat" dello stato. La prima è la "scadenza parziale dello stato". La rete suddividerebbe i dati in blocchi, memorizzando solo quelli recenti e preservando gli "stub" (piccoli frammenti di dati inattivi) per dimostrarne l'esistenza.
Se un blocco viene eliminato, gli utenti possono ripristinarlo con la prova dei dati passati. La proposta di progettazione di Vitalik, EIP-7736, utilizza alberi di Verkle e un modello "stelo-foglia" per raggruppare i dati. Tutti i dati rimasti intatti per sei mesi vengono rimossi, lasciando solo uno stub da ripristinare quando necessario.
La seconda idea è la scadenza basata sul periodo di indirizzo, che suddivide gli oggetti di stato in base al tempo. Ogni account ha un "periodo di indirizzo" e vengono memorizzati solo i dati dei due periodi più recenti.
Se qualcuno desidera recuperare vecchi dati, dovrà inviare una prova Merkle per ripristinarli. Questa configurazione basata su periodi richiederà la modifica dei formati degli indirizzi, espandendo l'attuale formato a 20 byte per includere numeri di versione e periodi.
Vitalik suggerisce anche latracdello spazio degli indirizzi per mantenere la compatibilità. La sfida sarà quindi assicurarsi che gli utenti comprendano e si fidino di questo sistema di indirizzi senza sacrificare la promessa fondamentale di Ethereumdi disponibilità.
Pulizia delle funzionalità: riduzione della complessità del codice di Ethereum
La fase finale della purga colpisce la complessità del protocollo. Vitalik afferma: "Ogni nuova funzionalità rende Ethereum più difficile da usare, ma rimuovere qualsiasi cosa è un incubo". L'esempio più noto è SELFDESTRUCT, un opcode che consente agli utenti di eliminare l'archiviazione deitrac.
In origine, consentiva la compensazione volontaria dello stato, ma è per lo più inutilizzata e rischia attacchi denial-of-service. L'hard fork Dencun di Ethereumha indebolito l'opcode e Vitalik prevede di rimuoverla completamente a breve.
Altre funzionalità "gonfiate" includono vecchi tipi di transazione, formati di dati ridondanti e un protocollo con un'impostazione mixed-endian. Queste stranezze rendono lo sviluppo confuso e rendono Ethereum più difficile da aggiornare.
L'elenco di pulizia di Vitalik include anche la transizione dei formati di dati da RLP a SSZ, la semplificazione delle regole del gas per una migliore gestione delle risorse dei blocchi e la rimozione di precompilazioni inutilizzate come RIPEMD160, MODEXP e BLAKE. Supporta anche il passaggio Ethereum a un modello client stateless, che eliminerebbe il carico di archiviazione per la maggior parte dei nodi.
Alcune di queste modifiche richiederanno l'tracdegli account, consentendo agli utenti di gestire le tipologie di transazioni legacy tramite il "codice EVM dell'account predefinito". Questo, afferma Vitalik, semplificherà l' Ethereum Virtual Machine (EVM) riducendo al contempo le dimensioni del codice. A lungo termine, l'EVM stessa potrebbe essere aggiornata.
Spiega che gli sviluppatori Ethereum stanno prendendo in considerazione un nuovo modello di esecuzione come RISC-V o Cairo, o forse l'utilizzo di un formato EVM Object Format (EOF) per standardizzare le regole del codice.
EOF modifica le regole del gas e vieta alcune istruzioni per consentire aggiornamenti modulari, aumentando la scalabilità di Ethereum. Questo formato consentirà agli sviluppatori di apportare miglioramenti incrementali, aiutando in definitiva Ethereum a rimanere snello.
Ma Vitalik ha offerto un'altra opzione. Afferma : "Una strategia di semplificazione più radicale Ethereum è quella di mantenere il protocollo così com'è, ma di spostare gran parte di esso da funzionalità del protocollo a codice trac

