I’m currently researching Tornado Cash, mainly because I believe it’s a proven application of ZK technology and has broad privacy-oriented uses for community members. I’ve created this thread to discuss it with everyone.
Tornado Cash (also stylized as TornadoCash ) is an open source, non-custodial, fully decentralized cryptocurrency tumbler that runs on Ethereum Virtual Machine-compatible networks. It offers a service that mixes potentially identifiable or “tainted” cryptocurrency funds with others, so as to obscure the trail back to the fund’s original source. This is a privacy tool used in EVM networks where all transactions are public by default.
Nocturne is a protocol enabling private accounts on Ethereum. Imagine a conventional Ethereum account but with built-in asset privacy. Nocturne allows users to deposit or receive funds to private, stealth addresses within the Nocturne contracts. Then, in the future, a user can prove ownership of assets in zero knowledge for use in arbitrary transactions or confidential transfers.It is currently abandoned.
https://nocturne-xyz.gitbook.io/nocturne
The Privacy-Audit Dilemma Facing Privacy Coins
How Tornado Cash Achieves Privacy Protection
At the core of Tornado Cash’s privacy capability is ZK technology, which enables proof of ownership without revealing user identities or transaction details. Tornado Cash’s main contracts, known as pools, are designed for deposit and withdrawal operations. Users deposit funds into a pool contract and receive an anonymous proof to use later for withdrawal, thereby obscuring the original source of funds.
How Privacy Protections Can Facilitate Illicit Activities
This anonymity makes Tornado Cash a favored tool for money laundering. Several documented cases illustrate how malicious actors have leveraged Tornado Cash’s anonymity to launder stolen funds, often evading regulatory scrutiny. Criminals have effectively obscured the money trail, making it difficult for law enforcement to track illicit transactions.
The U.S. Treasury Sanctions on Tornado Cash
In August 2022, the U.S. Treasury’s Office of Foreign Assets Control (OFAC) sanctioned Tornado Cash, adding its associated USDC and ETH addresses to the Specially Designated Nationals (SDN) list, barring U.S. residents from using the service. The Treasury cited Tornado Cash’s role in numerous decentralized finance (DeFi) hacks, where individuals and groups allegedly laundered over $7 billion worth of cryptocurrency through the platform since its inception in 2019.
Future Evolution of Privacy Transactions: Selective Auditing as a Path Forward
As privacy solutions evolve, selective auditing features may become standard, enabling both anonymity for users and transparency for regulators. For example, Japan’s recent crackdown on a Monero laundering operation involving over 100 million yen highlights the global regulatory push for compliance in privacy-preserving systems.
Balancing Anonymity and Auditability
The Role of Zero-Knowledge Technology
Zero-knowledge proofs (ZKPs) are central to maintaining anonymity in the cryptocurrency space. By proving information without revealing it, ZKPs provide a basis for private transactions. However, purely anonymous systems can pose regulatory challenges. Recent innovations in ZK technology, like “partially decryptable zero-knowledge proofs” or Selectively Auditable Zero-Knowledge Proofs (SA-ZKPs), offer a promising balance between privacy and auditability.
The SA-ZKP Algorithm
The SA-ZKP algorithm comprises the following components:
- Commitment Scheme C=(CKeygen,Commit,COpen)C = (CKeygen, Commit, COpen)C=(CKeygen,Commit,COpen): Establishes a commitment to private data, allowing it to be used in proofs without revealing it.
- Zero-Knowledge Proof Σ=(K,P,V)\Sigma = (K, P, V)Σ=(K,P,V): Allows verifiable proof of commitment without disclosing the committed data.
- Trapdoor Generation: Creates a cryptographic “trapdoor” to enable selective auditability.
- Selective Decryption Process: Allows authorized entities to selectively decrypt committed data for regulatory auditing.
Regulated Tornado Cash Workflow with SA-ZKP
Applying the SA-ZKP algorithm to a regulated version of Tornado Cash could create a privacy-compliant framework with selective auditability:
- Regulator Registration (Trapdoor Generation): Regulators register with the network to gain access to audit permissions through a cryptographic trapdoor.
- Transaction Flow: Users deposit funds anonymously, with cryptographic commitments created for auditing if necessary.
- Audit Process (Selective Decryption): In cases of suspicious activity, regulators can selectively decrypt transaction data to investigate without compromising the privacy of all users.
By integrating SA-ZKP with Tornado Cash’s core operations, we can achieve a dual objective: respecting user privacy while empowering regulatory authorities with necessary oversight capabilities.
If I were to launch a new version of a mixer, where I would decrypt specific transaction proofs for law enforcement using a trapdoor key when requested, would you still use this mixer? Why or why not?