Ethereum’s crucial upgrade, Eth 2.0, is likely still three to five years away from implementation.
Instead of rushing into an overall upgrade, developers for the open-source blockchain platform are currently working on a suite of short-term fixes to improve the health and durability of the network, according to a new blog post at Ethereum.org.
Says Griffin Ichiba Hotchkiss, the post’s author,
“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.
Hence, ‘Ethereum 1.x’ – research into smaller, incremental upgrades to current Ethereum (1.0) – was born with the task of prolonging the life of the chain for at least another 3-5 years, before a more dramatic upgrade to Serenity (Eth 2.0) arrives.”
Hotchkiss says Ethereum is facing upcoming problems with chain storage, which could squeeze out smaller hobbyists, researchers and developers from participating on the blockchain, as well as issues with block size and transaction throughput, which are likely to be outpaced by the platform’s future growth.
The biggest potential problem facing Ethereum, however, is “state” growth.
“Ethereum is a state machine that moves forward one step with each block. At any given moment, the complete ‘state’ of Ethereum comprises the collective memories of all smart contracts deployed and running in the EVM, as well as the current status of all accounts and balances.”
Ethereum’s state currently weighs 10 GB, but it’s expected to grow proportionally with the total transaction volume on the network. If Ethereum achieves more widespread adoption, that state growth could lead to slower transaction processing and block verification.
“State-driven performance degradation is most worrying. Ethereum is a peer-to-peer network, which means that subtle changes can have cascading effects on network health. Furthermore, state storage and modification is one of the more difficult things to implement for client developer teams. Writing and maintaining clients is already hard enough, and state growth adds to that burden. As the state grows, the diversity and performance of clients will diminish, which is bad for everyone.”
One potential way forward for Ethereum is to use “stateless clients,” something currently being researched by the platform’s developers.
“In a nutshell, a stateless client makes use of a block witness, which proves the validity of a given state change against the previous state. That is to say, rather than computing a complete state with each new block, clients simply compute the changes to state for a new block, and then prove that those changes are consistent with the previous block.”