WEBVTT - Automatic transcript; recognition may contain errors. Reviewed for technical wording and speaker labels. Times match the published episode.

00:00:20.910 --> 00:00:26.510
<v Aaron van Wirdum>Live from Utrecht, this is Ethereum Explained. Sjors, we're going to make a

00:00:26.510 --> 00:00:30.710
<v Aaron van Wirdum>special episode today. We're going to make an episode about the Tornado Cash

00:00:30.710 --> 00:00:34.310
<v Aaron van Wirdum>lawsuit that's going on in the Netherlands. So it will be a bit more

00:00:34.310 --> 00:00:39.740
<v Aaron van Wirdum>Ethereum-focused and also a bit more Dutch law-focused. Yep. But first,

00:00:40.140 --> 00:00:46.440
<v Aaron van Wirdum>you've been hacking something together. You've been developing something. What's going on?

00:00:46.790 --> 00:00:50.750
<v Sjors Provoost>It's not so much about hacking things together. We have had support for Lightning

00:00:50.750 --> 00:00:55.830
<v Sjors Provoost>streaming sats to our podcast for about a year now, I think. And there's some

00:00:55.830 --> 00:00:59.890
<v Sjors Provoost>podcast players that support podcasting 2.0, for example, The Fountain, but

00:00:59.890 --> 00:01:03.570
<v Sjors Provoost>there's others, where you can select a certain amount per minute and then it just

00:01:03.570 --> 00:01:08.390
<v Sjors Provoost>streams those satoshis to our node, basically, or my node in this case.

00:01:09.690 --> 00:01:14.480
<v Sjors Provoost>But there's another feature that comes with that, which is called boosts. And I

00:01:14.480 --> 00:01:17.660
<v Sjors Provoost>don't think it's fully developed yet in terms of specs and interoperability

00:01:17.660 --> 00:01:21.940
<v Sjors Provoost>between apps. So for now, at least when people make boosts in the Fountain app, I

00:01:21.940 --> 00:01:25.020
<v Sjors Provoost>can see them. But I think there are ways to see them in different apps too that I

00:01:25.020 --> 00:01:29.160
<v Sjors Provoost>still need to figure out. And so I figured it might be a good idea, as other

00:01:29.160 --> 00:01:35.090
<v Sjors Provoost>podcasts have done, to read some of the best paying or best boosts but there are

00:01:35.090 --> 00:01:37.490
<v Sjors Provoost>no guarantees for that so don't get any ideas.

00:01:37.490 --> 00:01:42.530
<v Aaron van Wirdum>So so you're kind of planning to do this every episode now is that what's going on?

00:01:42.530 --> 00:01:43.050
<v Sjors Provoost>Maybe.

00:01:43.150 --> 00:01:45.310
<v Aaron van Wirdum>Okay well let's hear it then.

00:01:45.760 --> 00:01:51.580
<v Sjors Provoost>Okay, so we got a boost on the last episode, 68, where we talked about RBF

00:01:51.580 --> 00:01:53.840
<v Sjors Provoost>from at MRMR.

00:01:54.420 --> 00:02:01.040
<v Sjors Provoost>And it was a whole 3,670—no, 74 sats.

00:02:01.340 --> 00:02:01.820
<v Aaron van Wirdum>Ka-ching!

00:02:02.200 --> 00:02:07.080
<v Sjors Provoost>Ka-ching! With the text, great topic, very useful as a node operator to learn

00:02:07.080 --> 00:02:10.120
<v Sjors Provoost>about both the RBF stuff and how Core is maintained too.

00:02:10.280 --> 00:02:10.500
<v Aaron van Wirdum>Perfect.

00:02:10.940 --> 00:02:11.120
<v Sjors Provoost>Yep.

00:02:11.580 --> 00:02:12.600
<v Aaron van Wirdum>Who is this from?

00:02:13.080 --> 00:02:14.520
<v Sjors Provoost>At MRMR.

00:02:14.520 --> 00:02:19.260
<v Aaron van Wirdum>Thank you MRMR for the what was it three thousand something sats?

00:02:19.260 --> 00:02:19.920
<v Sjors Provoost>That's right.

00:02:19.920 --> 00:02:22.280
<v Aaron van Wirdum>Nice. Are we gonna go out to dinner?

00:02:22.280 --> 00:02:23.020
<v Sjors Provoost>No.

00:02:23.020 --> 00:02:23.780
<v Aaron van Wirdum>After the episode?

00:02:23.780 --> 00:02:24.820
<v Sjors Provoost>No.

00:02:25.140 --> 00:02:27.000
<v Aaron van Wirdum>What are we gonna do with all the money Sjors?

00:02:27.000 --> 00:02:28.960
<v Sjors Provoost>I don't know yet. I'm gonna stack it.

00:02:28.960 --> 00:02:34.870
<v Aaron van Wirdum>Stack sats? All right. Yeah so as mentioned this will be a Kind

00:02:34.870 --> 00:02:39.510
<v Aaron van Wirdum>of a special episode because there is a lawsuit going on in the Netherlands about

00:02:39.510 --> 00:02:44.910
<v Aaron van Wirdum>the Tornado Cash case, which is the anonymity smart contract on Ethereum.

00:02:45.230 --> 00:02:51.090
<v Aaron van Wirdum>So this episode will be less about Bitcoin and more about Ethereum and Dutch law.

00:02:51.770 --> 00:02:56.690
<v Sjors Provoost>Yes, and we'll try to explain what you need to know to understand the case. We

00:02:56.690 --> 00:02:58.010
<v Sjors Provoost>don't try to explain all of Ethereum.

00:02:59.140 --> 00:03:04.120
<v Aaron van Wirdum>Yeah, nor will we explain all of Dutch law. But there's still some... Pretty

00:03:04.120 --> 00:03:10.080
<v Aaron van Wirdum>obvious relevance to Bitcoin I think and especially maybe to Bitcoin

00:03:10.080 --> 00:03:15.440
<v Aaron van Wirdum>developers developers of Bitcoin apps and of course especially Bitcoin

00:03:15.440 --> 00:03:21.080
<v Aaron van Wirdum>developers that may be working on privacy tools yeah because it might set some

00:03:21.080 --> 00:03:26.380
<v Aaron van Wirdum>kind of precedent or so that's that's going to be sort of the topic of this

00:03:26.380 --> 00:03:31.440
<v Aaron van Wirdum>podcast and why we're talking about this so if you're not interested in that kind

00:03:31.440 --> 00:03:37.220
<v Aaron van Wirdum>of stuff you could skip this episode but if you are keep listening. Okay Sjors,

00:03:37.220 --> 00:03:42.720
<v Aaron van Wirdum>first of all let's start… so first of all what yeah we were at the pro forma case

00:03:42.720 --> 00:03:45.240
<v Aaron van Wirdum>last week so what is this exactly?

00:03:45.240 --> 00:03:51.100
<v Sjors Provoost>Yeah so it's a hearing where the judge decides whether or not to keep somebody

00:03:51.100 --> 00:03:57.040
<v Sjors Provoost>locked up for longer pending the investigation. And so it's mostly a formality.

00:03:57.280 --> 00:04:01.600
<v Sjors Provoost>It's not really supposed to be about the case itself. However, because there was

00:04:01.600 --> 00:04:04.920
<v Sjors Provoost>a lot of press around, I guess, and maybe for other reasons, they did talk a lot

00:04:04.920 --> 00:04:07.980
<v Sjors Provoost>about the contents of the case itself. So it took two hours instead of the

00:04:07.980 --> 00:04:09.960
<v Sjors Provoost>official one hour that was scheduled for it.

00:04:10.260 --> 00:04:11.620
<v Aaron van Wirdum>Yeah. So what is the context?

00:04:12.570 --> 00:04:17.190
<v Sjors Provoost>So yeah, the context is that Alexei P, as we should call him, was arrested in...

00:04:17.190 --> 00:04:19.110
<v Aaron van Wirdum>Well, that's a very Dutch thing, right?

00:04:19.590 --> 00:04:23.350
<v Sjors Provoost>Yeah, we're recording it here. So it's kind of weird because Dutch media will

00:04:23.350 --> 00:04:25.970
<v Sjors Provoost>always use the first name and then the initial of the last name. But American

00:04:25.970 --> 00:04:29.050
<v Sjors Provoost>media will only use the last name. So in the end...

00:04:29.050 --> 00:04:34.430
<v Aaron van Wirdum>Yeah, Dutch media don't use the last, not the full last name of a suspect for as

00:04:34.430 --> 00:04:35.530
<v Aaron van Wirdum>long as he's still a suspect.

00:04:35.830 --> 00:04:39.130
<v Sjors Provoost>And even after that, because the idea would be that if you Google their full name

00:04:39.130 --> 00:04:40.330
<v Sjors Provoost>later, you won't find anything.

00:04:40.910 --> 00:04:46.620
<v Aaron van Wirdum>Right, yeah. Yeah, I was wondering what I should do as a Dutch journalist,

00:04:46.620 --> 00:04:52.120
<v Aaron van Wirdum>but kind of working for an American publication. I just figured... I mean, even

00:04:52.120 --> 00:04:57.400
<v Aaron van Wirdum>the free Alexei... I don't even remember his last name right now. They're using

00:04:57.400 --> 00:05:00.120
<v Aaron van Wirdum>his last name, so I figured I can just use it, I guess.

00:05:00.500 --> 00:05:04.720
<v Sjors Provoost>There are some examples of suspects that use their full names, usually with

00:05:04.720 --> 00:05:08.380
<v Sjors Provoost>permission from them. Anyway, that doesn't really matter. The thing is, he was

00:05:08.380 --> 00:05:11.730
<v Sjors Provoost>arrested in August. On some sort of suspicion of money laundering but the

00:05:11.730 --> 00:05:16.090
<v Sjors Provoost>suspicion is still was still very vague at the time and then they get a certain

00:05:16.090 --> 00:05:20.370
<v Sjors Provoost>amount of time say up to three months to actually come up with a more fully

00:05:20.370 --> 00:05:22.670
<v Sjors Provoost>fleshed out complaint or charge.

00:05:22.670 --> 00:05:27.870
<v Aaron van Wirdum>And well I think you're skipping some things now. So he was charged for money

00:05:27.870 --> 00:05:28.830
<v Aaron van Wirdum>laundering why?

00:05:30.010 --> 00:05:32.190
<v Sjors Provoost>Well, that was still quite vague at the time.

00:05:32.330 --> 00:05:34.590
<v Aaron van Wirdum>Okay, but he was a developer of a privacy...

00:05:34.590 --> 00:05:38.390
<v Sjors Provoost>Yeah, yeah, of course. So it was because he was a developer of the Tornado Cash

00:05:38.390 --> 00:05:41.030
<v Sjors Provoost>Ethereum smart contract and some of the stuff around it.

00:05:42.390 --> 00:05:46.650
<v Aaron van Wirdum>Right. Okay. So, and that was a pro forma case. So that wasn't the actual court

00:05:46.650 --> 00:05:52.190
<v Aaron van Wirdum>case yet, but it was just to decide if he should be kept, which English term?

00:05:52.250 --> 00:05:52.570
<v Sjors Provoost>Detained.

00:05:52.770 --> 00:05:54.130
<v Aaron van Wirdum>Detained for longer. Yeah.

00:05:54.290 --> 00:05:54.410
<v Sjors Provoost>Yeah.

00:05:54.470 --> 00:05:57.830
<v Aaron van Wirdum>Which happened. So he's still detained now. So he's been detained for three

00:05:57.830 --> 00:06:00.850
<v Aaron van Wirdum>months and now he's going to be detained for another three.

00:06:01.130 --> 00:06:01.450
<v Sjors Provoost>Yep.

00:06:01.590 --> 00:06:02.050
<v Aaron van Wirdum>And then.

00:06:02.650 --> 00:06:04.670
<v Sjors Provoost>And then they just have another hearing like that.

00:06:05.170 --> 00:06:09.510
<v Aaron van Wirdum>Yeah. Just not a pro forma case. Right. So do we know when the actual court case

00:06:09.510 --> 00:06:09.930
<v Aaron van Wirdum>is going to be?

00:06:10.090 --> 00:06:10.250
<v Sjors Provoost>Nope.

00:06:10.650 --> 00:06:16.330
<v Aaron van Wirdum>Okay. All right. So that's sort of the context that I think that that's the

00:06:16.330 --> 00:06:22.010
<v Aaron van Wirdum>context that our listeners need, right? Okay. So let's move on to this

00:06:22.010 --> 00:06:27.010
<v Aaron van Wirdum>actual smart contract itself. Then the thing that he was developing, it was him

00:06:27.010 --> 00:06:30.610
<v Aaron van Wirdum>and two other developers, right? But these other developers are not in the

00:06:30.610 --> 00:06:34.190
<v Aaron van Wirdum>Netherlands. So he was living in the Netherlands, even though he is Russian, he's

00:06:34.190 --> 00:06:35.490
<v Aaron van Wirdum>a Russian national.

00:06:36.710 --> 00:06:40.570
<v Aaron van Wirdum>But the other two developers are somewhere else, I guess, in the Dutch… And

00:06:40.570 --> 00:06:45.110
<v Aaron van Wirdum>prosecutors, you know, put him in prison, jail for now.

00:06:45.470 --> 00:06:45.570
<v Sjors Provoost>Yeah.

00:06:46.330 --> 00:06:48.650
<v Aaron van Wirdum>Okay, so what is Tornado Cash?

00:06:49.010 --> 00:06:52.750
<v Sjors Provoost>Yeah, so Tornado Cash is multiple things. And this is kind of what makes the case

00:06:52.750 --> 00:06:57.690
<v Sjors Provoost>somewhat confusing and also somewhat interesting. So the core of Tornado Cash is

00:06:57.690 --> 00:07:01.330
<v Sjors Provoost>a set of smart contracts. But you can see it as one smart contract, but it's

00:07:01.330 --> 00:07:05.610
<v Sjors Provoost>actually multiple ones. That allow you to put in a fixed amount of Ether. So for

00:07:05.610 --> 00:07:09.970
<v Sjors Provoost>example, 100 Ether or 10 Ether or 1 Ether. You put it in and then you take it

00:07:09.970 --> 00:07:15.300
<v Sjors Provoost>out. From some other place in a and that's done using zero-knowledge proofs in a

00:07:15.300 --> 00:07:20.260
<v Sjors Provoost>way that you cannot or at least not naively see which which ETH going in

00:07:20.260 --> 00:07:21.840
<v Sjors Provoost>corresponds to which ETH going out.

00:07:21.840 --> 00:07:25.420
<v Aaron van Wirdum>Or you're saying you take it out from some other place you take it out of the same…

00:07:25.870 --> 00:07:30.690
<v Sjors Provoost>You take it out of the same bucket, but you take it somewhere else. So in

00:07:30.690 --> 00:07:34.350
<v Sjors Provoost>Ethereum, you tend to work with accounts. Accounts are just like addresses, but

00:07:34.350 --> 00:07:38.650
<v Sjors Provoost>they're reused quite heavily. And so you will use one address, one Ethereum

00:07:38.650 --> 00:07:42.950
<v Sjors Provoost>account to put money into the smart contract. And then you'd use another Ethereum

00:07:42.950 --> 00:07:46.730
<v Sjors Provoost>account to take the money out of the smart contract. And the way you take it out

00:07:46.730 --> 00:07:50.750
<v Sjors Provoost>is by... Proving to the smart contract using some sort of fancy zero-knowledge

00:07:50.750 --> 00:07:54.690
<v Sjors Provoost>proof that you are allowed to take something out of the smart contract.

00:07:55.030 --> 00:07:55.090
<v Aaron van Wirdum>Yeah.

00:07:55.290 --> 00:07:58.470
<v Sjors Provoost>But there's no trace of who took out what.

00:07:58.850 --> 00:08:03.110
<v Aaron van Wirdum>Yeah. And I think that we're not going to get into the details of how this

00:08:03.110 --> 00:08:06.570
<v Aaron van Wirdum>zero-knowledge works or anything like that. This is just the general concept.

00:08:06.810 --> 00:08:06.890
<v Sjors Provoost>Yeah.

00:08:07.190 --> 00:08:09.370
<v Aaron van Wirdum>It works, or at least it seems to work.

00:08:09.610 --> 00:08:13.310
<v Sjors Provoost>Yeah, I mean, I'm not an expert in zero-knowledge proofs. My understanding is

00:08:13.310 --> 00:08:18.210
<v Sjors Provoost>that if the zero-knowledge math is incorrect, then somebody might actually empty

00:08:18.210 --> 00:08:22.270
<v Sjors Provoost>out the smart contract. That's sort of the trade-off, depending on how they've done it.

00:08:22.640 --> 00:08:26.900
<v Aaron van Wirdum>Yeah, well, we can just assume that it works for this case that we're talking

00:08:26.900 --> 00:08:31.440
<v Aaron van Wirdum>about, and I think that's all Bitcoiners need to know at this point. So it works,

00:08:31.520 --> 00:08:36.360
<v Aaron van Wirdum>but there is a problem, and the problem is fee-related, right? A privacy leak

00:08:36.360 --> 00:08:36.940
<v Aaron van Wirdum>potential.

00:08:37.240 --> 00:08:40.180
<v Sjors Provoost>Yeah, so this contract, you might think, okay, it could just live on its own in

00:08:40.180 --> 00:08:43.140
<v Sjors Provoost>the blockchain, and it does kind of live on its own in the blockchain, and it

00:08:43.140 --> 00:08:44.320
<v Sjors Provoost>does not have a backdoor.

00:08:45.790 --> 00:08:49.290
<v Sjors Provoost>So many Ethereum smart contracts these days have some sort of administrative

00:08:49.290 --> 00:08:54.670
<v Sjors Provoost>override, but they sealed all that stuff. So that part of the system is pretty

00:08:54.670 --> 00:08:59.530
<v Sjors Provoost>autonomous and it's just there. But there is an ecosystem around it. And part of

00:08:59.530 --> 00:09:03.050
<v Sjors Provoost>the reason for that ecosystem around it is that taking the money out is not as

