Skip to content

docs(plonky3): solution-space research — NO-GO overturned (Probe Q), 9 paths - #213

Closed
TaprootFreak wants to merge 0 commit into
stagingfrom
feat/plonky3-solutions-research
Closed

docs(plonky3): solution-space research — NO-GO overturned (Probe Q), 9 paths#213
TaprootFreak wants to merge 0 commit into
stagingfrom
feat/plonky3-solutions-research

Conversation

@TaprootFreak

Copy link
Copy Markdown
Contributor

Summary

The Phase-0 gate (#212) recorded NO-GO ("no per-instance value channel across a batch-recursion layer"). This branch overturns that and exhaustively explores the solution space.

🟢 The NO-GO was scoped too narrowly. probe_q_custom_public_value empirically proves the channel EXISTS: a custom AIR with num_public_values()=1 proved with prove_batch and verified in-circuit via verify_batch_circuit surfaces its public value as a non-empty air_public_target (NOT [0,0,0]) and binds it soundly across the batch layer (correct value accepted, wrong rejected). This rides on upstream PR #407 "feat: support public values" (merged 2026-03-19, already in our pinned rev 524665d). My [0,0,0] finding held only for the PRIMITIVE tables / CircuitBuilder public inputs — not for a public-value-emitting AIR.

Deliverables

  • MIGRATION_PLONKY3_SOLUTIONS_RESEARCH.md — all 9 paths enumerated + assessed with links/repo-pointers (real web + GitHub research via subagents).
  • probe_q_custom_public_value (18th probe) — the empirical proof that overturns the gate.

The 9 paths (ranked)

# Path Verdict
1+5 Plonky3 + custom public-value-emitting tables ✅ channel proven (Probe Q); IVC chaining = public-API construction (~400-650 LOC, no fork)
3 Folding / Sonobe (Nova/CycleFold) ✅ native IVC (z_i→z_{i+1}); strong alternative; ≤5s latency unproven
2 Self-authored upstream PR (atop #407) ✅ plausible additive
7 RISC Zero / OpenVM (zkVM) ✅ shipped, heavyweight, GPU-leaning
4 Hybrid Plonky2/Plonky3 ⚠️ low-value
6 Protocol redesign (off-circuit continuity via trusted node, §7.22 posture) ⚠️ cheapest, reduces soundness scope
8 Fork (excluded §16) ⚠️ surfaced
9 Stwo/Triton-VM/Halo2-accumulation ⚠️ paradigm rewrites

Recommendation

Pursue Path 1+5 (keeps the chosen stack; channel empirically proven) behind a carrier-table IVC-chain spike (Probe R, next), with Sonobe benchmarked in parallel (Path 3) as the cleanest native-IVC fallback, and Path 6 (off-circuit continuity) as the cheapest redesign. Operator chooses. Plonky2 stays in production until a path clears a latency gate.

Probes D/G/H/J remain valid — they correctly bound the high-level-API / stock-table behavior; Probe Q identifies the supported construction they didn't test.

Notes

  • Builds on #212 (the spike). Spike still excluded from node/shared CI; fmt + clippy -D warnings clean.
  • KEY correction to the gate — the gate memo will be updated to reflect GO-via-Probe-Q once the carrier-table chain (Probe R) confirms end-to-end IVC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant