According to news reports, on one side, Ethereum is now developing the next stage of its evolution with Ethereum 2.0, which is sharding-enabled. On the other hand, a team of developers is focusing on the existing chain for maintaining operability during the transition. Named as the Ethereum 1.x, the main goal of the project is to maintain the usability of Ethereum (ETH) while work on the Serenity upgrade is being carried out.
Last year, Ethereum Foundation (EF) explained in a blog post about the new version still being years away and stated the following:
“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.”
Though there are no major issues, the developers reveal minor performance degradations owing to the continuous growth of the blockchain. Currently, full nodes, weighing over 200 gigabytes, need to download and process the entire Ethereum history. They also face issues such as node operation and network latency as the figure grows by 10-15 GB each month. One of Ethereum’s notable concepts is the State. It refers to the collective memory of smart contracts and the current wallet balances.
State bloat is another issue that makes block verification harder. In Ethereum, every transaction makes changes to the overarching State. Over time, this leads to bloat.
Using Etherum 1.x to Solve These Issues
Ethereum 1.x can be used to solve part of these issues, if not completely. Pruning can be used to solve storage issues, but the only issue is that it is complex to implement. Pruning refers to the process of deleting unwanted blockchain data. Network latency can be solved through block pre-announcement. It refers to miners announcing new blocks before they are validated. This will provide more time to the nodes for disrupting block information, thus ensuring the correct operation of the blockchain.
Finally, reducing state bloat is another major concern. Earlier, a proposal on introducing ‘state rent,’ which mentioned that smart contracts would pay for their share of stage usage, was termed to be unfeasible. Ethereum 1.x introduces the concept of ‘stateless clients.’ This relieves clients of the tedious process of storing the entire State. It allows clients to compute changes made to it from the previous block. Block witnesses are used for ensuring validity.
Though both Ethereum 1.x and Ethereum 2.0 come under the same umbrella of the Ethereum Foundation (EF), the code base of Ethereum 1.x will remain separate. James Hancock, the team coordinator for the Ethereum 1.x project, when asked about how the various phases of Ethereum 2.0 will interact with 1.x, explained as follows:
“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.”
Hancock went on to add, “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.”
Hancock mentioned that once the State moves to the 2.0 chain, it will be the primary version of Ethereum. As of now, there are no specific milestones to mention.