00:09:03.050 --> 00:09:07.610
<v Sjors Provoost>easy as it sounds. Because there's a chicken-egg problem here. If in Ethereum you

00:09:07.610 --> 00:09:11.130
<v Sjors Provoost>wanted to do anything with a smart contract, such as getting money out of the

00:09:11.130 --> 00:09:15.770
<v Sjors Provoost>smart contract, you have to send a command to the smart contract. And this

00:09:15.770 --> 00:09:19.930
<v Sjors Provoost>command requires a little bit of ETH, called gas, in order to execute the

00:09:19.930 --> 00:09:25.670
<v Sjors Provoost>command. But you cannot borrow ETH. So if your account is

00:09:25.670 --> 00:09:30.310
<v Sjors Provoost>zero, then you actually need to... To put some ETH in it before you can then go

00:09:30.310 --> 00:09:35.330
<v Sjors Provoost>and get it out of the smart contract. And the problem with doing that is that you

00:09:35.330 --> 00:09:41.150
<v Sjors Provoost>might then accidentally link your original ETH to the other contract. So you have

00:09:41.150 --> 00:09:45.210
<v Sjors Provoost>one public key or one address where you had your original funds, you put some of

00:09:45.210 --> 00:09:48.610
<v Sjors Provoost>that in the smart contract, and then maybe you moved some of those original funds

00:09:48.610 --> 00:09:52.750
<v Sjors Provoost>to another address just enough so you can pay the smart contract to take it out.

00:09:53.250 --> 00:09:57.230
<v Sjors Provoost>But then any blockchain analytics company could just see that it's probably the

00:09:57.230 --> 00:10:01.530
<v Sjors Provoost>same person taking the money in and taking the money out. So there's a solution

00:10:01.530 --> 00:10:05.010
<v Sjors Provoost>for that, and it's called a relayer, which I think is a somewhat confusing term,

00:10:05.070 --> 00:10:10.150
<v Sjors Provoost>but it doesn't really matter. This relayer is not a... Well, I think it's

00:10:10.150 --> 00:10:14.860
<v Sjors Provoost>partially a smart contract and it's partially a web service. And what you do is

00:10:14.860 --> 00:10:20.580
<v Sjors Provoost>you go online to some website and you upload your proof that you got

00:10:20.580 --> 00:10:25.600
<v Sjors Provoost>when you put the money inside the Tornado Cash. And by uploading that proof and

00:10:25.600 --> 00:10:30.300
<v Sjors Provoost>saying, I want the money to go out to this address, basically to my new address,

00:10:30.440 --> 00:10:34.920
<v Sjors Provoost>that service will then call the smart contract for you. So they'll pay the gas

00:10:34.920 --> 00:10:39.160
<v Sjors Provoost>fees and they'll send you the whatever comes out of the smart contract minus fees.

00:10:41.400 --> 00:10:41.960
<v Aaron van Wirdum>Okay.

00:10:43.880 --> 00:10:47.380
<v Sjors Provoost>So so this is a way to solve the chicken egg problem somebody else is paying your

00:10:47.380 --> 00:10:51.600
<v Sjors Provoost>gas fees and there's some way to make sure that they can't steal more than they

00:10:51.600 --> 00:10:54.480
<v Sjors Provoost>say they're going to steal based on the fee right?

00:10:54.480 --> 00:11:00.060
<v Aaron van Wirdum>Okay so that's the general idea of how Tornado Cash works and then I think

00:11:00.060 --> 00:11:05.700
<v Aaron van Wirdum>the next step would be so here we get sort of to where it gets interesting

00:11:05.700 --> 00:11:09.740
<v Aaron van Wirdum>in relation to the court case there's something going on…

00:11:11.280 --> 00:11:11.920
<v Aaron van Wirdum>with tokens.

00:11:12.600 --> 00:11:16.320
<v Sjors Provoost>Yeah, because if we just look at relayers, you could say, well, those relayers

00:11:16.320 --> 00:11:20.600
<v Sjors Provoost>are taking fees. So you could... I think, pretty easily argue that a relayer is

00:11:20.600 --> 00:11:24.480
<v Sjors Provoost>at least taking fees, is making money. The original smart contract was not making

00:11:24.480 --> 00:11:30.160
<v Sjors Provoost>any money. However, as far as I know, Alexei is not accused of running a

00:11:30.160 --> 00:11:33.400
<v Sjors Provoost>relayer, or at least not yet accused, because they're still sort of drawing up

00:11:33.400 --> 00:11:33.840
<v Sjors Provoost>these charges.

00:11:34.460 --> 00:11:40.480
<v Aaron van Wirdum>Yeah, as we mentioned, the court case hasn't happened yet. We've only seen sort of...

00:11:41.750 --> 00:11:44.770
<v Aaron van Wirdum>Trailer. We've seen the trailer of the court case, but we don't know what's

00:11:44.770 --> 00:11:46.210
<v Aaron van Wirdum>actually going to...

00:11:46.210 --> 00:11:49.650
<v Sjors Provoost>Yeah, but I would say based on the rest of what we can discuss in this case, if

00:11:49.650 --> 00:11:53.870
<v Sjors Provoost>you do run a relayer, you may have a similar problem, but that's not what this

00:11:53.870 --> 00:11:57.490
<v Sjors Provoost>case seems to be about. You think relayers are interesting, but then the question

00:11:57.490 --> 00:12:01.550
<v Sjors Provoost>is, everybody could run a relayer. So now as a user, how do you decide which

00:12:01.550 --> 00:12:05.700
<v Sjors Provoost>relayer to use and how do you actually use the relayer? And for this, there was a

00:12:05.700 --> 00:12:10.600
<v Sjors Provoost>bunch of other software tools that Alexei and others developed that basically

00:12:10.600 --> 00:12:16.420
<v Sjors Provoost>made it easy if you have a MetaMask browser or a MetaMask browser plugin to

00:12:16.420 --> 00:12:21.020
<v Sjors Provoost>just go to a website and click on a few buttons and it would just pick a relayer

00:12:21.020 --> 00:12:24.820
<v Sjors Provoost>for you and it would do all the complicated stuff that you need to do to use a

00:12:24.820 --> 00:12:30.520
<v Sjors Provoost>relayer. And that software is kind of where the

00:12:30.520 --> 00:12:35.580
<v Sjors Provoost>tokenomics come in. And I don't like using this word. But tokenomics it is.

00:12:36.280 --> 00:12:40.220
<v Sjors Provoost>Because so far you say, why the hell do you need a token for any of this? And the

00:12:40.220 --> 00:12:44.220
<v Sjors Provoost>answer is you don't. But, you know, some people just like to build tokenomics

00:12:44.220 --> 00:12:49.740
<v Sjors Provoost>systems. And so there is one. So there is a token called TORN. T-O-R-N.

00:12:50.380 --> 00:12:56.360
<v Sjors Provoost>And basically what happens is this little website that the users use has a list

00:12:56.360 --> 00:13:02.320
<v Sjors Provoost>of available relays. And in order to pick a relay, it looks at what's the

00:13:02.320 --> 00:13:06.100
<v Sjors Provoost>lowest fee. That makes sense. But it also looks at who has staked the most TORN.

00:13:06.860 --> 00:13:10.060
<v Sjors Provoost>So you can apparently, if you own these TORN tokens, you can stake them

00:13:10.060 --> 00:13:15.440
<v Sjors Provoost>somewhere, somehow, and that'll give your relay priority over other relays, at

00:13:15.440 --> 00:13:18.880
<v Sjors Provoost>least to the users of that software. So that's not enforced in the consensus

00:13:18.880 --> 00:13:23.380
<v Sjors Provoost>anywhere. So now you can say, okay, so there's a reason to own this TORN token,

00:13:23.540 --> 00:13:28.100
<v Sjors Provoost>namely for your relays to be more popular. So that's sort of a tokenomic story.

00:13:28.220 --> 00:13:31.500
<v Sjors Provoost>And that comes back in the case, basically, to bite them.

00:13:32.720 --> 00:13:37.140
<v Aaron van Wirdum>Okay, first of all, Sjors, this all sounds very Ethereum-y. Why do you know all

00:13:37.140 --> 00:13:39.620
<v Aaron van Wirdum>this? Did you research all of this just for the podcast?

00:13:40.300 --> 00:13:42.740
<v Sjors Provoost>I've been researching some of this stuff over the last few months.

00:13:42.940 --> 00:13:44.360
<v Aaron van Wirdum>Because of the court case.

00:13:44.600 --> 00:13:48.480
<v Sjors Provoost>Yeah, my approach with a lot of altcoins is to ignore them until something

00:13:48.480 --> 00:13:52.100
<v Sjors Provoost>explodes. But I have in the past worked a little bit with Ethereum too. So I have

00:13:52.100 --> 00:13:55.180
<v Sjors Provoost>some background understanding of how it works. But I don't want to say I'm

00:13:55.180 --> 00:13:55.940
<v Sjors Provoost>completely up to date.

00:13:57.450 --> 00:14:03.170
<v Aaron van Wirdum>Okay, well, so... Tokenomics all sounds fantastically futuristic

