Verkle trees can provide more efficient proof sizes than Merkle trees, making stateless clients viable by reducing proof sizes. Ethereum's core developers discussed about the progress of Verkle Trees Testing in detail during the last week's All Core Devs Call. Guillaume Ballet provided an overview of the current state of Verkle Trees and answered questions from other developers.
To evaluate the potential impact of Verkle Trees on the Ethereum network, they are currently being tested on two testnets: Beverly Hills and Kaustinen. The Beverly Hills testnet is a minimal implementation that focuses solely on EL clients and the Verkle Tree spec. On the other hand, the Kaustinen testnet is implementing changes to the Ethereum Consensus Layer (CL) along with Verkle Trees. While current Verkle Trees implementations are around 40% slower than Merkle Patricia Trees, they are improving rapidly.
Insights & Bugs
While the testing has made progress, certain aspects are still incomplete. For instance, Verkle Trees have been tested against chain reorganizations, but JSON RPC performance is yet to be assessed. Additionally, the Verkle Trees implementation has been tested with mainnet-style blocks, but shadow forks have not been tested yet.
The lack of testing with shadow forks means that there is still some uncertainty regarding how the implementation will behave in real-world scenarios. Furthermore, there have been no multi-client devnet forks executed, which raises concerns about the compatibility of the Verkle Trees implementation across various clients. Another challenge to the Verkle Trees implementation is the need for a new sync mode.
During the discussion of Verkle Trees implementation, there were concerns about whether all clients could use Verkle Trees without having to adopt a similar database architecture to Erigon. Because the implementation of Verkle Trees requires a similar database architecture to Erigon, if they do not adopt Erigon's database architecture, they would have to rely on these nodes to gossip the Verkle Trees, which could pose a risk. Nethermind is currently working on a similar database architecture.
The conversion process from Merkle Patricia Trees to Verkle Trees is also a bottleneck, taking around 18 hours on the fastest implementation (Erigon) and much longer on other implementations. This conversion process needs to be optimized to make the adoption of Verkle Trees more feasible for all clients.
The transition from Merkle Patricia Trees to Verkle Trees involves a process where some nodes will build the Verkle Trees and share them over gossip. Clients will maintain both the Verkle Trees and Merkle Patricia Trees in parallel until they are synchronized. Once the Verkle Trees and Merkle Patricia Trees are in sync, the consensus rules can be switched from Merkle Patricia Trees to Verkle Trees.
zkEVMs Vs Verkle Trees
zkEVM is short for Zero-Knowledge Ethereum Virtual Machine. Its purpose is to enhance the privacy and scalability of the Ethereum blockchain by integrating zero-knowledge proofs into the Ethereum Virtual Machine (EVM).
When asked if zkEVMs (zero-knowledge Ethereum Virtual Machines) would make Verkle Trees obsolete, Dankrad Feist explained that zkEVMs could theoretically make Verkle Trees obsolete. However, he added that their implementation on the Ethereum mainnet is still years away due to their higher latencies and massive prover costs.
Guillaume Ballet reported that the Verkle Trees specifications appear stable and have made good progress in early testing on two separate testnets.
However, he also noted that Verkle Trees may not be ready for implementation in the upcoming Cancun upgrade but at least the specifications have been stable and it's looking realistic to be shipped in Prague. However, it is important to note that Verkle Trees are still undergoing testing and development.
- Shapella Testing
- Upcoming Changes to Ethereum Blockchain
- Readiness of the Capella Upgrade
- How Warm COINBASE helps in Gas Cost Reduction?
- How Layer 3 in Future will look like?
- The Future of Ethereum Goerli Testnet
- ETH Withdrawals: Everything You Need to Know
- Client Diversity
- Reth: Ethereum Execution Layer Client Written in Rust
- Sign-In with Ethereum: EIP-4361
Disclaimer: The information contained on this web page is for education purposes only. Readers are suggested to conduct their own research, review, analyze and verify the content before relying on them.
To publish press releases, project updates and guest posts with us, please email at firstname.lastname@example.org.
Subscribe to EtherWorld YouTube channel for ELI5 content.
Support us at Gitcoin
You've something to share with the blockchain community, join us on Discord!