Key terms and definitions used throughout this document
Note - Your private withdrawal key, generated during deposit
Commitment - Cryptographic hash stored on-chain when you deposit
Nullifier - Unique identifier revealed during withdrawal to prevent double-spend
Relayer - Third-party that submits your withdrawal transaction (hides your IP/wallet from the chain)
Anonymity - set Number of deposits in the pool — the larger, the better your privacy
Merkle tree - Data structure that stores all commitments efficiently
ZK proof - Mathematical proof that you deposited without revealing which deposit is yours