Research into stateless clients for Ethereum is seen as instrumental for the long-term health of the network, but despite all the progress, some fundamental limitations prevent them from being applied in practice for now.
At the Unitize conference, Vitalik Buterin, a co-founder of Ethereum, provided an up-to-date picture on the latest progress and problems for the stateless client transition.
Stateless clients, in short, are a way to allow nodes to fully participate in validation without having to hold the entire earlier history of the blockchain. The state represents all current balances, smart contracts code and their respective data.
Each new block only makes very small alterations to the state, but all of them have to be verified against the entire blockchain, making it a very inefficient process. Stateless clients are the core focus of the Ethereum 1.x initiative, which aims to maintain the existing chain in a usable state. But the research also has important implications for Ethereum 2.0:
“In an Ethereum 2.0 sharding context, stateless clients are basically mandatory because nodes get rapidly reshuffled between different shards.”
Buterin also highlighted that stateless clients are being studied in other blockchains as well, including Bitcoin. Stateless clients rely on cryptographic techniques to only compute state changes and verify them without having to hold the state itself in memory. But the cryptography involved is still imperfect.
The issues of creating proofs
The current state-of-the-art solution relies on Merkle proofs to validate the state through the concept of a witness, which includes information on parts of the state that were modified. But the technology has several important drawbacks due to current inefficiencies in Ethereum, which could result in a maximum witness size of 405 megabytes for each block.
Optimizations could reduce the witness size to a maximum of two megabytes and an average of 600 kilobytes — but that’s still well above the current Ethereum block size of about 50 kilobytes.
The alternative that Buterin is currently focusing on is Polynomial Commitments, a proving system relying on polynomial functions to represent data. Through some cryptographic properties, they allow using just one small witness to prove “a whole bunch of values.”
But he explained that there is a major issue with this approach. Merkle proofs are easy to partially update due to their tree-like structure, but Polynomial Commitments require a complete change of the entire curve, which would make calculating witnesses expensive.
There are a variety of potential solutions to this problem, involving for example a hybrid model of “Verkle trees,” which combines polynomial commitments into a tree-like structure.
Buterin noted that each potential solution has its own problems that require additional research. Ending his presentation, he said:
“There are a bunch of fancy arithmetic techniques that allow us to cut these witness sizes down to the point where the extra data that stainless clients need to download is actually not that much. But still research and still a lot of refinement required, and this is something where we actively welcome more help from the academic research community.”
The presentation suggests that stateless clients may not be coming to Ethereum any time soon as they hinge on breakthroughs in cryptographic research. Currently, Ethereum’s transactional capacity is being purposefully capped due to concerns of making the blockchain too heavy for average devices.