4 ms·
Road builders do not actually move money around on behalf of others, and Tornado Cash developers do not actually move money around on behalf of others. They don
by everfree 4y ago
Road builders do not actually move money around on behalf of others, and Tornado Cash developers do not actually move money around on behalf of others. They don't "run a mixer" or otherwise operate the Tornado Cash smart contract. They did provide an interface for interacting with it, but that's not really the issue in question.
Tornado Cash runs autonomously on immutable code. Nobody can force the already-running code to start doing AML/KYC.
In my eyes, you either argue that it was not against the law for the devs to publish the code, or you argue that code is not protected by the first amendment. There's not really an in-between.
- JumpCrisscross 4y ago> Tornado Cash runs autonomously on immutable code. Nobody can force the already-running code to start doing AML/KYC The hypothetical involved creating “a new TC instance with new addresses and website.” That’s not already-running code. If you do that and then it’s used for money laundering and you do and don’t do all the things Tornado Cash did and didn’t, yes, obviously, we have that precedent.
- everfree 4y agoPublishing a new TC instance can be done anonymously from anywhere in the world, by anyone who can follow the compilation instructions in the readme, so it's not really an interesting legal question in my opinion. I'm more interested in discussing the legality of publishing the source code in the first place (is it protected by the first amendment?) and the legal questions surrounding already-instantiated code.
- vorpalhex 4y agoThe treasury has your answer: Publish the code all you want. If you run it and don't follow KYC, you will be found guilty of money laundering.
- notch656a 4y agoThe people 'running' the code are basically the Ethereum virtual mcahine nodes. That is to say, using your definition Ethereum comes crashing down because everyone running the ethereum virtual machine and this application, which still exists on the chain, are criminals guilty of running the code without KYC.
- everfree 4y agoEthereum clients run the code automatically alongside all the other code on the Ethereum network, impartial to what it is or does. There are estimated to be nearly 10,000 Ethereum clients in operation, distributed globally. Identifying all of their operators, trying to prove intent, and convicting them all of money laundering seems to be a tall ask, even for the US government.
- tonyarkles 4y agoI admittedly haven’t looked at Ethereum in a while, but I’m having a hard time grokking this logic: > Ethereum clients run the code automatically alongside all the other code on the Ethereum network, impartial to what it is or does. That can’t be true on its own. If I write the code in Notepad and share it with friends, the Ethereum client isn’t running it. From what I recall, the way to get it to actually run is to spend gas? Isn’t that the step where it changes from published code to executing code? I 100% agree that the code behind this all should be free speech. But to try to call “spending money to have a global network execute the code” “publishing” is a pretty big stretch. In the same way that your ISP isn’t going to get shut down for transmitting the bits that initiated the money laundering transaction, the end node operators are not the proposed target here but rather the people picking up the phone and asking the system to launder money, as well as those responsible for the specific instances of the code that are doing the laundering.
- everfree 4y agoThere are a few steps to running code on Ethereum: 1. A person writes the source code and shares it 2. A person pays a flat amount of ETH to compile/instantiate the source code on the Ethereum network. The code is not "running" yet (aside from its constructor function, if it has one). Now the code is instantiated at an Ethereum address. 3. A person invokes a function of the code, paying ETH proportional to the amount of execution steps taken before the function returns. 4. A swarm of computers acting as block producers, some with identifiable operating persons and some without, produce a block that officially timestamps that function execution into the chain and applies it to the chain's state. 5. A swarm of computers acting as network observers, some with identifiable operating persons and some without, re-execute the transaction locally to verify that the state change was valid. > the people picking up the phone and asking the system to launder money Of course, culpability there goes without saying. That's not relevant to the question of whether Tornado Cash is illegal, it's a question of whether crime itself is illegal; in essence a tautology. > as well as those responsible for the specific instances of the code that are doing the laundering It looks like you may be talking about the second step of the five I've laid out. That step, the instantiation of the code, can be done anonymously from anywhere in the world by anyone who can follow the compilation instructions in the readme. If that's the step where legislators try to enforce culpability, it's a lost cause due to the anonymity. Hypothetically, even if law enforcement were able to perfectly determine the legal owner of every Ethereum address and punish them when they illegally instantiate code, they still can't cause the code to be un-instantiated.