jammer
Enter beta
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

PrimitiveProposed role
NoirExpress circuit constraints
UltraHonk / BarretenbergGenerate and verify zero-knowledge proofs
Poseidon2Commitments, nullifiers, and circuit-friendly hashing
secp256k1 ECDSAVerify existing Ethereum wallet signatures
GrumpkinIn-circuit key exchange
Incremental Merkle treeTrack 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