Merkle versus Verkle proofs
The Verkle trees that will replace today’s Merkle tree as a way to store state in an Ethereum node will allow for smaller proofs needed to verify that a piece of state is included on chain. These smaller proofs can propagate the network much faster, and will enable stateless clients, i.e. nodes that don't store state, thus requiring less memory usage, as well as fewer disk and I/O resources.
Pieces of data required in proofs for Merkle vs Verkle trees
The path to stateless clients
With the proposed transition to Verkle trees, witness sizes will decrease in size by a factor of over 20, allowing for stateless clients that safely interact with the network. Using a multiproof scheme first described by Dankrad Feist, the Verkle tree's content can be verified with a single proof that proves all parent-child relationships, instead of providing all the sibling nodes’ hashes up to the root.
Although not yet formalized in an EIP, the proposal is widely accepted in the Ethereum community and is likely to be included in a hard fork after the Merge. The roadmap describes a transition phase during which the final switch from Merkle to Verkle tree will occur. While the specific transition process has not yet been decided on, the community is deliberating between several possible solutions.
A team at Nethermind has been developing and testing the implementation in our Ethereum client, working closely with other client developers to ensure consensus. We have also contributed to a shared Rust library handling common operations and cryptography related to Verkle trees.