Tornado Cash Official Logo

Tornado Cash Official

How does Tornado Cash Official work?

Tornado Cash Official is a decentralized protocol that enables private cryptocurrency transactions using zk-SNARKs. This page explains the mechanics of its anonymity pools and transaction flow.

Anonymity Pools

Tornado Cash Official operates through fixed-denomination anonymity pools (e.g., 0.1 ETH, 1 ETH, 10 ETH) on Ethereum and Binance Smart Chain. Each pool is a smart contract that holds deposited funds from multiple users, creating a large anonymity set to obscure transaction origins.

Transaction Flow

  1. Deposit: A user sends a fixed amount to a pool, receiving a cryptographic note (a private key) that proves their deposit. This note must be stored securely.
  2. Mixing: The deposited funds are pooled with others, breaking the direct link between the user’s deposit address and the funds.
  3. Withdrawal: Using the cryptographic note, the user generates a zk-SNARK proof to withdraw funds to a new address without revealing the deposit. A relayer can be used for gasless withdrawals to enhance privacy.

Note: The larger the anonymity set (number of deposits in a pool), the stronger the privacy. Always follow Tips to remain anonymous.

Role of zk-SNARKs

zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) allow users to prove they deposited funds without revealing which deposit was theirs. This ensures withdrawals are anonymous yet verifiable by the smart contract.

Additional Features

Security Considerations

While Tornado Cash Official is designed for privacy, users must:

Further Reading

Explore related topics: