Mentre Ethereum continua a sviluppare la fase successiva della sua evoluzione ad Ethereum 2.0 e allo sharding, un gruppo di sviluppatori si concentrerà sulla chain esistente per mantenere la sua operabilità durante la transizione.

Soprannominato Ethereum 1.x, l'obiettivo del progetto è quello di garantire l'usabilità di Ethereum (ETH) durante lo sviluppo dell'upgrade Serenity. Come spiegato in un post sul blog dell'Ethereum Foundation (EF), la nuova versione è ancora piuttosto lontana:

"La nostra storia inizia con la realizzazione da parte dei core developer che la fase finale della roadmap di Ethereum,"Serenity", non sarebbe stata pronta come inizialmente sperato. Essendoci potenzialmente molti anni prima del lancio completo di "Ethereum 2.0", la chain avrebbe bisogno di modifiche per garantire la risoluzione di problemi più grandi che potrebbero rendere Ethereum inoperabile prima di un aggiornamento completo del protocollo. "

Anche se non ci sono singoli problemi insormontabili, gli sviluppatori sottolineano l'esistenza di piccoli degradi delle prestazioni a causa della continua crescita della blockchain. I nodi completi devono scaricare ed elaborare l'intera cronologia di Ethereum, che attualmente pesa oltre 200 gigabyte.

Questa cifra aumenta di 10-15 GB ogni mese e porta a problemi con il funzionamento dei nodi e la latenza della rete. Il problema dello "state bloat" renderebbe più difficile la verifica dei blocchi.

Quello dello "state" è uno dei concetti tecnologici chiave di Ethereum. Rappresenta la memoria collettiva di tutti i contratti intelligenti e di tutti i saldi dei wallet. Ogni transazione apporta modifiche allo state generale, che nel tempo tende a intasarsi.

Come Ethereum 1.x risolve questi problemi

Sono state proposte diverse soluzioni per mitigare parte di questi problemi. Il pruning, ossia la cancellazione di alcuni dati blockchain non necessari, potrebbe mitigare gli elevati requisiti di archiviazione, ma è un meccanismo complesso da implementare.

La latenza della rete può essere corretta con l'implementazione dei blocchi di "pre-annuncio", in cui i miner annunciano i nuovi blocchi prima che vengano convalidati. Ciò darebbe più tempo ai nodi per distribuire le informazioni sui blocchi, garantendo il corretto funzionamento della blockchain. Secondo gli sviluppatori questa ottimizzazione sarebbe "a portata di mano".

Infine, ridurre il lo state bloat è la direzione principale della ricerca. Una proposta precedente sull'introduzione della "state rent", che prevedeva che gli smart contract pagassero una sorta di tassa per utilizzare la loro quota di state, è stata dichiarata non fattibile.

Invece, Ethereum 1.x sta introducendo il concetto di "stateless client". Invece di archiviare l'intero state, i client calcoleranno semplicemente le modifiche da apportare partendo da un blocco precedente, utilizzando i "testimoni di blocco" per garantirne la validità. Sebbene alcuni nodi debbano comunque mantenere l'intero stato, i vantaggi sembrano essere significativi.

La relazione con Serenity

Ethereum 1.x è sviluppato con il pieno patrocinio di EF. Tuttavia, la base del codice 1.x rimarrà separata da quella dell'upgrade 2.0.

Cointelegraph ha parlato con James Hancock, coordinatore del team per il progetto 1.x, per ricevere alcuni chiarimenti su come le varie fasi di Ethereum 2.0 interagiranno con 1.x:

“La fase 0 implementata avrà ancora Eth1.X come code base separata. La fase 0 è un ponte e, sebbene la transizione sia graduale tra Eth1 ed Eth2, presta particolare attenzione allo state, cioè al contract e storage state di Ethereum."

Sebbene la transizione sarà graduale, esiste la possibilità che possa verificarsi un hard fork controverso come quella che ha portato alla creazione di Ethereum Classic. Ma anche se ciò rimane una possibilità, il team 1.x non ha intenzione di creare una chain separata. Hancock ha aggiunto:

“La libertà di fork rimane per tutto il processo. Esattamente come c'è oggi e come secondo me dovrebbe sempre esserci. Teoricamente possibile, sì. È in programma per il team di Eth1.X? No."

Potrebbe esserci un punto di non ritorno in termini di capacità di fork di una chain 1.x pura. Come spiegato da Hancock, non appena lo state passerà alla chain 2.0, diventerà la versione principale di Ethereum. Tuttavia, non sono ancora state delineate tappe specifiche.