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:
The Treasury’s chosen mechanism for the sanction was the Office of Foreign Assets Control, which is best known for maintaining the SDN list2. You can see the Tornado Cash entity, aliases, and smart contract addresses on the SDN list here.
Adding a financial entity, person, vessel, &c to the SDN list requires OFAC to identify the entity being targeted, if they are not one and the same. OFAC identified Lazarus Group as the targeted entity, noting that Lazarus Group has been sanctioned since 2019 and has likely laundered at least $100 million USD via Tornado Cash.
These pieces of background are important to this post, for two corresponding reasons:
This post does not attempt to lay to rest the interpretative question of what Tornado Cash is. A great deal of e-ink has been spilt by the cryptocurrency community in attempting to distinguish the “Tornado Cash Entity” from the “Tornado Cash Application,” arguing (varyingly) that the SDN designation only applies to the latter or that (as a matter of statute) the latter cannot be added to the SDN list.
Instead, this post will attempt to collapse the interpretative question by arguing that it does not matter.
This post does not consider the merit of Lazarus Group’s addition to the SDN list. It is taken for granted that, if the accusations made against Lazarus Group are true, then inclusion in the SDN list is justified.
In other words: it is taken for granted that the underlying justification is valid. If you happen to think it’s invalid, substitute Lazarus Group for some other group on the SDN list while reading3.
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?
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:
The gun and bullet do not embody the murder; they were mere instruments of action in the murder by the defendant. This applies unambiguously to as many indirections as the defendant applies during the murder, so long as each layer’s action is necessary and foreseeable.
For example: Imagine if the defendant were to have forced the victim to put their head in a noose and their feet on a stool, with the stool tied by a rope to the leg of a horse. It would be absurd for the defendant to claim that he were innocent of murder because he “merely” spurred the horse into pulling the rope5; we can recognize that the victim’s death by hanging follows necessarily and foreseeably from the defendant’s action. Basically, that one scene with Tuco in The Good, the Bad and the Ugly.
To determine the subject of action, we reason ab initio: we take each indirection, and ask what needed to happen for it to occur, and continue until we reach either the free agent, natural process, or force majeure that triggered the entire cascade6.
In other words: we look for the prime mover in the entire scheme.
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:
Tornado Cash (as a smart contract) is the clear instrument of action. As designed by its programmers, it necessarily launders money: there is no way to make it not launder money, because it cannot distinguish money laundering from “legitimate” tumbling.
This is in contrast to a bank, which might launder money. But it does not do so necessarily: it can be regulated, told to monitor lists of money launderers and sanctioned entities, &c. Any particular bank probably won’t catch every act of money laundering, but that’s not expected.
Tornado Cash (as a smart contract) is not the prime mover. Neither is Ethereum, or any other distributed ledger that happens to host it.
Tornado Cash’s prime mover is the Tornado Cash developers: the human beings who wrote and deployed the smart contract. That last step is critical: writing (and even releasing) the source code to Tornado Cash is rightfully protected free expression. What is not protected is program execution, which the Tornado Cash developers triggered with their deployment.
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.
I believe in privacy and free expression. What I don’t believe is that we can make these things out of computers; they come from norms and law, designed and negotiated by and between free people. When we put it in a computer, all we’re doing is asking for someone to formally circumvent it rather than find a legal loophole. In doing so, we transform a process into a permanent state and fundamentally freeze our ability to make progress.
On the same note: there are no static definitions of privacy or free expression11. When we try to put these things in computer programs, we fundamentally erase both their time dimension and inhibit the scope of human actions we can take to improve them. Our world would be a worse one if we were so constrained, and cryptocurrencies (and the whole ecosystem) take us one step closer to that.
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.
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. ↩
Sometimes colloquially referred to as the “OFAC list.” ↩
And if you don’t think sanctions are valid at all, well, fine. This post probably isn’t for you. ↩
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. ↩
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. ↩
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. ↩
Meaning that it does not screen or filter for entities that it will not support, since this would (ostensibly) subvert its anonymizing properties. ↩
And indeed, it would be absurd to expect rubber bands to enforce AML laws. ↩
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. ↩
Fiat, whether it comes in the form of physical cash or digital transactions, is a parsimonious medium of exchange of value. ↩
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. ↩
I like to argue, so long as it’s an argument worth having! ↩