Contents
- 1 Introduction
- 2 FAQ
- 3 Dashboard
- Current main tasks
- Upcoming tasks
- Future milestones
- Open questions
- 4 Testnets
- 5 Resources
- 📊 Latest Verkle Metrics
- EIPs/Specs/Related Docs
- 6 Client Implementations
- Updates shared in Verkle Implementers Calls…
- Latest summary here
- Cryptography and other
- Execution Layer
- Consensus Layer
site maintained by @rudolf6, @ignaciohagopian, and @gballet (ping with any questions/requests)
💬 Join the Eth R&D discord server for discussion (see #verkle-trie-migration)
1
Introduction
Updated: Apr 08, 2024
- Smaller proof sizes allow proofs to be passed over the network, which will unlock many new types of functionality in addition to stateless clients
- Lower hardware requirements to run a node, which improves decentralization
- New nodes can join the network right away with faster sync
- Potential scaling benefits in that it could allow for higher gas limits
- More compatible with a zk-EVM future
This is the latest and most up-to-date talk about Verkle Trees:
You can also see the Verkle Trees 101 presentation given for the Ethereum Protocol Fellowship Study Group:
2
FAQ
Updated: Apr 08, 2024
3
Dashboard
Updated: Apr 08, 2024
All progress is shared in the Verkle Implementers Calls, which anyone can join.
Current main tasks
Upcoming tasks
Future milestones
Open questions
4
Testnets
Updated: Apr 08, 2024
Kaustinen
- Updated EIP-4762 implementations
- Updated EIP-2935 with a ring buffer of size 8192
See the following tutorial to know how to join the testnet.
5
Resources
Updated: Apr 04, 2024
📊 Latest Verkle Metrics
Bringing Verkle into Ethereum involves many changes in the protocol:
- A new data structure to save the state of the network
- A new gas accounting model
- A strategy to migrate the existing state from the MPT to the VKT
- A new set of cryptography primitives
- New fields at the block level
EIPs/Specs/Related Docs
- EIP-6800: Ethereum state using a unified verkle tree (draft)
- EIP-4762: Statelessness gas cost change (draft)
- EIP-7545: Verkle proof verification precompile (draft)
- EIP-2935: Save historical block hashes in state (draft)
Spec PRs:
Transition:
Archive and other related docs:
Overview
📘 Learn More
Videos
- Verkle Trees 101 - Guillaume Ballet, Ignacio Hagopian, Josh Rudolf, April 2024
- The Verge: Converting the Ethereum State to Verkle Trees - Guillaume Ballet, July 2023
- Ava Labs Systems Seminar : Verkle trees for statelessness - Guillaume Ballet, October 2023
- DevCon: How Verkle Trees Make Ethereum Lean and Mean - Guillaume Ballet, Oct 2022
- The Verkle Tree Upgrade - Guillaume Ballet, June 2022
- Verkle Tries for Ethereum State - Dankrad Feist, Sept 2021
Writeups
- Document playing out how the overlay transition works - Guillaume Ballet, November 2023
- Gas costs writeup - Guillaume Ballet, 2023
- Verkle Tree EIP - Vitalik, 2022
- Verkle Tree Structure - Guillaume Ballet & Dankrad Feist, Dec 2021
- Verkle trie for Eth1 state - Dankrad Feist, June 2021
- Verkle Trees - Vitalik, June 2021
- Witness Gas Costs - Vitalik, June 2021
- State expiry and statelessness roadmap - Vitalik, June 2021
- Pragmatic destruction of selfdestruct - Vitalik, Feb 2021
- Why Stateless - Dankrad Feist, Feb 2021
- A Theory of Ethereum State Size Management - Vitalik, Feb 2021
- Verkle Trees (original paper) - John Kuszmaul, 2018
6
Client Implementations
Updated: May 06, 2024
Updates shared in Verkle Implementers Calls…
Latest summary here
Cryptography and other
- Rust (rust-ipa)
- Go (go-ipa)
- Nim
- C#
- python ref
- rust-verkle
- rust analogue to go-ethereum, but not currently used by any clients
Execution Layer
Consensus Layer
- Lighthouse
- Lodestar
- Prysm, Teku, Nimbus
- tbd
EL Status
Client | Implementation | Testnet |
Besu | WIP | 🔧 In progress |
Erigon | WIP | |
EthJS | WIP | ✅ Kaustinen |
Geth | WIP | ✅ Kaustinen |
Nethermind | WIP | ✅ Kaustinen |
Nimbus | WIP | |
Reth | — |
CL Status
Client | Implementation | Testnet |
Lighthouse | WIP | ✅ Kaustinen |
Lodestar | WIP | ✅ Kaustinen |
Nimbus | WIP | 🔧 In progress |
Prysm | — | |
Teku | — |