← Home

200ms Block Time

Purpose

Bottom line: Native 200ms blocks are the clearest path to preserve Flashblocks-class UX in the protocol itself, remove a large part of the current Base-specific interaction burden, and satisfy a large share of the execution and scaling work that matters most this year.

This document assumes we are already aligned on the objective: ship native canonical 200ms blocks if the system can support them safely and credibly.

Why this matters, briefly:

The goal is to make clear:

State of the world

What success looks like

Success means we can ship direct mainnet 200ms with evidence — not intuition — that the system holds up end-to-end at 200ms across the sequencer path, the validator / base-consensus path, follower distribution, proof serving, and the existing ecosystem.

The detailed bar for each of those is defined in Hard gates below. Anything that misses its gate means direct mainnet 200ms is not ready to ship.

How to read this plan

This plan is organized around the decisions and work that determine whether direct mainnet 200ms is credible.

Hard gates

These are the gates that decide whether direct mainnet 200ms is credible.

Gate 1 — Shipping contract

A single written definition of what shipping native 200ms means.

It must lock:

Gate 2 — Timestamp semantics

Final decision on same-second blocks and the compatibility blast radius across contracts, tooling, and downstream consumers.

Gate 3 — Non-QMDB core viability

Prove the non-QMDB state path can support 200ms under realistic profiles. If it cannot, QMDB becomes a real decision instead of a background option.

Gate 4 — Block building performance

Prove the sequencer hot path consistently fits inside 200ms under realistic mempool conditions, target gas, and named load profiles. This includes transaction execution, state root computation, State DB commit, Engine API latency, mempool interaction, assembly/sealing, and gossip initiation.

Gate 5 — Historical proof-serving viability

Prove the reth historical proof-serving path can live with 200ms blocks. Multiprover proof generation mostly runs off the hot path, but proof serving is still a shipping requirement, and with reth as the only client there is no alternate-client escape hatch if this path falls behind.

Must cover same-gas-per-second benchmarking and catch-up after backlog or downtime.

Gate 6 — Distribution / P2P viability

Prove the supported follower topology can stay close enough to the unsafe head at 200ms. If plain gossip is insufficient, the required launch topology must be explicit.

Gate 7 — HA / failover readiness

Prove the sequencer HA path — including op-conductor — can support 200ms without turning failover into empty-block theater. Must cover leader transfer time, failover empty-block behavior, raft latency, payload-size sensitivity, and sustained stability under load.

Gate 8 — Proof / security posture

Establish explicit mainnet posture for output roots, disputes, and proof generation. Multiprover proof generation can remain off the hot path, but the overall proof/security model still needs formal signoff, and any dependence on the reth proof-serving path must be explicit.

Dependency view

This shows the minimum unblock relationships between workstreams.

Interactive Plan

17-Step Dependency Tree

Click a node to unlock it — its children light up when their prerequisites are met. The critical chain runs Steps 1 → 2 → 3 → 5 → (6, 7, 8) → 9 → 10 → 13 → 15 → 16 → 17.

0/ 17 unlocked0/ 13 critical-path
1234567891011121314151617
Hover a node for details

Categories

  • Gate / Decision
  • Measurement
  • Execution Layer
  • Validator / Consensus
  • Protocol / Economics
  • Proof / Security
  • Flashblocks Migration
  • Distribution / P2P
  • HA / Failover
  • Integration / Validation
  • Release Decision
How it works
  • Locked — prerequisites missing
  • Ready — click to unlock
  • Unlocked

Critical path

The critical path to direct mainnet 200ms is:

  1. Shipping contract
  2. Baseline measurement
  3. Timestamp semantics
  4. Non-QMDB state-root direction
  5. Sequencer pipeline + Engine API + validator path
  6. Historical proof-serving viability
  7. Integrated devnet
  8. Adversarial soak
  9. Public testnet
  10. Mainnet recommendation

Notes:

Q2 plan

Q2 is the de-risking quarter for direct mainnet 200ms.

Q2 must-complete outputs

Decisions

Measurements

Prototypes

Launch-risk characterization

Q2 expected output

By the end of Q2, we should know:

QMDB escalation rules

QMDB should become critical-path only if the non-QMDB route fails against shipping SLOs.

Pull QMDB forward only if one or more of the following happen:

Do not escalate to QMDB just because the historical proof-serving path or its retention defaults need tuning. First prove whether the current non-QMDB state path and the reth proof-serving path can be made to work within the contract.

If those triggers are not hit, QMDB stays a parallel long-term state-commitment track.

Immediate next steps

If we were starting this work this week, the next moves should be:

  1. Freeze the written shipping contract, including empty-block policy, topology, proof-serving lag, and failover SLOs.
  2. Land the baseline measurement harness and define same-gas/sec-at-200ms profiles.
  3. Freeze the timestamp decision + compatibility matrix.
  4. Write the proof / output-root pre-gate questions and red-flag criteria.
  5. Choose and benchmark the first non-QMDB MVP hypothesis.
  6. Single base binary to avoid engine API overhead.
  7. Define the historical proof-serving benchmark and catch-up tests.
  8. Define the P2P / topology and HA / failover experiments, then inventory Flashblocks consumers.

Risks to keep visible