SSZ Execution Blocks (EIP-7807) for Geth

Video

Geth has three disconnected SSZ mechanisms and no shared implementation: fastssz in one file, zrnt behind the light client, and two hand-rolled merkleizers in beacon/types with TODOs from 2023 asking for an SSZ encoder. None of them can compute a progressive root. EIP-7688 is scheduled for Glamsterdam and converts the types Geth's light client roots through zrnt, dormant since February 2025.

My EPF project is core/ssz: encoding, strict decoding, classic and progressive merkleization per EIP-7495 and EIP-7916, and Merkle proof generation, with the EIP-7807 block on top.

The talk walks through the design: hand-written per-type methods rather than reflection, batched hashing through gohashtree, a zero-hash table derived at startup, and a decoder that latches errors instead of returning them per field. Each choice is compared against how Erigon and Nimbus made it. Everything is checked against the official ssz_generic vectors, and the work is landing upstream as small PRs.

Speakers: Vivek Singh Solanki

Track: [CLS] - EPF

Watch on YouTube ↗

Video Ethereum Foundation

Building a Privacy Browser for Ethereum

Today, a wallet address lets dApps profile you across the web. The services that connect your wallet to Ethereum can see your IP address. Any transaction leaves a permanent public trail....

Video Ethereum Foundation

Trash Piracy: an Opsec Case Study

(This talk does NOT encourage or condone criminal acts in any jurisdiction) Pirates make trash too, but they have no trash service to dispose of it with. If (hypothetically) someone...

Video Ethereum Foundation

How to Shield Your ETH from Your Mum, Compliantly

Ethereum's transparency is a good feature, but they doesn't fit to some use cases -- e.g., Payroll, treasury operations, vendor payments, personal holdings. Teams that actually move...