Immutable Pool Contracts: owner == 0x0000000000000000000000000000000000000000 (Zero Admin Mutability)
Incident Executive Summary: Autonomous Cryptographic Code Meets IEEPA
Unlike traditional entries in DT.gl's Crypto & Privacy Incident Ledger involving stolen private keys or Solidity logic bugs, DT-INC-2025-003 documents the defining constitutional, statutory, and cryptographic confrontation of modern Web3 privacy: the August 8, 2022 designation of autonomous Tornado Cash smart-contract addresses on the U.S. Treasury Office of Foreign Assets Control (OFAC) Specially Designated Nationals (SDN) list, its cascading censorship across GitHub, USDC, Infura, Alchemy, and Ethereum MEV-Boost relays, and its historic reversal by the U.S. Court of Appeals for the Fifth Circuit in Van Loon v. Department of the Treasury (No. 23-50669, Nov 26, 2024), culminating in OFAC's formal SDN delisting on March 21, 2025.
For protocol architects, hardware-wallet builders, and open-source cryptographers, Van Loon established that architectural immutability is not merely a marketing slogan; it is a decisive legal and technical fact. Whether a smart contract retains an onlyOwner proxy upgrade key (CWE-285 administrative control), mutable fee-recipient state, or centralized off-chain relayer coordination determines both its vulnerability to technical supply-chain capture and its statutory classification as controllable "property" or an ongoing "service."
Bytecode Forensics: Why the Core Groth16 Pool Contracts Were Provably Ownerless
To grasp why the Fifth Circuit panel unanimously overturned the district court's summary judgment, engineers must separate the two completely distinct smart-contract subsystems often conflated under the label "Tornado Cash":
- The Immutable Core
Groth16Privacy Pool Contracts (ETH0.1,1,10,100Pools):- Deployed in 2019 and permanently locked in May 2020 when the
operatoraddress executedchangeOperator(0x0000000000000000000000000000000000000000). - Contain zero
DELEGATECALLproxy pointers, zeroSELFDESTRUCTopcodes, zeropause()switches, and zero administrative fee levers. - At deposit, any Ethereum user submits fixed ETH plus a
Pedersen(nullifier || secret)commitment leaf inserted into an append-only20-levelMiMCMerkle tree. - At withdrawal, the user submits a
Groth16zk-SNARKproof(pi_A, pi_B, pi_C)verified autonomously on-chain by an immutable pairing-check contract (BN254elliptic curveecPairingprecompile0x08) proving knowledge of(nullifier, secret)corresponding to some historical Merkle root in the pool without revealing which leaf, while publishingPedersen(nullifier)to an on-chain mapping so the note can never be withdrawn twice.
- Deployed in 2019 and permanently locked in May 2020 when the
- The Mutable Auxiliary Ecosystem (
TORNGovernance DAO, Relayer Registry & Hosted Web UI):- Deployed later to govern
TORNtoken staking fees charged to third-party gas-paying relayers. - Because
TORNgovernance proposals executed arbitrary logic viaDELEGATECALL, a malicious proposer famously exploitedCREATE2+SELFDESTRUCTproposal bytecode replacement in May 2023 to grant themselves1.2 millionfakeTORNgovernance votes; yet even with 100% control of theTORNDAO, that attacker could not touch, freeze, or alter a single wei inside the immutable0.1 / 1 / 10 / 100 ETHprivacy pools! That unintentional real-world stress test empirically proved the pools' total autonomy in federal court.
- Deployed later to govern
Chronological Statutory, Infrastructure & Cryptographic Timeline (2019 - 2026)
| Date | Milestone | Technical / Legal Mechanism | Ecosystem Consequence |
|---|---|---|---|
| 2020-05-21 | Trusted-Setup Ceremony & Admin Burn | 1,114 independent contributors complete Groth16 Phase-2 ceremony; operator set to 0x0 | Core ETH/ERC-20 mixer pools become mathematically unupgradeable and unstoppable on Ethereum L1. |
| 2022-03 to 07 | Lazarus Bridge Laundering Surge | DPRK Lazarus routes ~$455M+ from Ronin ($624M) & Harmony ($100M) hacks through pools | Triggers intense national-security scrutiny despite legitimate retail privacy volume in the same pools. |
| 2022-08-08 | OFAC SDN Smart-Contract Designation | Treasury adds 40+ 0x smart-contract addresses directly to the SDN sanctions list; Alexey Pertsev arrested in NL | Circle freezes USDC in pools; GitHub deletes repos; Infura/Alchemy & >70% of Ethereum MEV relays censor tx inclusion! |
| 2022-09-08 | Van Loon v. Treasury Filed | Six lawful Ethereum users (backed by Coinbase) challenge OFAC's statutory IEEPA authority; Coin Center files parallel suit | Plaintiffs include security engineers & donors subjected to "dusting" attacks (0.1 ETH sent unsolicited to celeb ENS wallets). |
| 2023-09-06 | Privacy Pools Paper Published | Buterin, Illum, Nadler, Schar & Soleimani formalize ZK Association Set Proofs (ASP) | Demonstrates how immutable ZK pools can let honest users prove exclusion of Lazarus deposits without backdoors. |
| 2024-11-26 | Fifth Circuit Unanimous Reversal | Van Loon v. Dept. of the Treasury (No. 23-50669, Judge Don Willett writing for 3-0 panel) | Holds immutable smart contracts are neither ownable "property" nor mutable "contracts/services" under IEEPA. |
| 2025-03-21 | OFAC Formal SDN Delisting | Treasury removes Tornado Cash smart-contract addresses from the SDN list following remand | Restores lawful U.S. interaction with immutable privacy contracts while maintaining DPRK sanctions. |
| 2025-03-31 | Mainnet 0xbow Privacy Pools Launch | 0xbow deploys immutable L1/L2 ZK pools paired with non-custodial Association Set Providers | Establishes the 2025-2026 standard for compliant, dissociative EVM financial privacy. |
Statutory Anatomy of Van Loon v. Department of the Treasury (No. 23-50669)
Enacted in 1977 to curtail open-ended executive wartime seizures under the Trading with the Enemy Act, the International Emergency Economic Powers Act (50 U.S.C. 1702(a)(1)(B)) authorizes the President (delegated to OFAC) to block "any property in which any foreign country or a national thereof has any interest." Writing for a unanimous Fifth Circuit three-judge panel on November 26, 2024 (in an era following the Supreme Court's Loper Bright termination of Chevron agency deference), Judge Don Willett analyzed the ordinary statutory meaning of "property":
- Incapability of Exclusion or Control: Across centuries of property jurisprudence, the irreducible core of "property" is the right to exclude others and exercise dominion or control. Unlike a corporate bank account, intellectual-property copyright, or upgradeable
AdminUpgradeabilityProxysmart contract (where a multisig keyholder can callupgradeTo()orpause()), the immutable Tornado Cash pool contracts execute deterministically on global validator nodes. Not even the original authors,TORNtoken holders, or DPRK hackers could prevent an American citizen from callingdeposit()orwithdraw(), nor alter a single opcode of theGroth16verifier. - Autonomous Code Is Neither a Bilateral "Contract" Nor a "Service": Treasury argued in the alternative that under OFAC regulatory definitions (
31 C.F.R. 510.323), smart contracts qualify as "contracts" or "services." The Fifth Circuit rejected this conflation of computer-science terminology with legal contract doctrine: a bilateral contract requires mutual assent between two or more parties capable of revoking or modifying terms, whereas an immutable smart contract is an unowned, self-executing cryptographic tool (analogous to an open mathematical vending protocol that charges zero protocol fees to its creators). - Civil
IEEPADelisting vs Criminal18 U.S.C. 1960/ Conspiracy Boundaries: Crucially for open-source developers, Van Loon resolved civil smart-contract sanctions underIEEPA, compelling OFAC on March 21, 2025 to delist the immutable pool addresses from the SDN list. However, separate criminal prosecutions in the Netherlands (Alexey Pertsev) and the Southern District of New York (United States v. Roman Storm,23-cr-430, where an August 2025 jury returned a split verdict convicting on unlicensed money-transmitting conspiracy under18 U.S.C. 1960while deadlocking on money-laundering and sanctions counts) turned heavily on off-chain operational entanglement: operating centralized hosted web UIs, curating relayer registries, and maintainingTORNtoken revenue structures while illicit flows surged. For FinCEN and DOJ compliance analysis, pure publication of non-custodial open-source cryptographic code (First Amendmentprotected speech under Bernstein v. USDOJ and FinCEN's 2019 Non-Custodial Software Guidance) diverges sharply from operating centralized web relays or fee-collecting coordinators.
Architectural Evolution: Legacy Tornado Pools vs 0xbow Association Set Proofs
The core vulnerability exposed during 2022-2024 was mandatory anonymity-set co-mingling: when DPRK Lazarus deposited 100 ETH from the Ronin bridge exploit into the exact same Merkle tree used by an honest protocol developer shielding their payroll, the honest developer had zero cryptographic mechanism at withdrawal to prove "My 100 ETH withdrawal came from an honest deposit, not from Lazarus leaf #48,219" without revealing their exact deposit transaction (which destroys privacy completely!).
Cryptographic Guarantees of Non-Custodial Ragequit in Privacy Pools
A common concern among cypherpunk engineers reviewing compliant ZK architectures is whether an Association Set Provider (ASP) introduces a subtle censorship backdoor. In 0xbow's production circuit design:
- Zero Custody or Freeze Capability: Deposits enter an immutable
StatePoolcontract whoseragequit()function allows the original depositor EOA to reclaim their exact principal back to their originating address at any time, unconditionally, withoutASPapproval. Thus, anASPcan never confiscate or lock user funds (preserving Van Loon's non-property immutability standard). - Delayed Inclusion & Retroactive Exploit Pruning: Honest deposits enter the
ASPMerkle root after a brief heuristic screening window (e.g., 1-6 hoursverifying the funding source was not a live bridge hack in progress). If a depositor is later revealed to be an exploit address before withdrawing, theASPsimply omits that leaf commitment from updatedR_honestroots without affecting any honest user's zero-knowledge proof generation!
Infrastructure Resilience Lessons for Privacy & Self-Custody Engineers
Even though the core Tornado Cash smart contracts never stopped executing on Ethereum Layer 1 for a single block between August 2022 and March 2025, the 31-month sanctions period exposed four severe centralization choke points surrounding "unstoppable" protocols:
- Centralized Wallet RPC Censorship (
Infura&Alchemy): Within hours of OFAC's 2022 notice, default wallet RPC providers returned JSON-RPC403/ contract-blocked errors even for passive read calls or users attempting to withdraw trapped lawful funds, reinforcing why serious self-custody requires personal execution nodes (Reth,Helios) or Tor-routed sovereign RPCs. - Code-Hosting Single Points of Failure (
GitHubDeletion): Deleting contributor accounts and static frontend repositories overnight proved that cryptographic specifications, ZK circuitcircom/Noirfiles, and verification UIs must be mirrored across content-addressed storage (IPFS/Arweave Permaweb/RadicleP2P Git; seeDecentralized & Self-Hosted Protocols) with deterministic reproducible build hashes. MEV-BoostBuilder & Relay Filtering: At peak post-Merge censorship in late 2022,> 75%of Ethereum blocks produced via OFAC-filteringMEV-Boostrelays delayed transactions touching sanctioned pools until non-censoring solo validators or neutral relays (Ultrasound,Agnostic) proposed a slot, motivating protocol-level Fork-Choice Enforced Inclusion Lists (FOCIL,EIP-7805) and encrypted mempools.- Unsolicited "Dusting" & Taint Weaponization: Immediately after August 8, 2022, pranksters sent
0.1 ETHTornado withdrawals to hundreds of publicENSaddresses (including celebrity and executive wallets), triggering automated centralized-exchange compliance freezes against innocent recipients, proving why reusable publicENSaddresses must be replaced byERC-5564Stealth Addresses orBIP-352Silent Payments paired with manual UTXO/token isolation.
Architectural Checklist for Lawful, Unstoppable Privacy Protocols
Synthesizing the Fifth Circuit's statutory holding in Van Loon alongside technical lessons from three years of infrastructure censorship yields five concrete engineering design rules for modern cryptographic privacy protocols:
- True Deployment Immutability (
Zero Admin Keysat Genesis): Deploy core zero-knowledge state and verifier contracts withoutDELEGATECALLupgrade proxies,pause()modifiers, or fee-extraction setters (owner == address(0)). Separating immutable base-layer cryptographic primitives from optional auxiliary interfaces ensures the protocol itself remains an unowned public mathematical utility rather than controllable corporate property. - Eliminate Trusted-Setup Toxic Waste Where Feasible: Prefer transparent or universal accumulation proof systems (
Halo 2polynomial commitments,STARKhash-based proofs, orCurve Treesused inMonero FCMP++) or large-scale verified multi-party Powers-of-Tau ceremonies (1,000+independent entropy contributors) with publicly reproducible circuit constraints (circom/Noir). - Decouple State Inclusion from Compliance Attestation (
ASPArchitecture): Allow permissionless deposit andragequitprincipal recovery in the base contract while enabling withdrawing users to attach modular zero-knowledge Association Set Proofs (0xbow) or Private Proofs of Innocence (PPOI) demonstrating non-overlap with attributed exploit addresses. - Ship Local CLI & Self-Hostable Prover Workbenches: Never make a single centrally hosted
.comdomain or single relayer registry the sole path to generate zero-knowledge withdrawal proofs; distribute deterministic, offline-capable WebAssembly/Rust prover binaries verifiable viaSHA-256andPGP/Sigstoresignatures over content-addressed networks and encrypted DNS / Tor transport.
Frequently Verified Technical Questions
Why did the Fifth Circuit rule that immutable Tornado Cash pool contracts are not 'property' under IEEPA?
Primary Reference: Fifth Circuit Opinion in Van Loon v. Treasury
Did OFAC's March 21, 2025 SDN delisting legalize laundering hacked funds or drop DPRK sanctions?
Primary Reference: U.S. Treasury OFAC March 21, 2025 Notice
What was the technical difference between Tornado Cash's immutable pools and its compromised 2023 governance DAO?
Primary Reference: DT.gl Incident Forensics Ledger
How did RPC providers and Ethereum MEV relays react during the 2022-2025 SDN designation period?
Primary Reference: On-Chain Privacy Protocols Engineering Guide
Published: | Last Verified:
-
2026-11-11: Updated post-delisting compliance boundaries distinguishing civil IEEPA SDN smart-contract status from criminal 18 U.S.C. 1960 / conspiracy standards and 0xbow Privacy Pools mainnet adoption. -
2026-07-08: Initial DT.gl publication of technical and statutory post-mortem DT-INC-2025-003 analyzing Van Loon v. Treasury (No. 23-50669) and OFAC's March 21, 2025 SDN removal.