ZK Rollup Lab
Chain activity
click a proof batch to open the concept tour
ZK batches group L2 blocks under one proof submission. Click a batch card to inspect public inputs and verifier results.
① Claim
Header + state root on L1
② Prove
Off-chain witness & constraints
③ Verify
Instant accept / reject
Validity, not privacy or DA
This is a validity-proof demo, not a privacy demo. The proof shows the state transition is valid. It does not model data availability, calldata/blobs, or private transaction designs.
What the proof does not solve here: users still need transaction data to reconstruct L2 state. This lab focuses on validity checking, not how batch data is published or stored.
Scoreboard
ZK: Validity
Prove first, accept after
Submitted
0
Verified
0
Rejected
0
Challenge window
0
Invalid claims ~1 in 16. They fail at proof verification, not through a fraud-proof game.
ZK in three beats
Same batch window as OP, opposite trust model, validity is proved, not assumed.
①
Claim
Header + state root on L1
②
Prove
Off-chain witness & constraints
③
Verify
Instant accept / reject
Start the demo, a live ZK batch tour appears here.
Event log
ZK lane · click any event for details
Recent
No events yet - start a demo.
Proof lab
Open a ZK proof when you want to inspect witness inputs, proof cost, and L1 verifier output.
Start a demo and wait for a ZK batch submission. Validity proof tours appear here.
What happens when a ZK proof reaches L1?
- The prover builds a witness from the L2 execution trace and public inputs.
- The operator pays proving cost off-chain and submits proof data to L1.
- The verifier contract checks the proof against the claimed state transition.
- If the proof verifies, L1 accepts the new state root and bridge finality advances.
- If the proof fails, L1 rejects that update at the validity gate.
- A failed ZK proof does not become an optimistic fraud-proof game.