Recursion dominates ethproofs e2e around 50% or more compared with base-layer. See benchmark ceno-reth.
Ceno recursion sticks to in-house fork openvm v1.4.1 which is quite old and prover performance degrades compared with the multivariate version (ceno base layer).
OpenVM is WIP upgrading to multivariate develop-v2. To boost ceno recursion performance, we upgrade recursion to openvm v2. Once completed, we can plan to swap the recursion backend proving to ceno as well.
Implementation lives in ceno_recursion_v2/. Detailed plan: ceno_recursion_v2/PLAN.md.
Architecture
The v2 recursive verifier is a multi-AIR STARK circuit (25+ AIRs). Each protocol step is its own module with typed buses. The openvm v2 prover generates the proof; Ceno owns the AIR constraints and trace generation.
proof-shape → GKR tower → main sumcheck → batch constraint → jagged reduction → basefold
Phases
Phase 0: Integration stack (current priority)
Build end-to-end test: read proofs → preflight → tracegen → prove → verify.
All modules registered (placeholder traces OK). Log proving time + proof size.
Phase 1: Complete existing AIR wiring
Make AIR traces real (not placeholder), module by module.
Phase 2: Jagged Reduction + Basefold
PCS verification pipeline — critical path for soundness.
Phase 3: Multi-proof aggregation
AIR inventory (25+)
| Module |
Count |
Status |
| Transcript |
1 |
✅ Done |
| Tower/GKR |
5 |
✅ Done |
| Main |
2 |
✅ Done |
| Proof Shape |
2 |
⚠️ AIR done, tracegen placeholder |
| Batch Constraint |
3 |
⚠️ AIR done, module disabled |
| Inner Circuit |
4 |
⚠️ 90%, bus wiring TODO |
| Jagged Reduction |
7 |
❌ Not started (spec exists) |
| Basefold |
1+ |
❌ Not started (no spec) |
Base layer changes
Reduce dynamism for recursion implementation:
Recursion dominates ethproofs e2e around 50% or more compared with base-layer. See benchmark ceno-reth.
Ceno recursion sticks to in-house fork openvm v1.4.1 which is quite old and prover performance degrades compared with the multivariate version (ceno base layer).
OpenVM is WIP upgrading to multivariate develop-v2. To boost ceno recursion performance, we upgrade recursion to openvm v2. Once completed, we can plan to swap the recursion backend proving to ceno as well.
Implementation lives in
ceno_recursion_v2/. Detailed plan:ceno_recursion_v2/PLAN.md.Architecture
The v2 recursive verifier is a multi-AIR STARK circuit (25+ AIRs). Each protocol step is its own module with typed buses. The openvm v2 prover generates the proof; Ceno owns the AIR constraints and trace generation.
Phases
Phase 0: Integration stack (current priority)
Build end-to-end test: read proofs → preflight → tracegen → prove → verify.
All modules registered (placeholder traces OK). Log proving time + proof size.
Phase 1: Complete existing AIR wiring
Make AIR traces real (not placeholder), module by module.
public_values_bus,cached_commit_bus)convert_proof_from_zkvm,convert_vk_from_zkvm)Phase 2: Jagged Reduction + Basefold
PCS verification pipeline — critical path for soundness.
Phase 3: Multi-proof aggregation
AIR inventory (25+)
Base layer changes
Reduce dynamism for recursion implementation: