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.
Ethereum 1.x Devs Focusing on ‘Stateless Clients’ to Curb Chain Bloat https://t.co/EP34NbDzqd pic.twitter.com/wSIvPukKbX — Mantica Crypto (@ManticaCrypt) January 18, 2020
As Ethereum 1.x is dubbed, it has been reported that the project’s goal is to maintain Ethereum’s (ETH) usability while the Serenity upgrade is being worked on. However, the new version is still years away.
Ethereum Foundation (EF) stated:
“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.”
It has been analyzed that 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.
The 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.
Likewise, 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.
Several solutions are proposed to mitigate part of these issues. 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. According to the developers, this optimization is “within reach.”
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.
Ethereum 1.x is introducing the concept of “stateless clients.” So, instead of storing the entire state, clients will simply compute the changes to it from a previous block by using “block witnesses” to ensure their validity. Though some nodes will still need to maintain the entire state, the benefits appear to be significant.
James Hancock, the Team Coordinator for the 1.x project, 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.”
Though 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.
“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.”
Moreover, there may be a point of no return in terms of the ability to fork a pure 1.x chain. Hancock elaborated that as soon as the state moves to the 2.0 chain, it will become the primary version of Ethereum.
Thus, there are no specific milestones for it as of yet.