TORNADO CASH / ZERO KNOWLEDGE

Circuit & Verifier Registry

13 COMPONENTS3 PROTOCOL FAMILIES2 CHAINS

REGISTRY OVERVIEW

TECHNICAL REFERENCE
4CIRCUIT FAMILIES
6DEPLOYED VERIFIER / HASH COMPONENTS
Groth16CLASSIC + MINING PROOF SYSTEM
BN254TRUSTED-SETUP CURVE FAMILY

VERIFICATION PATH

CLASSIC WITHDRAWAL FLOW
01Note / commitmentCommitment enters the pool's Merkle tree.
02Merkle witnessUser constructs a witness proving membership without revealing the leaf.
03Withdraw circuitThe circuit constrains membership, nullifier and withdrawal public data.
04Groth16 proofProof is generated from the proving key and private witness.
05On-chain verifierThe pool calls the verifier with six public inputs before processing withdrawal.

PROTOCOL MATRIX

SOURCE / DEPLOYMENT CONTEXT
PROTOCOL
NETWORK
ZERO-KNOWLEDGE LAYER
HASH / STATE
PRIMARY SOURCE
Classic
Ethereum / EVM
Withdraw circuit + generated Groth16 verifier
MiMC Merkle tree
Anonymity Mining
Ethereum
TreeUpdate + Reward + Withdraw circuits
Mining/tree state
Nova
Gnosis Chain
Transaction 2 + Transaction 16 circuits
Poseidon

COMPONENT REGISTRY

CLICK A ROW FOR TECHNICAL DETAILS
COMPONENT
PROTOCOL
TYPE
NETWORK
REFERENCE

TRUSTED SETUP & BUILD ARTIFACTS

REPRODUCIBILITY REFERENCE

CLASSIC / WITHDRAW

  • withdraw.json — compiled circuit
  • withdraw.params — phase-2 parameters
  • withdraw_proving_key.json / .bin — proving material
  • withdraw_verification_key.json — verification key
  • Verifier.sol — generated Solidity verifier
  • Trusted setup tooling ↗

ANONYMITY MINING

  • Reward.json / Reward.params
  • Reward proving + verification keys
  • RewardVerifier.sol
  • TreeUpdate.json / TreeUpdate.params
  • TreeUpdate proving + verification keys
  • v1.0.0 release artifacts ↗

NOVA

IMPLEMENTATION NOTES

PROTOCOL-LEVEL DETAILS
CLASSIC PUBLIC INPUTS

The Classic Tornado contract supplies six values to the verifier: Merkle root, nullifier hash, recipient, relayer, fee and refund.

CLASSIC CONTRACT BINDING

Each Classic pool instance is constructed with a verifier address and a hash-contract address. The verifier is therefore part of the deployed pool configuration, not a client-side trust decision.

MERKLE TREE

The Classic tree contract keeps a bounded history of roots and uses a field modulus for the BN254 scalar field. Withdrawals must reference a known recent root.

ANONYMITY MINING BUILD

The v2 repository builds three circuit families through dedicated tasks: Reward, Withdraw and TreeUpdate.

NOVA

Nova is an arbitrary-amount privacy pool with internal shielded transfers on Gnosis Chain. Official documentation lists Verifier 2, Verifier 16 and the Hasher as separate deployed components.

TRUSTED SETUP

The Classic production verifier is generated from ceremony output. The published setup workflow exports proving/verification keys and generates Verifier.sol from the resulting phase-2 parameters.