00:14:03.170 --> 00:14:08.640
<v Aaron van Wirdum>very exciting but there's also something going on and I think this is

00:14:08.640 --> 00:14:12.620
<v Aaron van Wirdum>where it really gets relevant for the court case because as you mentioned

00:14:13.950 --> 00:14:19.870
<v Aaron van Wirdum>The whole relayer thing doesn't seem to be the issue here for Alexei, even

00:14:19.870 --> 00:14:23.670
<v Aaron van Wirdum>though he might be running a relay or not. We'll have to see, or maybe we'll see

00:14:23.670 --> 00:14:24.230
<v Aaron van Wirdum>all about that.

00:14:24.350 --> 00:14:27.650
<v Sjors Provoost>I think so far they're saying he's not. At least the defense is saying he's not.

00:14:27.950 --> 00:14:33.210
<v Aaron van Wirdum>So there's a double function for the token. And that is where it gets relevant

00:14:33.210 --> 00:14:37.710
<v Aaron van Wirdum>for the court case potentially, or it seems like it, which is governance.

00:14:38.090 --> 00:14:42.010
<v Sjors Provoost>Yeah, I think they're both relevant for the court case, but governance is the

00:14:42.010 --> 00:14:43.890
<v Sjors Provoost>second reason why they may be very relevant.

00:14:44.190 --> 00:14:49.670
<v Aaron van Wirdum>Yeah, so supposedly this is, here we get another great Ethereum term. It's a DAO.

00:14:50.710 --> 00:14:55.630
<v Aaron van Wirdum>And there's a token involved that does something governance-y. And you're going

00:14:55.630 --> 00:15:00.210
<v Aaron van Wirdum>to explain us all about the governance-y, Ethereum, DAO, token-y stuff as well now.

00:15:00.490 --> 00:15:05.070
<v Sjors Provoost>Yeah, but this is where I have to disclaim that I'm not super up to date on how

00:15:05.070 --> 00:15:07.810
<v Sjors Provoost>it works. And part of the reason is because it's just not that well documented.

00:15:08.210 --> 00:15:12.530
<v Sjors Provoost>And some of the documentation got wiped out with the original sort of OFAC

00:15:12.530 --> 00:15:16.310
<v Sjors Provoost>sanctions where lots of websites started disappearing, which made it more

00:15:16.310 --> 00:15:17.190
<v Sjors Provoost>difficult to understand.

00:15:17.910 --> 00:15:19.810
<v Aaron van Wirdum>Sorry, what websites were disappearing?

00:15:20.170 --> 00:15:23.950
<v Sjors Provoost>Well, tornado.cash, some documentation sites, everything hosted by GitHub.

00:15:24.710 --> 00:15:27.530
<v Aaron van Wirdum>Oh, really? So it was taken down?

00:15:28.750 --> 00:15:29.110
<v Sjors Provoost>Preemptively.

00:15:29.410 --> 00:15:29.670
<v Aaron van Wirdum>Oh, really?

00:15:29.830 --> 00:15:33.110
<v Sjors Provoost>So not by the government. It was basically companies like GitHub, which is run by

00:15:33.110 --> 00:15:36.550
<v Sjors Provoost>Microsoft. Their compliance team just shut everything down. It was remotely

00:15:36.550 --> 00:15:39.230
<v Sjors Provoost>related to a Tornado Cash. And some of that stuff got back.

00:15:39.990 --> 00:15:40.350
<v Aaron van Wirdum>Interesting.

00:15:40.870 --> 00:15:43.670
<v Sjors Provoost>But that made it a bit more difficult for me to study how the whole thing works.

00:15:43.850 --> 00:15:48.270
<v Sjors Provoost>So I may be a little off on the tokenomics and some other podcasts maybe will

00:15:48.300 --> 00:15:50.600
<v Sjors Provoost>explain it better. But the governance anyway…

00:15:53.700 --> 00:15:57.560
<v Sjors Provoost>So one thing you can do with it, DAO basically just means you have a smart

00:15:57.560 --> 00:16:00.780
<v Sjors Provoost>contract and the tokens give you a vote in that smart contract. That's probably

00:16:00.780 --> 00:16:06.220
<v Sjors Provoost>the simplest way to say it. And then how the voting exactly works depends on how

00:16:06.220 --> 00:16:08.800
<v Sjors Provoost>you've implemented the smart contract. So it might be that you need a full

00:16:08.800 --> 00:16:09.600
<v Sjors Provoost>majority change.

00:16:09.980 --> 00:16:14.300
<v Aaron van Wirdum>Yeah, so editor, Sjors’s got a neighbor who's drilling holes in his walls today.

00:16:15.550 --> 00:16:21.050
<v Aaron van Wirdum>So I guess we're sort of occasionally taking a break until he stops. And

00:16:21.050 --> 00:16:23.810
<v Aaron van Wirdum>hopefully you can kind of edit this out as well as possible.

00:16:25.060 --> 00:16:26.140
<v Aaron van Wirdum>Yep. Do you remember?

00:16:26.560 --> 00:16:26.640
<v Sjors Provoost>Yeah.

00:16:26.860 --> 00:16:28.120
<v Aaron van Wirdum>Just keep going, I guess.

00:16:28.830 --> 00:16:33.190
<v Sjors Provoost>So DAO means that you have tokens, those can vote, and the way the voting works

00:16:33.190 --> 00:16:36.610
<v Sjors Provoost>will vary depending on the implementation. You could have, say, if you want to

00:16:36.610 --> 00:16:40.950
<v Sjors Provoost>change anything about the rules, then you need a 51% vote, or you could say,

00:16:41.030 --> 00:16:45.150
<v Sjors Provoost>well, it's 51% of the people who show up to vote, stuff like that, whatever. One

00:16:45.150 --> 00:16:50.170
<v Sjors Provoost>of the things you might be able to vote for... Is the little website that people

00:16:50.170 --> 00:16:55.010
<v Sjors Provoost>see. And this is where I'm not entirely sure if it actually works this way, but I

00:16:55.010 --> 00:17:00.650
<v Sjors Provoost>suspect it did. The website you see when you go to your MetaMask browser to

00:17:00.650 --> 00:17:05.410
<v Sjors Provoost>tornado.cash can be hosted on something called the Interplanetary File System,

00:17:05.590 --> 00:17:08.890
<v Sjors Provoost>which is a nice distributed sort of file system out there.

00:17:09.860 --> 00:17:11.540
<v Sjors Provoost>And you identify files…

00:17:11.420 --> 00:17:13.340
<v Aaron van Wirdum>This is all Ethereum stuff, right?

00:17:13.540 --> 00:17:16.260
<v Sjors Provoost>No, IPFS exists outside of Ethereum.

00:17:16.480 --> 00:17:16.820
<v Aaron van Wirdum>Oh, okay.

00:17:17.640 --> 00:17:20.800
<v Sjors Provoost>Basically, it's just a distributed file system. I don't know all the trade-offs

00:17:20.800 --> 00:17:25.880
<v Sjors Provoost>of it. But kind of like Tor in the sense that you have a hash of a file and

00:17:25.880 --> 00:17:30.820
<v Sjors Provoost>that's how you identify it. So you give the file system a hash and it somehow

00:17:30.820 --> 00:17:35.260
<v Sjors Provoost>finds the original file and presents it to you. And this is interesting because a

00:17:35.260 --> 00:17:39.240
<v Sjors Provoost>hash actually is a checksum of the contents of the file. So in this case, you

00:17:39.240 --> 00:17:43.740
<v Sjors Provoost>might have a hash that represents a specific piece of HTML and JavaScript and all

00:17:43.740 --> 00:17:44.280
<v Sjors Provoost>this logic.

00:17:45.620 --> 00:17:50.640
<v Sjors Provoost>And... Like I said, the little website you get when you use MetaMask controls

00:17:50.640 --> 00:17:55.780
<v Sjors Provoost>which of the relayers you're going to use, and controls how the tokenomics

00:17:55.780 --> 00:17:59.340
<v Sjors Provoost>actually pick the relayer. So this is not implemented in a smart contract, this

00:17:59.340 --> 00:18:02.780
<v Sjors Provoost>is implemented in a website. The website basically just tells your browser, go

00:18:02.780 --> 00:18:08.400
<v Sjors Provoost>and pick this particular relay. So if you control which website the user

00:18:08.400 --> 00:18:13.580
<v Sjors Provoost>sees... Because you can decide which hash the user's website is going to look

00:18:13.580 --> 00:18:19.300
<v Sjors Provoost>for, that gives you some control over the system. And in theory, you can have the

00:18:19.300 --> 00:18:24.620
<v Sjors Provoost>smart contract itself point to a specific hash.

00:18:25.280 --> 00:18:30.140
<v Sjors Provoost>So then you could have a DAO that could vote over which hash gets to be the real

00:18:30.140 --> 00:18:34.960
<v Sjors Provoost>website for the end user. And then, of course, if you control the majority of the

00:18:34.960 --> 00:18:40.580
<v Sjors Provoost>DAO tokens or somehow manipulate the vote, then, well, you control the website,

00:18:40.580 --> 00:18:44.400
<v Sjors Provoost>and that basically could be an argument to say that you are in control of a

00:18:44.400 --> 00:18:49.190
<v Sjors Provoost>certain system or not. Obviously none of this has been fleshed out by the

00:18:49.190 --> 00:18:53.010
<v Sjors Provoost>prosecutor in enough detail and I feel sorry for whoever actually has to do all

00:18:53.010 --> 00:18:57.150
<v Sjors Provoost>the tokenomics both on the side of the prosecutor explaining why tokenomics are

00:18:57.150 --> 00:19:01.710
<v Sjors Provoost>or are not actually decentralized I mean another defense to try and explain why

00:19:01.710 --> 00:19:02.170
<v Sjors Provoost>they're wrong.

00:19:02.170 --> 00:19:06.930
<v Aaron van Wirdum>Yeah and I feel bad for the host of this podcast having to listen to all of this

00:19:06.930 --> 00:19:10.830
<v Aaron van Wirdum>and try to understand no I'm joking I think it's actually kind of interesting.

00:19:11.600 --> 00:19:15.520
<v Aaron van Wirdum>I'm just happy that we don't usually make an Ethereum podcast, I guess.

00:19:15.940 --> 00:19:16.060
<v Sjors Provoost>Yeah.

00:19:16.340 --> 00:19:21.860
<v Aaron van Wirdum>But I want to clarify one thing before we move on. So we have mentioned this, but

00:19:21.860 --> 00:19:26.220
<v Aaron van Wirdum>it's worth kind of repeating this. So we're talking about all this tokenomics and

00:19:26.220 --> 00:19:31.720
<v Aaron van Wirdum>governance and how it might work or might not. But this is kind of separate.

00:19:32.040 --> 00:19:37.760
<v Aaron van Wirdum>So this is still separate from the actual mixing tool, right? This is all

00:19:37.760 --> 00:19:40.200
<v Aaron van Wirdum>relevant to the relayers, which is sort of...

00:19:40.850 --> 00:19:45.930
<v Sjors Provoost>Yeah, the analogy I made yesterday in our preparation is of a lake. And so you

00:19:45.930 --> 00:19:49.990
<v Sjors Provoost>could say the original smart contract, the original Tornado Cash core smart

00:19:49.990 --> 00:19:54.070
<v Sjors Provoost>contract could be like a big lake with lots of fish in it. And that's where all

00:19:54.070 --> 00:20:00.050
<v Sjors Provoost>the money is. But then the Alexei and others built a whole nice little harbor. At

00:20:00.050 --> 00:20:04.050
<v Sjors Provoost>the side of that lake that way you can rent boats to go on the lake and etc etc

00:20:04.050 --> 00:20:08.550
<v Sjors Provoost>but in principle anybody can do that they don't have monopoly control over the

00:20:08.550 --> 00:20:12.570
<v Sjors Provoost>lake itself and so if you shut them down or even if you shut those those helper

00:20:12.570 --> 00:20:15.710
<v Sjors Provoost>smart contracts down because that's kind of how it works you have a main smart

00:20:15.710 --> 00:20:19.030
<v Sjors Provoost>contract and a bunch of helper smart contracts around it the lake is still there

00:20:19.030 --> 00:20:22.450
<v Sjors Provoost>and somebody else could use it. And in fact, you can just copy paste the whole

00:20:22.450 --> 00:20:23.830
<v Sjors Provoost>smart contract and create another lake.

00:20:23.950 --> 00:20:27.430
<v Aaron van Wirdum>They probably did also build the lake though, right? It's just, they're just

00:20:27.430 --> 00:20:28.330
<v Aaron van Wirdum>different smart contracts.

00:20:28.730 --> 00:20:32.710
<v Sjors Provoost>But the lake, the analogy with the lake, I make it because that smart contract is

00:20:32.710 --> 00:20:33.370
<v Sjors Provoost>closed.

00:20:33.610 --> 00:20:35.450
<v Aaron van Wirdum>It doesn't have the DAO stuff going on.

00:20:35.730 --> 00:20:40.530
<v Sjors Provoost>And it's sort of frozen the way it is. And the prosecutor even mentioned this

00:20:40.530 --> 00:20:46.030
<v Sjors Provoost>sort of in their opening statement saying, well, if it was only a smart contract

00:20:46.030 --> 00:20:49.790
<v Sjors Provoost>that was created a long time ago and not touched, we wouldn't be here. But in

00:20:49.790 --> 00:20:55.720
<v Sjors Provoost>fact there's much more going on so what that says is that perhaps if

00:20:55.720 --> 00:20:59.400
<v Sjors Provoost>you do make a smart contract that is immutable and you don't touch it anymore and

00:20:59.400 --> 00:21:03.840
<v Sjors Provoost>you're not doing any governance stuff then maybe you might be okay according to

00:21:03.840 --> 00:21:07.940
<v Sjors Provoost>them which of course is all just their opinion it's not been you know checked by

00:21:07.940 --> 00:21:08.380
<v Sjors Provoost>any judge.

00:21:08.380 --> 00:21:13.340
<v Aaron van Wirdum>Okay so we've discussed the DAO kind of stuff and the tokenomics at least to an

00:21:13.340 --> 00:21:16.700
<v Aaron van Wirdum>extent that we sort of cover that well enough I think?

00:21:16.700 --> 00:21:19.500
<v Sjors Provoost>I think so I mean we can cover some of the compliance tools they built but maybe

00:21:19.500 --> 00:21:21.320
<v Sjors Provoost>we can do that later as we yeah

00:21:22.280 --> 00:21:26.040
<v Aaron van Wirdum>So the first thing I want to mention here is that so when did when his arrest

00:21:26.040 --> 00:21:32.020
<v Aaron van Wirdum>when Alexei’s arrest first made the news the general impression

00:21:32.020 --> 00:21:37.920
<v Aaron van Wirdum>or the general what people thought was that he was arrested for writing free

00:21:38.300 --> 00:21:44.100
<v Aaron van Wirdum>software open source software yeah and it now seems at least in the

00:21:44.500 --> 00:21:50.480
<v Aaron van Wirdum>you know preview court case or whatever the pro forma it seems that there's

00:21:50.480 --> 00:21:54.740
<v Aaron van Wirdum>that that's not really the reason or at least that's not the complete reason or

00:21:54.740 --> 00:21:58.460
<v Aaron van Wirdum>that's not the full reason because it seems like it has a lot to do with the

00:21:58.460 --> 00:22:03.660
<v Aaron van Wirdum>tokenomics yes because the prosecutor suggested that Alexei and the other

00:22:03.660 --> 00:22:08.000
<v Aaron van Wirdum>Tornado Cash developers actually own most of the tokens themselves

00:22:08.750 --> 00:22:12.550
<v Sjors Provoost>Yeah, they're basically saying that his company is Tornado Cash, that all of

00:22:12.550 --> 00:22:16.870
<v Sjors Provoost>Tornado Cash, the whole ecosystem, all the tokens, all the smart contracts are

00:22:16.870 --> 00:22:18.950
<v Sjors Provoost>run by them just like it is a business.

00:22:19.370 --> 00:22:24.010
<v Aaron van Wirdum>So yeah, so when this first made the news, when the whole court case first made

00:22:24.010 --> 00:22:29.910
<v Aaron van Wirdum>the news, the general sort of assumption, impression was that this developer was

00:22:29.910 --> 00:22:35.630
<v Aaron van Wirdum>being arrested for writing free software, open source software. But now it seems

00:22:35.630 --> 00:22:41.570
<v Aaron van Wirdum>that it has more to do with... Him owning him basically

00:22:41.570 --> 00:22:46.830
<v Aaron van Wirdum>just controlling this smart contract by holding most of the tokens

00:22:46.830 --> 00:22:51.810
<v Aaron van Wirdum>right so it has more to do with the tokenomics so to say than with the actual

00:22:51.810 --> 00:22:53.750
<v Aaron van Wirdum>writing of software it seems like.

00:22:53.750 --> 00:22:58.590
<v Sjors Provoost>Yes I think so because the the picture they're painting is to say well if it…

00:22:59.720 --> 00:23:03.880
<v Sjors Provoost>I think the picture of the prosecutor's painting is that it's not just an

00:23:03.880 --> 00:23:08.860
<v Sjors Provoost>autonomous software system. It's actually a company run by people. And those

00:23:08.860 --> 00:23:13.400
<v Sjors Provoost>people do some sort of sham voting. They're basically claiming that all these

00:23:13.400 --> 00:23:17.940
<v Sjors Provoost>votes that are happening are really just manipulated by the company. And it's all

00:23:17.940 --> 00:23:22.640
<v Sjors Provoost>just completely centralized. And therefore, they are doing the money laundering.

00:23:22.800 --> 00:23:25.780
<v Aaron van Wirdum>Sounds like a pretty good prosecutor in that sense to me.

00:23:26.290 --> 00:23:31.490
<v Sjors Provoost>Well it's a very [unclear] maxi prosecutor I guess. Right, the argument is still

00:23:31.490 --> 00:23:35.210
<v Sjors Provoost>very vague. I mean I would not disagree that the system might be very centralized

00:23:35.210 --> 00:23:39.450
<v Sjors Provoost>in a way but that still leaves a lot of open questions of whether they're really

00:23:39.450 --> 00:23:43.950
<v Sjors Provoost>doing the money laundering right? They're building a system that is doing things

00:23:43.950 --> 00:23:45.170
<v Sjors Provoost>but the system…

00:23:45.170 --> 00:23:50.890
<v Aaron van Wirdum>I mean I want to be clear… that I I I favor privacy tools and all of that just

00:23:50.890 --> 00:23:55.190
<v Aaron van Wirdum>the sham decentralization that sounds like that that's probably right it sounds

00:23:55.190 --> 00:24:01.040
<v Aaron van Wirdum>to me. Is yeah but based on you know everything I know of anything that's

00:24:01.040 --> 00:24:04.240
<v Aaron van Wirdum>going on in Ethereum that sounds about right but like you said maybe it was a

00:24:04.240 --> 00:24:09.810
<v Aaron van Wirdum>maybe that's a very that that's certainly a very Bitcoin maxi position so okay so

00:24:09.810 --> 00:24:11.650
<v Aaron van Wirdum>basically the…

00:24:13.890 --> 00:24:19.670
<v Aaron van Wirdum>prosecutor says Alexei controls smart contract de facto and

00:24:19.670 --> 00:24:22.030
<v Aaron van Wirdum>then he's being arrested because…

00:24:23.280 --> 00:24:27.060
<v Sjors Provoost>And they're making money. But the making money argument is also, again, a bit

00:24:27.060 --> 00:24:31.200
<v Sjors Provoost>vague because the argument from the prosecutor seems to be, well, the token is

00:24:31.200 --> 00:24:34.280
<v Sjors Provoost>going up in value because of the money laundering and because the token is going

00:24:34.280 --> 00:24:37.040
<v Sjors Provoost>up in value, they can cash out that value and that's why he has a Porsche.

00:24:38.410 --> 00:24:40.710
<v Aaron van Wirdum>Yeah they did mention they mentioned the Porsche.

00:24:40.710 --> 00:24:45.030
<v Sjors Provoost>So but this this argument again is it's very hand wavy so we'll have to see how

00:24:45.030 --> 00:24:48.350
<v Sjors Provoost>they really make that legal argument that just because you own tokens and they go

00:24:48.350 --> 00:24:52.110
<v Sjors Provoost>up in value that that means that you're responsible for the money laundering in

00:24:52.110 --> 00:24:54.910
<v Sjors Provoost>some way well it's not it's not an obvious direct link there.

00:24:54.910 --> 00:24:59.150
<v Aaron van Wirdum>Well that's what I was gonna ask so that's what the prosecutor alleges right?

00:24:59.150 --> 00:25:05.110
<v Aaron van Wirdum>That first of all they knew that criminals were using their tools to

00:25:05.110 --> 00:25:10.280
<v Aaron van Wirdum>launder their proceeds. And they were told about this. And then second,

00:25:10.740 --> 00:25:16.580
<v Aaron van Wirdum>there were compliance tools available, which they chose not to build in,

00:25:16.760 --> 00:25:18.400
<v Aaron van Wirdum>even though they could have.

00:25:18.700 --> 00:25:24.520
<v Sjors Provoost>Yeah. So I guess we can do a little tour of money laundering law, I guess, which

00:25:24.520 --> 00:25:30.310
<v Sjors Provoost>I'm not an expert on, but I can see various forms, various legal gradations of

00:25:30.310 --> 00:25:35.960
<v Sjors Provoost>money laundering. And one of them is about as simple as... Somehow

00:25:35.960 --> 00:25:39.800
<v Sjors Provoost>causing the origin of funds to be hidden. Like, that's enough.

00:25:40.160 --> 00:25:40.240
<v Aaron van Wirdum>Yeah.

00:25:40.560 --> 00:25:44.200
<v Sjors Provoost>And then that's what the law says, but there are some legal tests that you have

00:25:44.200 --> 00:25:47.220
<v Sjors Provoost>to go through in order to prove that money laundering... For a prosecutor to

00:25:47.220 --> 00:25:49.980
<v Sjors Provoost>prove that money laundering happened, it's not enough to say, well, you were

00:25:49.980 --> 00:25:54.940
<v Sjors Provoost>hiding the origin. Basically, they have to show that the money was used. The

00:25:54.940 --> 00:25:58.200
<v Sjors Provoost>laundering was... Basically, the thing that was being laundered was actually

00:25:58.200 --> 00:26:01.640
<v Sjors Provoost>criminal money. So they have to prove that all or some of the money had a

00:26:01.640 --> 00:26:05.920
<v Sjors Provoost>criminal origin. Then you have to prove that the suspect knew that this criminal

00:26:05.920 --> 00:26:10.210
<v Sjors Provoost>origin... Existed or at least should have known and then well there's a couple of

00:26:10.210 --> 00:26:15.330
<v Sjors Provoost>other tests basically along those lines now to prove that they knew that criminal

00:26:15.330 --> 00:26:18.790
<v Sjors Provoost>things were going through that was pretty easy because like lots of companies I

00:26:18.790 --> 00:26:21.930
<v Sjors Provoost>guess have shown that was that's not disputed that much that there were some

00:26:21.930 --> 00:26:25.350
<v Sjors Provoost>criminals using it but then I guess you could somehow defend yourself by saying

00:26:25.350 --> 00:26:28.730
<v Sjors Provoost>well but we have all these compliance mechanisms I mean that's what banks do

00:26:28.730 --> 00:26:31.770
<v Sjors Provoost>right? They have all these compliance departments and they they try to mitigate

00:26:31.770 --> 00:26:35.920
<v Sjors Provoost>the money laundering as much as possible. And if they do to put in enough effort

00:26:35.920 --> 00:26:39.440
<v Sjors Provoost>to mitigate the money laundering, then they don't go to jail just because some

00:26:39.440 --> 00:26:43.720
<v Sjors Provoost>money laundering did happen. But, of course, Tornado Cash was not doing that. At

00:26:43.720 --> 00:26:47.620
<v Sjors Provoost>least that's the argument, and that's a reasonable argument. They did do two things.

00:26:47.740 --> 00:26:48.660
<v Aaron van Wirdum>While they could have.

00:26:49.670 --> 00:26:50.070
<v Sjors Provoost>Yeah.

00:26:50.990 --> 00:26:55.370
<v Aaron van Wirdum>I mean, that's what the court case will be about, I guess, right? Could they have

00:26:55.370 --> 00:26:55.830
<v Aaron van Wirdum>done it?

00:26:56.070 --> 00:26:59.330
<v Sjors Provoost>Well, even that, I don't know if that's going to be what the case is about. But

00:26:59.330 --> 00:27:02.910
<v Sjors Provoost>you could say like, well, it's a smart contract. There's nothing you can do about

00:27:02.910 --> 00:27:05.850
<v Sjors Provoost>money laundering. It's kind of inherent to the system. Whether that would be

00:27:05.850 --> 00:27:09.650
<v Sjors Provoost>enough of a defense, we'll have to see. I hope so. But the counter argument from

00:27:09.650 --> 00:27:12.670
<v Sjors Provoost>the prosecutor might be something like, well, then if you want to run a business,

00:27:12.690 --> 00:27:15.930
<v Sjors Provoost>because it's not just a software, but it's also a business. If you want to run a

00:27:15.930 --> 00:27:20.590
<v Sjors Provoost>business, then just don't use a blockchain. For your money processing because you

00:27:20.590 --> 00:27:24.710
<v Sjors Provoost>can't do compliance and therefore you shouldn't, you know, you should do some

00:27:24.710 --> 00:27:28.510
<v Sjors Provoost>other business, right? So they might say that it's okay for the smart contract to

00:27:28.510 --> 00:27:32.370
<v Sjors Provoost>exist. It's just that you can't be the one running it. So maybe that could be the

00:27:32.370 --> 00:27:32.910
<v Sjors Provoost>argument there.

00:27:33.050 --> 00:27:37.490
<v Aaron van Wirdum>So what kind of compliance tools could they have used? Do you know this?

00:27:37.770 --> 00:27:42.350
<v Sjors Provoost>Yeah. So there were two compliance tools. The one that actually was built. And

00:27:42.350 --> 00:27:46.310
<v Sjors Provoost>that is basically a tool where if you're a user, you send money into Tornado Cash

00:27:46.310 --> 00:27:49.990
<v Sjors Provoost>and you take it out of Tornado Cash, and then you send it to an exchange. The

00:27:49.990 --> 00:27:54.150
<v Sjors Provoost>exchange could ask you, where is this money coming from? And then you could prove

00:27:54.150 --> 00:27:59.230
<v Sjors Provoost>to the exchange where it went into Tornado Cash and how you took it out. So

00:27:59.230 --> 00:28:03.370
<v Sjors Provoost>basically, you can help the exchange see through the mixer. So you can

00:28:03.370 --> 00:28:07.090
<v Sjors Provoost>selectively reveal to people that, yes, you were using the mixer, but this is

00:28:07.090 --> 00:28:09.290
<v Sjors Provoost>where it came from, this is where it's going. And you can use the zero-knowledge

00:28:09.290 --> 00:28:11.130
<v Sjors Provoost>proof to nicely prove that

00:28:11.130 --> 00:28:14.850
<v Aaron van Wirdum>Wait but so this would be the individual users proving this right

00:28:14.850 --> 00:28:19.370
<v Sjors Provoost>Yes so individual users can choose to prove this source of funds right that is

00:28:19.370 --> 00:28:24.690
<v Sjors Provoost>not enough for Tornado Cash to survive this money laundering charge because you

00:28:24.690 --> 00:28:30.070
<v Sjors Provoost>can say yes we allow our users to not launder money it's like that's not a very

00:28:30.070 --> 00:28:33.710
<v Sjors Provoost>strong legal defense because you're not forcing them to to not launder money

00:28:33.710 --> 00:28:38.660
<v Aaron van Wirdum>Yeah okay so that's Solution one, which you think would not have been enough, but

00:28:38.660 --> 00:28:42.220
<v Aaron van Wirdum>it's a solution anyway. Yeah, solution two… Which you mentioned why, if it's not

00:28:42.220 --> 00:28:44.120
<v Aaron van Wirdum>enough, just for interest?

00:28:44.580 --> 00:28:48.940
<v Sjors Provoost>Well, because again, the charge of money laundering is that you allowed somebody

00:28:48.940 --> 00:28:54.740
<v Sjors Provoost>to hide the source of funds. And so the fact that you helped somebody hide the

00:28:54.740 --> 00:28:58.540
<v Sjors Provoost>source of their funds, and then you gave them the option to not hide the source

00:28:58.540 --> 00:29:02.210
<v Sjors Provoost>of their funds. It's like, great, but you still help them hide the source of their funds.

00:29:02.390 --> 00:29:06.270
<v Aaron van Wirdum>So it's not a solution at all. It's not one out of two solutions. It's not a solution.

00:29:06.430 --> 00:29:10.310
<v Sjors Provoost>If you look at the traditional cases of custodial mixers, right, there are

00:29:10.310 --> 00:29:15.190
<v Sjors Provoost>custodial companies that are mixers. Yeah, you can, of course, if I were to use

00:29:15.190 --> 00:29:20.630
<v Sjors Provoost>one of those custodial mixers, then yes, sure, I could prove to my bank that I

00:29:20.630 --> 00:29:24.230
<v Sjors Provoost>used that mixer and that this money went in and this money went out, but the

00:29:24.230 --> 00:29:26.230
<v Sjors Provoost>custodial mixer operator is still going to prison.

00:29:27.690 --> 00:29:32.470
<v Sjors Provoost>Because other customers would probably not do that. That would be the argument.

00:29:33.650 --> 00:29:34.490
<v Aaron van Wirdum>Moving on.

00:29:34.670 --> 00:29:38.430
<v Sjors Provoost>I'm not making a moral judgment. I'm saying this is how that's interpreted.

00:29:38.730 --> 00:29:38.930
<v Aaron van Wirdum>Sure.

00:29:39.450 --> 00:29:43.930
<v Sjors Provoost>Moving on, the other compliance tools was a little bit more enforcement in that

00:29:43.930 --> 00:29:48.330
<v Sjors Provoost>they would check the origin address or the destination address, I don't know

00:29:48.330 --> 00:29:52.190
<v Sjors Provoost>which of the two, against the OFAC list and various other lists.

00:29:52.730 --> 00:29:54.090
<v Aaron van Wirdum>What's the OFAC list again?

00:29:55.360 --> 00:29:59.860
<v Sjors Provoost>Office of foreign asset control there's like this u.s thing that publishes bad

00:29:59.860 --> 00:30:03.700
<v Sjors Provoost>the names and and addresses of bad people that you should not do business with

00:30:03.700 --> 00:30:08.150
<v Sjors Provoost>according to them. Okay, and… And this is not related to the fact that

00:30:08.150 --> 00:30:10.930
<v Sjors Provoost>Tornado Cash itself was on the OFAC list. This would have been before that.

00:30:11.690 --> 00:30:15.890
<v Sjors Provoost>Basically, there are companies like, I think, Chainalysis. They will publish

00:30:15.890 --> 00:30:19.570
<v Sjors Provoost>oracles on the Ethereum blockchain that say, these addresses we promise are

00:30:19.570 --> 00:30:23.510
<v Sjors Provoost>really the ones that OFAC is enforcing. And let's say you're willing to trust an

00:30:23.510 --> 00:30:27.050
<v Sjors Provoost>oracle, which I think you shouldn't, but let's say you would. Then your smart

00:30:27.050 --> 00:30:30.510
<v Sjors Provoost>contract could check against the oracle and say, okay, I'm going to refuse the

00:30:30.510 --> 00:30:32.510
<v Sjors Provoost>specific transactions that the oracle doesn't like.

00:30:33.740 --> 00:30:37.900
<v Sjors Provoost>Unfortunately, that is way too easy to circumvent because you would just send

00:30:37.900 --> 00:30:41.950
<v Sjors Provoost>your money from the bad address to some other address and then onwards to the

00:30:41.950 --> 00:30:47.290
<v Sjors Provoost>oracle. So to make a smart contract do compliance checks based on chain analysis,

00:30:47.630 --> 00:30:49.090
<v Sjors Provoost>it's just not possible.

00:30:50.380 --> 00:30:54.980
<v Aaron van Wirdum>I mean, it's possible. It just doesn't work. But I mean, will a prosecutor care

00:30:54.980 --> 00:30:56.040
<v Aaron van Wirdum>about whether it works?

00:30:56.240 --> 00:30:59.020
<v Sjors Provoost>Well, so this is interesting because the prosecutor admitted that it wouldn't

00:30:59.020 --> 00:31:03.750
<v Sjors Provoost>work. And so they use that argument in two directions. One thing they're saying,

00:31:03.910 --> 00:31:07.870
<v Sjors Provoost>well, the only method you thought about was so bad that you're not taking money

00:31:07.870 --> 00:31:11.350
<v Sjors Provoost>laundering seriously as a problem because you only came up with these very bad

00:31:11.350 --> 00:31:16.270
<v Sjors Provoost>solutions. That's one direction. The other argument is saying, well, look, you

00:31:16.270 --> 00:31:19.190
<v Sjors Provoost>were thinking about compliance solutions. So you're admitting that it is possible

00:31:19.190 --> 00:31:24.330
<v Sjors Provoost>to have compliance in your blockchain. So you should build compliance into your

00:31:24.330 --> 00:31:28.310
<v Sjors Provoost>blockchain. So they're really using the same argument in two ways that are very

00:31:28.310 --> 00:31:28.790
<v Sjors Provoost>contradictory.

00:31:29.270 --> 00:31:30.130
<v Aaron van Wirdum>Right. Interesting.

00:31:31.620 --> 00:31:36.520
<v Aaron van Wirdum>Okay so if so these are the only two solutions that you're mentioning now and

00:31:36.520 --> 00:31:36.920
<v Aaron van Wirdum>where of

00:31:36.920 --> 00:31:39.520
<v Sjors Provoost>And I think they mentioned specifically that there were two so

00:31:40.540 --> 00:31:46.320
<v Aaron van Wirdum>Right so both of them don't really work it sounds

00:31:46.320 --> 00:31:47.240
<v Aaron van Wirdum>like at least

00:31:47.240 --> 00:31:52.100
<v Sjors Provoost>I mean obviously if you compare it to what is allowed namely to run a proper bank

00:31:52.100 --> 00:31:56.920
<v Sjors Provoost>with like spending billions of euros on compliance staff it's not it's not even

00:31:56.920 --> 00:31:59.700
<v Sjors Provoost>comparable so they'll never reach that bar.

00:32:01.390 --> 00:32:07.200
<v Aaron van Wirdum>Right okay so what is the relevance for Bitcoin here

00:32:07.200 --> 00:32:11.680
<v Aaron van Wirdum>exactly? What we don't know for sure obviously yet we don't even know what the

00:32:11.680 --> 00:32:16.540
<v Aaron van Wirdum>court case is going to be about exactly blah blah blah but given that there are

00:32:16.540 --> 00:32:17.720
<v Aaron van Wirdum>for example some

00:32:19.050 --> 00:32:24.450
<v Aaron van Wirdum>mixers on Bitcoin you've got Bisq which also operates as a DAO you've got Wasabi

00:32:24.450 --> 00:32:29.790
<v Aaron van Wirdum>wallet which is actually a company like how do you see the relevance for the

00:32:29.790 --> 00:32:32.810
<v Aaron van Wirdum>Tornado Cash case in the com in a Bitcoin context

00:32:32.810 --> 00:32:37.830
<v Sjors Provoost>Yeah well first of all again this is just what the prosecutor is arguing they

00:32:37.830 --> 00:32:42.290
<v Sjors Provoost>might be you know the judge might simply say this is nonsense go away but one

00:32:42.290 --> 00:32:45.990
<v Sjors Provoost>thing that's very obviously I think very apparent here, is that they are

