As Ethereum Serenity is still years away, additional work on the existing chain is needed to maintain it fully functional throughout the transition period.
While Ethereum continues to develop the next stage of its evolution with the sharding-enabled Ethereum 2.0, a group of developers will focus on the existing chain to maintain its operability during the transition.
Dubbed Ethereum 1.x, the project’s goal is to maintain Ethereum’s (ETH) usability while the Serenity upgrade is being worked on. As explained in a Dec. 10 blog post by Ethereum Foundation (EF), the new version is still years away:
“Our story begins with a realization by core developers that the final phase of the Ethereum roadmap, ‘Serenity’, would not be ready as early as originally hoped. With potentially many years before a full ‘Ethereum 2.0’ roll-out, the current chain would need changes to ensure that larger problems that wouldn’t render Ethereum in-operable before a comprehensive protocol upgrade could be delivered.”
While there are no single insurmountable issues, the developers point to small degradations of performance due to the continuous growth of the blockchain. Full nodes currently need to download and process the entirety of Ethereum’s history, currently weighing over 200 gigabytes.
This figure grows by 10-15 GB every month and leads to issues with node operation and network latency. The slightly separate issue of “state bloat” would also make block verification harder.
State is one of Ethereum’s key technology concepts. It represents the collective memory of all smart contracts and all current wallet balances. Each transaction makes modifications to the overarching state, which over time leads to bloat.
How Ethereum 1.x solves the problems
Several solutions are proposed to mitigate part of these issues. Pruning, the deletion of certain unneeded blockchain data, could mitigate storage requirements — but it’s complex to implement.
Network latency can be fixed with block “pre-announcement,” where miners would announce new blocks before they are validated. This would give more time for nodes to distribute block information, ensuring the correct operation of the blockchain. This optimization is “within reach,” according to the developers.
Finally, reducing state bloat is the core direction of research. An earlier proposal on introducing “state rent,” where smart contracts would have to pay fees for their share of state usage, was thrown out as unfeasible.
Instead, Ethereum 1.x is introducing the concept of “stateless clients.” Instead of storing the entire state, clients will simply compute the changes to it from a previous block — using “block witnesses” to ensure their validity. Though some nodes will still need to maintain the entire state, the benefits appear to be significant.
The relationship with Serenity
Ethereum 1.x is developed under the full patronage of EF. But while they are both under the same umbrella, the 1.x code base will remain separate from 2.0.
Cointelegraph approached James Hancock, the team coordinator for the 1.x project, for clarifications. When asked about how the various phases of Ethereum 2.0 will interact with it, he explained:
“Phase 0 implemented will still have Eth1.X as a separate code base. Phase 0 is a bridge, and although the transition is gradual between Eth1 and Eth2, pay attention to the state, as in the contract and storage state of Ethereum. Where that goes, Ethereum goes.”
Although the transition will be gradual, there is a possibility that a contentious hard fork like the one that resulted in the creation of Ethereum Classic could occur. But while that remains a possibility, the 1.x team has no intention of creating a separate chain. Hancock added:
“The Freedom to Fork is maintained throughout the entire process. The same as it is today, and as it should be in my opinion. Theoretically possible, yes. Is it planned by the Eth1.X team? No.”
There may be a point of no return in terms of the ability to fork a pure 1.x chain. As Hancock elaborated, as soon as the state moves to the 2.0 chain, it will become the primary version of Ethereum. However, there are no specific milestones for it as of yet.