feat: add HyperKZG zero-knowledge openings#1600
Conversation
cfa79a0 to
131c07b
Compare
289808a to
627edbd
Compare
|
Stack maintenance — rebased onto #1599 ( 📚 Stack A: #1596 → #1597 → #1598 → #1599 → #1600 (this PR) → #1601 → #1602 → #1603 #1596 and #1597 are shared by both stacks; each PR targets the one before it. Conflict resolution
|
|
Claude code review session started: https://claude.ai/code/session_01SSHUghHhaiXRDU1SxBgbvK |
moodlezoup
left a comment
There was a problem hiding this comment.
Reviewed the HyperKZG ZK opening protocol with a focus on soundness. The Fiat-Shamir ordering is consistent between prover and verifier across all three challenge derivations (r after appending point/y_out/com; alpha/q after appending the hidden eval-commitment rows; d after appending the witnesses), so no challenge depends on a value committed later. The verifier-side length checks (com.len()+1 == ell, eval-row widths) gate all indexing before the transcript is touched, so a malformed proof can't trigger an out-of-bounds panic. I also re-derived solve_v2_fold_randomizers against the gemini blinding relations and the two-point linear system solves out exactly, and the batched pairing check expands (by powers of d) into the expected per-point KZG opening identities. No soundness or correctness issues found. One minor simplification noted inline.
Generated by Claude Code
| Self::open_with_mode::<Transparent, T>(setup, evals, point, transcript) | ||
| } | ||
|
|
||
| fn open_with_mode<M, T>( |
There was a problem hiding this comment.
open_with_mode is only ever instantiated with Transparent — the ZK path goes through open_zk_inner, not here — and the body immediately debug_asserts M::PROOF_KIND == Clear. The M parameter buys nothing; folding this back into a plain open would drop the dead generality. (commit_with_mode's M is fine since it has both Transparent and Zk callers.)
Generated by Claude Code
131c07b to
ab30576
Compare
6d77405 to
fd2a7a3
Compare
Part of the draft Jolt prover stack.
Base:
prover-stack/04-hyraxHead:
prover-stack/05-hyperkzg-zkAdds HyperKZG ZK setup/opening support, tests, and protocol spec.
Validation before submission:
cargo fmt -q -- --checkcargo metadata --no-deps --format-version 1gh stack pushsimulation against a temporary bare remotehandoffs/, oldSTACK.md,stack/, and old stack workflow