Programming, philosophy, pedaling.

Tornado Cash and bullets

Sep 14, 2022     Tags: blonkchain, curiosity, philosophy    


I am not a lawyer, and this is not a legal opinion. This post is solely intended to establish a common-sense argument (and ideally, general intuition) for statutory action by the U.S. Treasury.

Financial disclosures: I have no direct or derivative positions in any cryptocurrencies, or any investments at all in any distributed ledger companies.

Professional disclosures: My professional work is not tied to cryptocurrencies, and I am not paid to work on cryptocurrencies. I am also not paid to work on any competing financial instruments or products. My opinions are also not necessarily the opinions of my employer.

Finally, some parallel credit: someone on Hacker News very eloquently summarized many of the same thoughts as in this post, including the same analogy I was planning on using. This hopefully demonstrates that the thought pattern here isn’t abstruse or contorted merely to reach the conclusion. Instead, it’s ordinary and commonly observed1.


Last month, the U.S. Treasury announced sanctions against Tornado Cash, a cryptocurrency “tumbler” designed to anonymize individual cryptocurrency assets by mixing them with the assets of others.

To avoid repeating the details of the sanction announcement itself (and subsequent) press coverage, I’ll limit the background to two critical pieces of information:

These pieces of background are important to this post, for two corresponding reasons:

A thought experiment

Imagine, for the sake of argument, that you are a juror in a murder trial.

You have been told by the prosecution that the defendant raised a gun, knowing that it was loaded, pointed it at the victim, and pulled the trigger.

You are presented incontrovertible evidence for these facts: video evidence, audio recordings (“I have a loaded gun and I’m about to pull the trigger”), &c; anything necessary to remove any reasonable doubt from your mind that the defendant really is the person who pulled the trigger.

Now, the defense observes: the victim was not killed by a gun. They were killed by a bullet, which left a gun. But the bullet traveled on its own, obeying the laws of physics (the defendant cannot be expected to change the laws of physics, can he?) until it necessarily ended where it would (in the body of the victim). The bullet acted autonomously, following laws that are established in its nature (as a projectile, as a metal object, &c). As such, it would be absurd to consider the defendant guilty of murder.

Do you find this argument convincing?

Instruments of action and ab initio

No, probably not. The error is apparent: the bullet only traveled because something made it travel. The something that made it travel is the gun, and guns do not make bullets travel unless someone or something pulls their triggers4. For this particular bullet and gun, that someone is the defendant.

There are two principles that establish the link here:

Tornado Cash

After the announcement of the sanctions against Tornado Cash, I repeatedly saw variations of the following argument (paraphrased):

Tornado Cash, as a smart contract, is fundamentally autonomous: it operates according to its programming, runs on a distributed network of nodes not designed to run it in particular, and does not differentiate between its inputs7.

Given that Tornado Cash is autonomous, it does not make sense to sanction it, any more than it makes sense to sanction a particular car (or car manufacturer) for being the car of choice for money launderers.

This seems reasonable from first principles: we don’t sanction rubber band manufacturers for making the bands that hold laundered money together, bag manufacturers for making bankers’ bags used by launderers, &c &c. Why should Tornado Cash be any different, as a mere mechanism by which money launderers (who are presumably going to launder, anyways) ply their trade?

To understand why our first principles reasoning isn’t sufficient, we have to turn back to the bullet:

These conditions partially exclude the counterexamples of the car, rubber bands, bankers’ bags, &c, but not completely: none are the prime mover, but each is an “instrument of action” in some sense. The rubber bands don’t necessarily launder money but they certainly don’t do anything to stop it, right8?

So, the last piece: breadth. Cars, rubber bands, bankers’ bags, and so on are all essentially generic items: (tens, hundreds of) millions of people own or employ them for diverse purposes. As instruments, they form both efficient and necessary causes: they’re used to perform actions, and they’re the parsimonious choice9.

Tornado Cash fails this test: it is not generic, and it is not parsimonious.

For genericity: despite the large amounts of money moved through it, Tornado Cash is used by a very small portion of the population. The rest of the world uses other financial mechanisms, including cryptocurrencies, and more or less gets by. The portion of the population that does use it does not perform generic financial activities with it: a good chunk of them use it to launder money; the rest use it in a manner that is indistinguishable from tax evasion.

For parsimony: Tornado Cash exists, effectively, to hack around the public and immutable nature of the distributed ledgers it runs on. In other words: it solves a self-inflicted problem, one that regulatory agencies are correct to identify as unnecessary (and can evidence this by pointing to the billions of people who accomplish their financial goals without it).


Tornado Cash qua smart contract is the bullet, and Tornado Cash qua entity with developers is the person pulling the trigger.

It does not escape this characterization by being sufficiently generic, the way a rubber band manufacturer can rightfully claim ignorance of its bands being used for crime: too few people use it, and those that do understand its design to be uniquely suited for money laundering (or other crimes of choice).

It also does not escape this characterization through parsimony, the way fiat money does10: distributed ledgers are complicated, and Tornado Cash exists to hack around fundamental flaws in their privacy. In other words: its existence is entirely incidental.

Finally, some trailing thoughts. These are barely related to the post (except in anticipating some responses), so I've folded them below. You can unfold them if your rebuttal to this post boils down to "you just hate privacy" or similar.

And as always, dear reader, I welcome disagreement12 and conversation. My email is on my main website, and it’s easy enough to find me on other platforms.

  1. Not that this alone makes it right, of course. Only that it’s not something that needs to be treated as received wisdom, nor should be. 

  2. Sometimes colloquially referred to as the “OFAC list.” 

  3. And if you don’t think sanctions are valid at all, well, fine. This post probably isn’t for you. 

  4. Or an accident (being dropped), or an unlikely act of god (spontaneous and unforeseen malfunction). But neither of these cases are attested by the evidence, so we can ignore them. 

  5. This is also established intuitively in the “conscience round” of a firing squad: each member of the firing squad is allowed to believe that they might have been the one to fire the dummy round, because the facts of the scenario otherwise incontrovertibly establish their responsibility for the execution. 

  6. Again, there are probably more “prime movers” here than enumerated. But we know the prime mover here (the defendant), so again we can ignore them. 

  7. Meaning that it does not screen or filter for entities that it will not support, since this would (ostensibly) subvert its anonymizing properties. 

  8. And indeed, it would be absurd to expect rubber bands to enforce AML laws. 

  9. Meaning that, rather than counterbalancing some other choice, they merely fulfill the requirements of the action. Compare a bucket with no holes to a holey bucket that’s been patched with tape. 

  10. Fiat, whether it comes in the form of physical cash or digital transactions, is a parsimonious medium of exchange of value. 

  11. Which isn’t to say that there aren’t objective definitions of these, at least in a Rawls-type justice-and-fairness-in-a-society sense. But that’s an entire book’s worth of thoughts, and he’s better at it than I am. 

  12. I like to argue, so long as it’s an argument worth having!