You are not the user; you are the product. That phrase has haunted the internet for decades, but in blockchain, the roles are reversed. The user becomes the owner, and the product is the protocol. Yet, when the US Treasury sanctioned Tornado Cash in August 2022, they didn't just target a mixer—they targeted the open-source code itself. And that changes everything.
I was sitting in a Warsaw co-working space, auditing a DeFi lending protocol, when the news hit. The OFAC (Office of Foreign Assets Control) had added the Tornado Cash smart contracts to the Specially Designated Nationals (SDN) list. Suddenly, writing code that could be used by bad actors became a crime. As a protocol PM who has spent years advocating for permissionless innovation, I felt a chill. This wasn't just about privacy coins or mixers; this was about the foundational premise of decentralized software.
Let's rewind. Tornado Cash is a non-custodial Ethereum mixer that uses zero-knowledge proofs to break the on-chain link between sender and receiver. It's a tool for privacy. Yes, it has been used by Lazarus Group to launder stolen funds. But it has also been used by ordinary people in oppressive regimes to protect their financial data. The protocol itself is immutable—once deployed, the smart contracts cannot be changed. The developers had no control over who used it. Yet, the US government argued that the developers were responsible for the foreseeable misuse of their code.
Context: Decentralization vs. Legal Liability
Tornado Cash was launched in 2019 by a team of developers including Alexey Pertsev and Roman Storm. It quickly became the go-to privacy tool on Ethereum. Its design philosophy was radical: trustless, non-custodial, and fully open-source. The code was audited by multiple firms. The team had no backdoors, no admin keys, no ability to freeze funds. In the world of decentralization, this is the holy grail.
But the legal system does not understand immutability. The US Treasury's argument rests on the idea that the developers “aided and abetted” money laundering by creating the tool. This is akin to suing the inventor of the hammer because someone used it to break a window. The precedent is dangerous: if writing code that can be used for illegal purposes is a crime, then every open-source developer is at risk. The Linux kernel has been used in missile systems. Should Linus Torvalds be sanctioned?
Core: The Technical Paradox of Permissionless Software
Here is the core technical insight: smart contracts are deterministic. A deployed contract will execute the same way for every user, regardless of intent. The code is law—but only within the virtual machine. The real-world legal system does not respect that boundary. When OFAC added the Tornado Cash contracts to the SDN list, they effectively banned the use of specific lines of code. This is unprecedented.
From my years auditing protocols, I've seen how developers struggle with this tension. During DeFi Summer 2020, I worked on a governance analysis for Compound. I saw how the community debated adding blacklists to the protocol. The conclusion was that blacklists undermine the core value of decentralization. Now, the US government is forcing that choice on every developer.
Let's look at the numbers. As of 2025, over $2.5 billion has been stolen through cross-chain bridges, yet no developer has been sanctioned for writing bridge code. Why? Because bridges are seen as infrastructure, not privacy tools. The selectivity of enforcement is telling. The Tornado Cash sanctions are not about crime; they are about control. The government wants to regulate the ability to transact privately.

The Human Cost
I remember a conversation with a Ukrainian developer in 2023. He used Tornado Cash to donate to a volunteer group without revealing his identity. After the sanctions, he couldn't use the tool anymore. He said, “They took away my anonymity.” That is the real-world impact. The narrative that Tornado Cash is only for criminals is a lie. The tool is a public good. And by sanctioning the code, the US government is telling the world that privacy is not a right.
Contrarian: The Pragmatic Counter-Argument
Now, let me play devil's advocate. Some argue that developers have a moral responsibility to prevent harm. If you build a gun that fires itself, you are accountable. The Tornado Cash team knew their tool would be used for laundering. They could have implemented KYC or a whitelist. They chose not to. Shouldn't they bear some responsibility?
This argument has emotional appeal, but it fails the technical reality check. In a permissionless system, implementing KYC is impossible without breaking the core premise. A whitelist would require a centralized administrator, which defeats the purpose of a trustless mixer. The developers chose the path of maximal decentralization. That is a political choice, but it is not a crime. The real question is: should the government punish the creation of tools that have both good and bad uses?
Furthermore, the sanctions have not stopped money laundering. Criminals have moved to other mixers, including Monero and new privacy protocols. The only effect is to punish law-abiding users who value privacy. The sanctions are a performative gesture that undermines the very innovation the US claims to support.
Takeaway: The Future of Code as Speech
True ownership begins where the server ends. If we cannot own our own code, we cannot own our own data. The Tornado Cash precedent is a wake-up call for every open-source developer. We must fight for the legal recognition that code is speech, not a weapon. Debate is the compiler for better consensus—and we need to debate this now.
The blockchain industry has matured. We have Bitcoin ETFs, institutional adoption, and regulatory clarity in many areas. But the core value of permissionless innovation is under attack. If we allow the government to sanction code, we are accepting that decentralization is a myth. We must push back. Not by breaking the law, but by building systems that are legally robust. That means designing protocols that can withstand regulatory pressure without sacrificing privacy.
I believe the solution lies in transparent governance. Protocols like Tornado Cash could have implemented a DAO with a legal wrapper, allowing the community to make decisions within the bounds of law. But that would require compromise. The question is: are we willing to compromise on privacy to survive?
As I write this, I think of the developers who are now afraid to deploy new contracts. The chilling effect is real. The crypto industry must recognize that the war on privacy is a war on our future. We need to support organizations like the Coin Center that fight for developers' rights. We need to educate regulators about the technical realities of immutable code.
In the end, the Tornado Cash sanctions are not just a legal issue. They are a philosophical test. Do we believe in the right to build? If yes, then we must protect that right, even when the tools are misused. True ownership begins where the server ends. And that server must be free.
Debate is the compiler for better consensus. Let's start the debate now.