Ethereum continues to create the next wave of its evolution using the sharding-enabled Ethereum 2.0. As the network carries on with these developments, developers are now focusing on the existing chain. They are trying to maintain and sustain its operability during the transition.
The project, dubbed Ethereum 1.x, has a primary goal of maintaining Ethereum’s usability as the Serenity upgrade gets worked on. According to a December 10 Ethereum Foundation (EF) 10 blog post, the new version is still believed to be 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 initially 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.”
Although at the moment there is no single major challenge to the development roadmap, the involved developers say that the small degradations of performance as a result of continuous growth of this blockchain may arise. Currently, the full nodes have to download and process the entirety of Ethereum’s history, which weighs at least 200 gigabytes.
That weight is proven to grow by 10-15 GB each month. That increased weight leads to challenges affecting node operation and network latency. Furthermore, the mildly separate issue of ‘state bloat’ can also make block validation more difficult.
State is a significant technology concept for Ethereum. It is designed to represent the cumulative memory of all smart contracts and all current wallet balances. Every transaction makes several modifications to the overarching state, and it eventually results in bloat.
The Ethereum 1.x Solution
Multiple solutions have come up in an attempt to mitigate some of the issues. Pruning is a method of deleting the unneeded blockchain data, and it can minimize the storage needs. However, it is quite complex to implement.
Block ‘pre-announcement can fix network latency where the miners would have to announce new blocks before they are validated. That solution can provide more time for nodes to distribute all the necessary block information guaranteeing the correct operation of the blockchain. Developers say that this optimization is now ‘within reach.’
Minimizing state bloat is the critical direction of research currently. A previous proposal on introducing ‘state rent’ was abandoned, citing unfeasibility. The state rent would need the smart contracts to have to pay fees for their share of state usage, but it was deemed impractical.
On the contrary, Ethereum 1.x introduces the concept of “stateless clients.” Through this strategy, clients can compute the changes to a state originating from a previous block instead of storing the whole state. Clients can use ‘block witnesses’ to guarantee their validity. Although some nodes might still require to maintain the entire state, the advantages seem quite significant
The Link With Serenity
The Ethereum Foundation oversees the developments of Ethereum 1.x entirely. Even though they are both under the same umbrella, the 1.x codebase is set to remain separate from 2.0.
The team coordinator for the 1.x project, James Hancock, commented on how the different phases of Ethereum 2.0 will interact with it:
“Phase 0 implemented will still have Eth1.X as a separate codebase. 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.”
There is a probability that a contentious hard fork like the one that formed Ethereum Classic can arise though the transition will be gradual. Though that is a likelihood, the 1.x team does not intend to create a separate chain. Hancock stated:
“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. Does the Eth1.X team plan it? No.”
There might reach a time when there is no point of return regarding the ability to fork a pure 1.x chain. As soon as the state shifts to the 2.0 chain, it will become the main version of Ethereum. But, there are no particular milestones for it currently.