# **SSZ Execution Block Devnet 0 Specification** :::info :mega: **SSZ Execution Block Devnet 0** **Planned launch:** Targeting **Feb 15, 2026 – 12:00 UTC** **Expected duration:** ~10 days **Primary focus:** First multi-client interoperability devnet for **EIP-7807 SSZ-native execution blocks** ::: ## 1. Purpose and Scope ### 1.1 Primary Goals This devnet exists to validate: * End-to-end **client interoperability** for **SSZ-native execution payloads** * Correct implementation of **SSZ-based execution hashing** (no RLP roots) * Stability of **Consensus ↔ Execution** interaction after **SSZ execution structures** * Correctness of **Engine API SSZ variants** * Early feedback on **implementation complexity and operational risk** ### 1.2 Non-Goals Explicitly out of scope: * Performance benchmarking or throughput comparisons * Wallet / RPC UX polish * Long-term chain stability guarantees ## 2. Fork Context ### 2.1 Fork Name and Activation * **Fork name:** `Heka` * **Activation mechanism:** **epoch-based** ## 3. Included EIPs ### 3.1 EIP Inclusion Table | EIP | Title | Category | Status | Notes | | ------------ | -------------------- | --------- | --------- | --------------------- | | **EIP-7807** | SSZ Execution Blocks | Meta | **new** | Primary focus | | **EIP-6404** | SSZ Transactions | Execution | new | Required dependency | | **EIP-6466** | SSZ Receipts | Execution | new | Required dependency | | **EIP-6465** | Withdrawals Root | Execution | new | Transitively required | ### 3.2 EIP-by-EIP Notes #### **EIP-7807 — SSZ Execution Blocks** * **Breaking changes since last devnet:** * N/A – first interop devnet * **Client expectations:** * **CL** * Fork-aware execution payload handling * Validation of SSZ execution block roots * **EL** * Native SSZ block processing * Canonical SSZ hashing * Backward-compatibility logic for pre-fork blocks * **Known open questions:** * Exact canonicalization rules for transitional blocks * Error semantics for mixed SSZ / legacy payloads #### **EIP-6404 — SSZ Transactions** * **Breaking changes:** * Replacement of RLP tx encoding with SSZ containers * **Client expectations:** * **EL** * SSZ tx decoding + validation * Transaction root derivation via SSZ * **CL** * Transparent passthrough (no semantic tx validation) * **Open questions:** * Mempool representation strategy (internal only) * Including https://eips.ethereum.org/EIPS/eip-6493 in this devnet #### **EIP-6466 — SSZ Receipts** * **Breaking changes:** * Receipt root derived from SSZ containers * **Client expectations:** * **EL** * SSZ receipt construction * Backward-compatible receipt RPC encoding * **Open questions:** * Receipt RPC shape stabilization ## 4. Required Client Capabilities ### 4.1 Consensus Clients MUST * Support **Heka fork activation** * Validate SSZ execution payload roots ### 4.2 Execution Clients MUST * Implement: * EIP-7807 * EIP-6404 * EIP-6466 ## 6. Interoperability Matrix ### 6.1 Expected Participation > **Note:** > Devnet-0 is a bootstrap devnet. At launch, only a **Nimbus CL ↔ Nimbus EL** > pairing is expected to fully participate. Other clients are listed for > visibility and future planning only. | CL Client | EL Client | Expected | | ---------- | ------------- | -------- | | Nimbus | Nimbus-EL | Yes | | Lighthouse | Geth | No (planned) | | Lodestar | Reth | No (planned) | | Prysm | Besu | No (planned) | | Nimbus | Nethermind | No (planned) | ## 7. Kurtosis Configuration TODO-will be provided soon ## 8. Testing Plan > **Scope note:** > Devnet-0 is a **bootstrap correctness devnet**. At launch, only a **Nimbus CL ↔ Nimbus EL** pairing is expected to be fully functional. > Inter-client interoperability is **explicitly not required** for Devnet-0 and will be addressed in follow-up devnets. ### 8.1 Smoke Tests (Nimbus ↔ Nimbus) The following must succeed for the **Nimbus CL + Nimbus EL** pairing: * Successful fork activation at the configured epoch * Continuous block production post-fork * Validator participation ≥ **66%** * Stable Engine API handshake using **SSZ payload variants** * No consensus halts attributable to SSZ execution payloads ### 8.2 Targeted Tests (Single-Pair Correctness) These tests focus on **semantic correctness**, not interop: * **SSZ execution block root validation** * CL-computed execution root matches EL-reported root * **Fork-crossing reorg handling** * Reorgs that cross the SSZ-EL fork boundary are processed correctly * **SSZ receipt root consistency** * Receipt roots remain stable across reorgs and re-execution * **Engine API format discipline** * Correct rejection of mixed SSZ / legacy JSON payloads * No silent fallback to legacy RLP paths ### 8.3 Explicitly Deferred Tests The following are **out of scope for Devnet-0**: * Cross-client EL ↔ EL interoperability * Cross-client CL ↔ CL interoperability * Wallet-facing RPC stability guarantees * Performance, throughput, or latency metrics These will be addressed in **Devnet-1+** once additional clients land SSZ support. ### 8.4 Failure Criteria (Bootstrap-Scoped) Devnet-0 is considered **failed** if **any** of the following occur **for the a participating pairing**: * Finality cannot be achieved * Deterministic SSZ execution roots diverge between CL and EL * Fork activation causes persistent block production failure * Engine API incompatibility prevents post-fork execution ## 9. Reorg and Recovery Expectations Clients **must** correctly handle: * Reorgs crossing the SSZ-EL fork * Temporary EL desynchronization ## 10. Monitoring and Tooling ### 10.1 Required * Beacon explorer * Execution metrics dashboard * Fork transition monitor ### 10.2 Optional * Proof-of-data completeness harness * SSZ vs legacy diff tool ## 11. Open Questions * Should SSZ Engine API be **mandatory** for future devnets? * How strict should mixed-format rejection be? * Do wallets need early SSZ receipt exposure? ## 12. Exit Criteria Devnet may shut down once: * All critical EIPs validated * Blocking issues documented
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up