00:32:45.990 --> 00:32:49.030
<v Sjors Provoost>completely ignoring the difference between custodial and non-custodial wallets.

00:32:49.470 --> 00:32:54.150
<v Sjors Provoost>Because whatever you think of the Ethereum system, I think you can very clearly

00:32:54.150 --> 00:32:57.650
<v Sjors Provoost>see that the Tornado Cash ecosystem, even all the stuff around it, is

00:32:57.650 --> 00:33:01.630
<v Sjors Provoost>non-custodial. They are not holding your coins. They might have some control over

00:33:01.630 --> 00:33:05.690
<v Sjors Provoost>your software experience, but they do not hold your coins. And, well, there are

00:33:05.690 --> 00:33:09.150
<v Sjors Provoost>Bitcoin mixes too that do not hold your coins. They are non-custodial.

00:33:09.560 --> 00:33:13.020
<v Aaron van Wirdum>Yeah, both Bisq and Wasabi, for example, are non-custodial.

00:33:13.200 --> 00:33:16.700
<v Sjors Provoost>Yes, and both of these are making money in a much more direct way. There's no

00:33:16.700 --> 00:33:19.220
<v Sjors Provoost>tokenomic shenanigans. It's just a direct fee.

00:33:19.440 --> 00:33:20.240
<v Aaron van Wirdum>Well, on DAO there is.

00:33:20.660 --> 00:33:22.680
<v Sjors Provoost>Yeah, so the DAO we should cover separately.

00:33:22.860 --> 00:33:23.640
<v Aaron van Wirdum>Sorry, I mean on Bisq there is.

00:33:23.640 --> 00:33:25.000
<v Sjors Provoost>I think we should cover Bisq separately.

00:33:25.200 --> 00:33:25.400
<v Aaron van Wirdum>Okay.

00:33:25.500 --> 00:33:28.520
<v Sjors Provoost>So if you look at the standard mixes that are non-custodial, they just have a

00:33:28.520 --> 00:33:32.980
<v Sjors Provoost>direct fee. So that is actually a simpler case from a prosecutor point of view

00:33:32.980 --> 00:33:37.160
<v Sjors Provoost>than this Ethereum thing, because there is no theater around tokenomics and

00:33:37.160 --> 00:33:42.420
<v Sjors Provoost>relays. No, there's just a non-custodial mixing service. So if Tornado Cash

00:33:42.420 --> 00:33:46.360
<v Sjors Provoost>basically sets a precedent that that's not allowed, then I would definitely not

00:33:46.360 --> 00:33:51.100
<v Sjors Provoost>see why non-custodial mixes would be fine. Now, you can also look at something

00:33:51.100 --> 00:33:54.540
<v Sjors Provoost>like Bisq, which is decentralized. Then you could say it's not run as a company.

00:33:55.100 --> 00:33:59.100
<v Sjors Provoost>And perhaps more so, I don't know, because you'd really have to look at what's

00:33:59.100 --> 00:34:02.740
<v Sjors Provoost>really going on, whether there's no shenanigans about voting or what those votes

00:34:02.740 --> 00:34:07.320
<v Sjors Provoost>even do and where the money is going. If you have a truly peer-to-peer system

00:34:07.320 --> 00:34:12.540
<v Sjors Provoost>where the only people making money are the people doing the transactions, then

00:34:12.540 --> 00:34:17.280
<v Sjors Provoost>the prosecutors can only go after those people, but not after whoever creates the

00:34:17.280 --> 00:34:21.790
<v Sjors Provoost>whole system. But if the creator of the whole system is making money out of it

00:34:21.790 --> 00:34:26.210
<v Sjors Provoost>because of some tokenomic shenanigan, maybe they can make that argument or they'll try.

00:34:26.470 --> 00:34:32.310
<v Aaron van Wirdum>Yeah, so I think depending on where the case will go, it sounds

00:34:32.310 --> 00:34:37.890
<v Aaron van Wirdum>like what will be relevant is whether or not Alexei actually could

00:34:37.890 --> 00:34:42.370
<v Aaron van Wirdum>control what happened with the smart contract, whether it was de facto a

00:34:42.370 --> 00:34:47.990
<v Aaron van Wirdum>business, essentially, and whether they were making money. And if the

00:34:47.990 --> 00:34:53.370
<v Aaron van Wirdum>answer to these questions according to the judge will be, yes, it's a problem

00:34:53.370 --> 00:34:58.050
<v Aaron van Wirdum>because they're basically running a business and they're making money, then it

00:34:58.050 --> 00:35:00.970
<v Aaron van Wirdum>will be very relevant to Bitcoin.

00:35:02.480 --> 00:35:05.300
<v Aaron van Wirdum>Companies like Wasabi right? That that would be my assumption.

00:35:05.300 --> 00:35:08.860
<v Sjors Provoost>Yeah and then the question would be more like is it also relevant for things like

00:35:08.860 --> 00:35:13.140
<v Sjors Provoost>Bisq or like JoinMarket which… yeah there it gets where they are the… incentives

00:35:13.140 --> 00:35:16.720
<v Sjors Provoost>are different so one has a token system but just because you have tokens does not

00:35:16.720 --> 00:35:21.000
<v Sjors Provoost>mean that necessarily it's a business but they could try some of that argument of

00:35:21.000 --> 00:35:23.560
<v Sjors Provoost>course the real targets will be the biggest ones like they're not going to go

00:35:23.560 --> 00:35:26.040
<v Sjors Provoost>after something with a hundred thousand euros in volume.

00:35:26.040 --> 00:35:28.740
<v Aaron van Wirdum>Yeah and Tornado Cash was huge right like?

00:35:28.740 --> 00:35:29.540
<v Sjors Provoost>Yeah it was billions.

00:35:29.540 --> 00:35:33.840
<v Aaron van Wirdum>Yeah it was a lot of money going through that smart contract but

00:35:33.840 --> 00:35:37.380
<v Sjors Provoost>From my understanding and I'm not very up to date is the custodial mixers are

00:35:37.380 --> 00:35:42.410
<v Sjors Provoost>still much bigger so the right mixes that just take your money and then send it

00:35:42.410 --> 00:35:46.370
<v Sjors Provoost>away right and then of course there's just people dumping money onto an exchange

00:35:46.370 --> 00:35:49.870
<v Sjors Provoost>and then taking it off the exchange that also obfuscates your your on-chain

00:35:49.870 --> 00:35:55.590
<v Aaron van Wirdum>Well not if it yeah well depending on if they who's doing the

00:35:55.590 --> 00:35:59.130
<v Aaron van Wirdum>on-chain analytics right and whether or not they're cooperating with that

00:35:59.130 --> 00:35:59.810
<v Aaron van Wirdum>exchange yeah

00:36:01.070 --> 00:36:06.960
<v Aaron van Wirdum>okay so I that was a lot for me anyways. That was

00:36:06.960 --> 00:36:12.620
<v Aaron van Wirdum>a lot of Ethereum stuff and do we so and we covered why that was relevant for

00:36:12.620 --> 00:36:14.160
<v Aaron van Wirdum>Bitcoin I think or is there anything?

00:36:14.160 --> 00:36:14.600
<v Sjors Provoost>I think so.

00:36:14.600 --> 00:36:19.940
<v Aaron van Wirdum>Yeah okay so we've covered a lot of Ethereum stuff a bunch of Dutch law stuff why

00:36:19.940 --> 00:36:24.510
<v Aaron van Wirdum>it's relevant for Bitcoin. And I think that's an episode then, Sjors.

00:36:24.990 --> 00:36:25.510
<v Sjors Provoost>I think so.

00:36:25.830 --> 00:36:26.170
<v Aaron van Wirdum>Did we miss anything?

00:36:26.670 --> 00:36:29.230
<v Sjors Provoost>We probably missed a lot of things, but I think this is a good introduction.

00:36:29.550 --> 00:36:33.730
<v Aaron van Wirdum>Yeah, I mean, there will be, you know, to be continued. I mean, I don't know if

00:36:33.730 --> 00:36:34.610
<v Aaron van Wirdum>we'll make another episode.

00:36:35.590 --> 00:36:37.570
<v Sjors Provoost>Somebody will have to continue this, but we'll see.

00:36:37.810 --> 00:36:43.550
<v Aaron van Wirdum>Yeah, so as mentioned, in another three months, that's sort of the next point of

00:36:43.550 --> 00:36:45.470
<v Aaron van Wirdum>reference for this court case.

00:36:45.730 --> 00:36:49.010
<v Sjors Provoost>Yeah, in three months, the prosecutor will have to make a more detailed case. Yeah.

00:36:49.590 --> 00:36:54.690
<v Aaron van Wirdum>Okay, well, Sjors, thanks for diving into all of this Ethereum stuff. And

00:36:54.690 --> 00:36:57.970
<v Aaron van Wirdum>hopefully we'll get back to talking about Bitcoin next episode.

00:36:58.110 --> 00:37:00.310
<v Sjors Provoost>I think so. So thank you for listening to Bitcoin

00:37:00.310 --> 00:37:01.470
<v Aaron van Wirdum>Explained.

