A recursive SNARK system combining SuperNova IVC folding with Spartan-IPA, wrapped in Groth16 for on-chain verification.
┌─────────────────────────────────────────────────────────────────┐
│ 1. FOLDING (SuperNova IVC) - Grumpkin Curve │
│ └─> Rust: hyperfold-core (arecibo fork) │
│ │
│ 2. SPARTAN-IPA - Grumpkin Curve │
│ └─> Rust: arecibo/src/spartan + provider/ipa_pc.rs │
│ │
│ 3. GROTH16 WRAPPER - BN254 │
│ └─> Verifies: Spartan-IPA proof (secondary SNARK) │
│ └─> Circom: crates/hyperfold-circuit │
└─────────────────────────────────────────────────────────────────┘
| Crate | Description |
|---|---|
arecibo |
Fork of arecibo with Spartan-IPA modifications |
hyperfold-core |
SuperNova folding implementation |
hyperfold-bridge |
Rust ↔ Circom serialization layer |
hyperfold-circuit |
Circom Groth16 wrapper circuit |
| Component | Curve | Scalar Field | Base Field |
|---|---|---|---|
| Circom | BN254 | Fr (native) | Fq |
| Folding | Grumpkin | Fq (= BN254 Fq) | Fr (= BN254 Fr) |
| Spartan-IPA | Grumpkin | Fq | Fr |
| Groth16 wrapper | BN254 | Fr | Fq |
cargo build --release# Run hyperfold demo
cargo run --release -p hyperfold-core --example hyperfold_demo
# Export proof for Circom
cargo run --release -p hyperfold-bridge --bin hyperfold_app- Folding + Spartan-IPA: Production ready
- Groth16 Wrapper: Experimental (see
crates/hyperfold-circuit/POC_REPORT.md)