DOCS / PROTOCOL
DESIGN DOCUMENT · PRE-RELEASE
Proof system
Prove a valid state transition without publishing the private witness.
Protocol behavior is proposed. This release is an interface preview; no funds or wallet signatures are accepted.
Candidate cryptographic stack
| Primitive | Proposed role |
|---|---|
| Noir | Express circuit constraints |
| UltraHonk / Barretenberg | Generate and verify zero-knowledge proofs |
| Poseidon2 | Commitments, nullifiers, and circuit-friendly hashing |
| secp256k1 ECDSA | Verify existing Ethereum wallet signatures |
| Grumpkin | In-circuit key exchange |
| Incremental Merkle tree | Track accepted note and key commitments |
Required constraints
- The signed transaction decodes canonically and authorizes this exact action.
- Every real input note has valid ownership and Merkle membership.
- Nullifiers derive correctly and are unique within the transition.
- Asset-specific input value covers all outputs and fees.
- Receiving-key membership and output encryption are correct.
- Public inputs are range-checked and bind to the on-chain execution context.
Performance targets
Fast local proving is a product goal, not a Jammer benchmark. End-to-end completion includes witness construction, proof generation, submission, base-chain inclusion, and recipient indexing.
“Under 30 seconds” and device-specific proving claims need reproducible measurements across hardware, network conditions, note counts, and proof versions before publication.
Versioning
Circuit binaries, proving artifacts, verifier bytecode, and parameter sets must be released as a coherent version. A change to constraints is a security-sensitive protocol change.
JAMMER / DOCUMENTATION DESIGN REVISION 0.1