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

00:00:07.250 --> 00:00:09.970
<v Aaron van Wirdum>Live from Utrecht, this is the van Wirdum Sjorsnado.

00:00:10.210 --> 00:00:10.390
<v Sjors Provoost>Hello.

00:00:10.790 --> 00:00:11.230
<v Aaron van Wirdum>Hey Sjors.

00:00:11.410 --> 00:00:11.690
<v Sjors Provoost>What's up?

00:00:11.790 --> 00:00:13.650
<v Aaron van Wirdum>We got a market cap all-time high. Did you celebrate?

00:00:13.930 --> 00:00:16.590
<v Sjors Provoost>No, I did not because it's just dilution.

00:00:16.870 --> 00:00:17.330
<v Aaron van Wirdum>What do you mean?

00:00:17.690 --> 00:00:22.040
<v Sjors Provoost>I mean, somebody's making more Bitcoin. So it's fun that the market cap goes up,

00:00:22.100 --> 00:00:23.220
<v Sjors Provoost>but it doesn't matter unless you...

00:00:23.220 --> 00:00:26.780
<v Aaron van Wirdum>It doesn't benefit you personally. That's the only thing you're concerned about.

00:00:27.060 --> 00:00:28.240
<v Sjors Provoost>Exactly. I'm very selfish.

00:00:28.600 --> 00:00:31.380
<v Aaron van Wirdum>Got it. Sjors, we're making a follow-up episode this time.

00:00:31.680 --> 00:00:32.320
<v Sjors Provoost>That's right.

00:00:32.380 --> 00:00:34.340
<v Aaron van Wirdum>I think this is our first follow-up episode.

00:00:34.560 --> 00:00:35.480
<v Sjors Provoost>It's very possible.

00:00:35.880 --> 00:00:36.340
<v Aaron van Wirdum>Possibly.

00:00:36.560 --> 00:00:37.560
<v Sjors Provoost>But everything is connected.

00:00:37.980 --> 00:00:42.720
<v Aaron van Wirdum>Very true. Last week, we discussed eclipse attacks. And this week, we're going to

00:00:42.720 --> 00:00:47.340
<v Aaron van Wirdum>discuss another type of eclipse attack. Yeah. Last week, we discussed a paper by

00:00:47.340 --> 00:00:52.270
<v Aaron van Wirdum>Ethan Heilman et al. And this week we're discussing a paper by...

00:00:52.650 --> 00:00:57.390
<v Sjors Provoost>People whose name I unfortunately cannot pronounce, but from the University of

00:00:57.390 --> 00:01:01.150
<v Sjors Provoost>Singapore, from Korea University, and from the Japan Advanced Institute of

00:01:01.150 --> 00:01:04.970
<v Sjors Provoost>Science and Technology. Published quite a few years later than the previous paper.

00:01:05.230 --> 00:01:08.230
<v Aaron van Wirdum>Yeah, so what's the paper? What's the name of the paper? What's it called? What

00:01:08.230 --> 00:01:09.170
<v Aaron van Wirdum>are we discussing exactly?

00:01:09.410 --> 00:01:14.170
<v Sjors Provoost>We are discussing the Erebus attack, or Erebus attack, or Erebus attack. I have

00:01:14.170 --> 00:01:15.230
<v Sjors Provoost>no idea how to pronounce it.

00:01:15.330 --> 00:01:17.990
<v Aaron van Wirdum>Let's recap eclipse attacks very briefly.

00:01:18.330 --> 00:01:18.570
<v Sjors Provoost>Yeah.

00:01:18.930 --> 00:01:19.490
<v Aaron van Wirdum>You go for it.

00:01:19.790 --> 00:01:23.190
<v Sjors Provoost>So if you're a node and you think you're talking to the rest of the Bitcoin

00:01:23.190 --> 00:01:27.990
<v Sjors Provoost>network, it may actually be just a single entity that is pretending to be all the

00:01:27.990 --> 00:01:31.570
<v Sjors Provoost>other nodes that you're talking to. And so that node is eclipsing your view of

00:01:31.570 --> 00:01:32.310
<v Sjors Provoost>the Bitcoin network.

00:01:32.710 --> 00:01:36.690
<v Aaron van Wirdum>Yeah, so that node could potentially shield transactions or blocks from you,

00:01:36.930 --> 00:01:42.430
<v Aaron van Wirdum>maybe even create fake blocks or blocks that are not included in the longest

00:01:42.430 --> 00:01:42.930
<v Aaron van Wirdum>blockchain.

00:01:43.190 --> 00:01:46.490
<v Sjors Provoost>Exactly. Not fake blocks, but definitely blocks that are not in the longest

00:01:46.490 --> 00:01:50.520
<v Sjors Provoost>chain. So you might think... You've seen something confirmed and then suddenly

00:01:50.520 --> 00:01:52.400
<v Sjors Provoost>there's a reorg that you didn't know about.

00:01:52.700 --> 00:01:54.000
<v Aaron van Wirdum>That's fake in my book Sjors.

00:01:54.600 --> 00:01:58.860
<v Sjors Provoost>Well, fake would be [unclear] signatures. Because you're still checking all the

00:01:58.860 --> 00:01:59.920
<v Sjors Provoost>proof of work and all the rules.

00:02:00.220 --> 00:02:01.520
<v Aaron van Wirdum>In my book, it's fake, Sjors.

00:02:01.900 --> 00:02:04.460
<v Sjors Provoost>Okay, and Bitcoin Cash Blocks are real?

00:02:04.800 --> 00:02:10.060
<v Aaron van Wirdum>These are very fake. Okay. So one of the solutions, so for those who want more

00:02:10.060 --> 00:02:13.900
<v Aaron van Wirdum>details, just listen to our previous episode, the one we did last week. One of

00:02:13.900 --> 00:02:19.820
<v Aaron van Wirdum>the solutions we discussed are like IP buckets, where you categorize other

00:02:19.820 --> 00:02:25.490
<v Aaron van Wirdum>nodes in different buckets. with IPs that suggest they are behind different

00:02:25.490 --> 00:02:26.110
<v Aaron van Wirdum>ISPs.

00:02:26.750 --> 00:02:30.470
<v Sjors Provoost>Right, that's been in there from the beginning, these IP buckets, but that is one

00:02:30.470 --> 00:02:34.750
<v Sjors Provoost>of the general defenses against Eclipse attacks. So you look at the four-digit,

00:02:34.850 --> 00:02:38.370
<v Sjors Provoost>four-number IP address, and you look at the first two numbers, and usually you

00:02:38.370 --> 00:02:40.990
<v Sjors Provoost>assume that's going to be different internet providers. So if you have some

00:02:40.990 --> 00:02:44.010
<v Sjors Provoost>diversity there, that's good. And there's a bunch of other things that were done

00:02:44.010 --> 00:02:46.070
<v Sjors Provoost>to make the original attacks more difficult.

00:02:46.390 --> 00:02:50.650
<v Aaron van Wirdum>Right. So, but this paper, the one we're discussing this week, actually...

00:02:52.680 --> 00:02:55.560
<v Aaron van Wirdum>introduced, proposed, I don't know what the right word is to use here.

00:02:55.820 --> 00:02:56.300
<v Sjors Provoost>Revealed.

00:02:56.560 --> 00:02:58.860
<v Aaron van Wirdum>Revealed a new type of Eclipse attack.

00:02:59.160 --> 00:03:04.420
<v Sjors Provoost>That's right. Basically one where you can fake a lot of those initial IP

00:03:04.420 --> 00:03:07.220
<v Sjors Provoost>addresses rather than just one or two.

00:03:08.120 --> 00:03:13.840
<v Aaron van Wirdum>Right. I think you described it as... with this eclipse attack because it is take

00:03:13.840 --> 00:03:17.560
<v Aaron van Wirdum>two. You already described it in other words. You said this is like faking the internet.

00:03:17.780 --> 00:03:20.320
<v Sjors Provoost>It's like faking the internet or it's faking part of the internet.

00:03:20.500 --> 00:03:22.940
<v Aaron van Wirdum>You're faking part of the internet for one specific node.

00:03:23.630 --> 00:03:24.150
<v Sjors Provoost>Yes.

00:03:24.510 --> 00:03:25.570
<v Aaron van Wirdum>What is the internet?

00:03:26.090 --> 00:03:27.350
<v Sjors Provoost>What is the internet?

00:03:27.830 --> 00:03:30.770
<v Aaron van Wirdum>I think to understand this attack we need to understand the internet.

00:03:31.210 --> 00:03:33.970
<v Sjors Provoost>It's a group of computers. It has an amazing potential.

00:03:34.810 --> 00:03:36.630
<v Aaron van Wirdum>It's going to be very big one day maybe.

00:03:36.990 --> 00:03:40.710
<v Sjors Provoost>The internet consists of building blocks and those are called autonomous systems.

00:03:41.390 --> 00:03:45.310
<v Sjors Provoost>An autonomous system could be an internet provider, it could be Google. Usually

00:03:45.310 --> 00:03:50.930
<v Sjors Provoost>it's one legal entity and it owns a whole bunch of IP addresses. And

00:03:50.930 --> 00:03:54.090
<v Sjors Provoost>when you send something from one place on the internet to another place on the

00:03:54.090 --> 00:03:58.570
<v Sjors Provoost>internet, the package goes from one autonomous system to the next autonomous

00:03:58.570 --> 00:04:02.310
<v Sjors Provoost>system to the next autonomous systems from your provider to Google to some other

00:04:02.310 --> 00:04:03.070
<v Sjors Provoost>place on the internet.

00:04:03.790 --> 00:04:09.790
<v Aaron van Wirdum>Right. So if I am a node and I want to connect to a

00:04:09.790 --> 00:04:14.680
<v Aaron van Wirdum>diverse part of the internet, I want to... How do I say this? I want to connect

00:04:14.680 --> 00:04:17.740
<v Aaron van Wirdum>to nodes on diverse areas of the internet.

00:04:18.020 --> 00:04:18.320
<v Sjors Provoost>Yes.

00:04:18.520 --> 00:04:23.700
<v Aaron van Wirdum>Then surely if I connect to nodes in different autonomous systems, then all my

00:04:23.700 --> 00:04:24.680
<v Aaron van Wirdum>problems are solved.

00:04:24.940 --> 00:04:28.320
<v Sjors Provoost>Well, that would definitely be a big improvement over just connecting to

00:04:28.320 --> 00:04:32.920
<v Sjors Provoost>different IP prefixes, right? Because Amazon has a lot of them, but you're not

00:04:32.920 --> 00:04:37.220
<v Sjors Provoost>really there yet. And that's what the faking the internet comes in. Because when

00:04:37.220 --> 00:04:41.100
<v Sjors Provoost>your package goes from your autonomous system to the next autonomous system to

00:04:41.100 --> 00:04:46.280
<v Sjors Provoost>the next one, You don't know what's happening after the first step. So the first

00:04:46.280 --> 00:04:49.960
<v Sjors Provoost>autonomous system in line can actually fake everything behind it.

00:04:51.390 --> 00:04:57.260
<v Aaron van Wirdum>Right. So it's one autonomous system could be like a bottleneck

00:04:57.260 --> 00:05:00.040
<v Aaron van Wirdum>for a whole part of the internet behind it.

00:05:00.220 --> 00:05:00.500
<v Sjors Provoost>Correct.

00:05:00.800 --> 00:05:02.240
<v Aaron van Wirdum>Can you give an example of this?

00:05:02.380 --> 00:05:05.440
<v Sjors Provoost>Yeah. So if we look at it geographically, it's a slight oversimplification. But

00:05:05.440 --> 00:05:09.580
<v Sjors Provoost>if you're in Europe and you want to connect to New Zealand, then it's going to go

00:05:09.580 --> 00:05:15.270
<v Sjors Provoost>through Australia. And so Australia can basically fake anything going to and

00:05:15.270 --> 00:05:18.910
<v Sjors Provoost>coming from New Zealand. Not entirely true because I think there's another cable,

00:05:19.030 --> 00:05:20.030
<v Sjors Provoost>but let's pretend there isn't.

00:05:20.710 --> 00:05:23.970
<v Aaron van Wirdum>Yeah, we're simplifying a bit. So there are bottlenecks.

00:05:24.170 --> 00:05:27.410
<v Sjors Provoost>And we could say Indonesia could be faking everything that's happening in

00:05:27.410 --> 00:05:28.490
<v Sjors Provoost>Australia and New Zealand.

00:05:28.690 --> 00:05:33.450
<v Aaron van Wirdum>Yeah. So let's say, for example, that I am a node. I'm still a node. And I want

00:05:33.450 --> 00:05:38.880
<v Aaron van Wirdum>to connect to diverse parts of the internet. So I'm going to pick... Indonesia

00:05:38.880 --> 00:05:42.680
<v Aaron van Wirdum>and Australia and New Zealand because they're very different parts of the

00:05:42.680 --> 00:05:45.600
<v Aaron van Wirdum>internet. But then actually...

00:05:46.210 --> 00:05:50.130
<v Sjors Provoost>Actually, you might only be connected to some evil person in Indonesia that's

00:05:50.130 --> 00:05:51.090
<v Sjors Provoost>fooling you.

00:05:51.170 --> 00:05:54.370
<v Aaron van Wirdum>That's acting as a bottleneck for the other parts and that's faking the other

00:05:54.370 --> 00:06:00.470
<v Aaron van Wirdum>parts. So then I'm still susceptible to an eclipse attack by the Indonesian guy.

00:06:00.910 --> 00:06:04.910
<v Sjors Provoost>Yes. Well, of course, not some random Indonesian guy. It would have to be whoever

00:06:04.910 --> 00:06:06.690
<v Sjors Provoost>is in control of the Indonesian internet.

00:06:07.280 --> 00:06:09.940
<v Aaron van Wirdum>Which in Indonesia is probably some random guy.

00:06:10.500 --> 00:06:11.620
<v Sjors Provoost>It's very possible.

00:06:11.880 --> 00:06:15.300
<v Aaron van Wirdum>I may be insulting our Indonesian listeners now.

00:06:15.520 --> 00:06:19.420
<v Sjors Provoost>It's also important to understand that the internet isn't very geographical in

00:06:19.420 --> 00:06:24.740
<v Sjors Provoost>that sense. So, for example, there's a cable company in the Netherlands called

00:06:24.740 --> 00:06:28.980
<v Sjors Provoost>Ziggo. And if you look at how the internet is constructed from there, the

00:06:28.980 --> 00:06:34.740
<v Sjors Provoost>Netherlands Ziggo and the UK Ziggo and the Austrian Ziggo are all behind the

00:06:34.740 --> 00:06:40.530
<v Sjors Provoost>same thing called Aorta. whereas the Dutch KPN is not. So in a

00:06:40.530 --> 00:06:46.470
<v Sjors Provoost>sense, Dutch and English and Austrian Ziggo customers are less diverse

00:06:46.470 --> 00:06:51.330
<v Sjors Provoost>than Dutch and Dutch KPN and Ziggo customers that might be living right next to each other.

00:06:51.780 --> 00:06:56.840
<v Aaron van Wirdum>Right. Interesting. so anyways I'm a node I think I'm being smart I'm connecting

00:06:56.840 --> 00:07:01.100
<v Aaron van Wirdum>to different parts of the internet different autonomous systems but then actually

00:07:01.100 --> 00:07:05.860
<v Aaron van Wirdum>I can still be tricked yeah sure how can we possibly know where all of these

00:07:05.860 --> 00:07:06.480
<v Aaron van Wirdum>bottlenecks are

00:07:07.480 --> 00:07:10.920
<v Sjors Provoost>Well, first of all, I think we should recap a little bit that how this attack

00:07:10.920 --> 00:07:14.320
<v Sjors Provoost>would work because just faking it is not enough. You need to do the same thing as

00:07:14.320 --> 00:07:17.960
<v Sjors Provoost>we explained in the previous episode. So you need to make sure that the person,

00:07:18.180 --> 00:07:22.460
<v Sjors Provoost>the node you're attacking is only going to connect to parts of the internet that

00:07:22.460 --> 00:07:27.680
<v Sjors Provoost>are behind you. But the nice thing is that rather than only giving it your IP

00:07:27.680 --> 00:07:32.440
<v Sjors Provoost>address and IP addresses you control, you can give that victim node IP addresses

00:07:32.440 --> 00:07:36.600
<v Sjors Provoost>from all over the world. So a much more diverse seeming. range of IP addresses.

00:07:37.080 --> 00:07:40.180
<v Sjors Provoost>But the rest of the tech works the same. So you spam them, you wait for them to

00:07:40.180 --> 00:07:45.090
<v Sjors Provoost>connect only to you. Yeah. To things that are behind you, quote unquote. And then

00:07:45.090 --> 00:07:49.270
<v Sjors Provoost>maybe you reset them and if you can get them to crash, but, or you just wait.

00:07:49.570 --> 00:07:53.870
<v Aaron van Wirdum>Yeah. We took all of these precautions that we described last week, but then now

00:07:53.870 --> 00:07:59.690
<v Aaron van Wirdum>our smart random Indonesian guy, attacker, he's aware of all of these solutions

00:07:59.690 --> 00:08:00.930
<v Aaron van Wirdum>so he can still trick us.

00:08:01.110 --> 00:08:04.930
<v Sjors Provoost>Yeah. Because he can fake a much larger chunk of the internet this time. So then

00:08:04.930 --> 00:08:07.050
<v Sjors Provoost>the question is that you asked us, what can we do about it?

00:08:07.170 --> 00:08:08.750
<v Aaron van Wirdum>Bottlenecks, where are they? How do we know?

00:08:09.150 --> 00:08:13.410
<v Sjors Provoost>Yeah. So the nice thing is there's no official map of the internet. But the

00:08:13.410 --> 00:08:17.210
<v Sjors Provoost>internet is a very decentralized thing. Everybody kind of plugs in on their end

00:08:17.210 --> 00:08:20.130
<v Sjors Provoost>of the world. But there are people who are trying to make these maps. And in

00:08:20.130 --> 00:08:25.030
<v Sjors Provoost>particular, there's an organization called RIPE. Or I-P-E. I don't know how they

00:08:25.030 --> 00:08:31.030
<v Sjors Provoost>prefer to be pronounced. And they coordinate the internet in Europe, Middle

00:08:31.030 --> 00:08:32.710
<v Sjors Provoost>East, and the former Soviet Union.

00:08:32.850 --> 00:08:37.940
<v Aaron van Wirdum>Who or what are? or what are they is it is like a non-profit or how should I

00:08:37.940 --> 00:08:38.460
<v Aaron van Wirdum>think about this

00:08:38.460 --> 00:08:44.450
<v Sjors Provoost>I think there's some sort of unofficial official internet owning non-profit

00:08:44.450 --> 00:08:47.590
<v Sjors Provoost>I mean they're the internet people what do you mean by non-profit right there

00:08:47.590 --> 00:08:50.870
<v Aaron van Wirdum>I don't know I'm just asking questions because I have no idea what RIPE is

00:08:52.200 --> 00:08:53.440
<v Sjors Provoost>Yeah, neither do I.

00:08:53.660 --> 00:08:56.460
<v Aaron van Wirdum>Okay, internet people. They're making the map for us.

00:08:56.680 --> 00:09:01.520
<v Sjors Provoost>Exactly. So they do all sorts of useful things, and one of the projects they do

00:09:01.520 --> 00:09:02.360
<v Sjors Provoost>is making maps.

00:09:03.760 --> 00:09:08.140
<v Sjors Provoost>And basically the way they do that is they have a bunch of very large autonomous

00:09:08.140 --> 00:09:14.080
<v Sjors Provoost>systems that are sort of connecting to lots of different providers all over

00:09:14.080 --> 00:09:19.000
<v Sjors Provoost>the world, and they ask them to basically ping everything on the internet

00:09:19.000 --> 00:09:25.000
<v Sjors Provoost>and construct. routing tables to that point. So they keep track of where the

00:09:25.000 --> 00:09:28.760
<v Sjors Provoost>packages go and how they come back. Right. And then they publish that. Basically

00:09:28.760 --> 00:09:32.500
<v Sjors Provoost>every month, there's like a giant file that you can download that says, okay,

00:09:32.940 --> 00:09:37.300
<v Sjors Provoost>this is the way from me to this place. This is the way from me to this other

00:09:37.300 --> 00:09:41.180
<v Sjors Provoost>place. And yeah, everybody can download that and play with that.

00:09:41.320 --> 00:09:44.760
<v Aaron van Wirdum>So it's like an unofficial roadmap for the internet, which they're making.

00:09:45.040 --> 00:09:45.520
<v Sjors Provoost>Exactly.

00:09:45.980 --> 00:09:50.880
<v Aaron van Wirdum>Which has got colorful lines and map of the world. And is that how I should see it?

00:09:51.060 --> 00:09:54.540
<v Sjors Provoost>Yeah, exactly. But it's not a complete map, right? It's just a map from those

00:09:54.540 --> 00:10:00.060
<v Sjors Provoost>vantage points. So from like 20 different places, you can see thousands of other

00:10:00.060 --> 00:10:00.680
<v Sjors Provoost>different places.

00:10:00.940 --> 00:10:03.300
<v Aaron van Wirdum>So like Europe and Eurasia, is that what you mentioned?

00:10:04.120 --> 00:10:05.180
<v Sjors Provoost>Well, again, it's not...

00:10:05.180 --> 00:10:08.500
<v Aaron van Wirdum>Or they're making it for the entire world. What are these [unclear] places?

00:10:08.620 --> 00:10:11.200
<v Sjors Provoost>This organization works for Europe and et cetera, but they're doing this for the

00:10:11.200 --> 00:10:15.220
<v Sjors Provoost>whole world. So they are mapping from South America and from Australia and from

00:10:15.220 --> 00:10:17.480
<v Sjors Provoost>Singapore and from the Netherlands and from all these places.

00:10:17.700 --> 00:10:20.140
<v Aaron van Wirdum>Right. So this is a big map. This is like a couple gigabytes.

00:10:20.680 --> 00:10:21.000
<v Sjors Provoost>Yes.

00:10:21.840 --> 00:10:25.930
<v Aaron van Wirdum>So... You start your Bitcoin node and you download a couple of gigabytes.

00:10:26.290 --> 00:10:29.570
<v Sjors Provoost>Right, because we like downloading gigabytes and then you process it. No.

00:10:29.890 --> 00:10:33.870
<v Sjors Provoost>Thankfully, there is another project actually can download this map for you

00:10:33.870 --> 00:10:39.690
<v Sjors Provoost>called asmap-rs done by Gleb Naumenko and someone whose first name I don't know

00:10:39.690 --> 00:10:40.830
<v Sjors Provoost>called Rybarczyk.

00:10:42.080 --> 00:10:46.060
<v Sjors Provoost>And what they do is two things. One, they download this map, and the other is

00:10:46.060 --> 00:10:49.740
<v Sjors Provoost>they process the map. Because now you have all these routes on the internet, but

00:10:49.740 --> 00:10:54.040
<v Sjors Provoost>the question you really want to ask is, where are the shadows, or where are the

00:10:54.040 --> 00:10:55.400
<v Sjors Provoost>bottlenecks, put a different way.

00:10:56.610 --> 00:11:01.910
<v Sjors Provoost>And so what it does is it looks at all the lines from A to B, and it says, okay,

00:11:02.110 --> 00:11:07.250
<v Sjors Provoost>if there's a line from A to B to C, and there's a line from

00:11:07.250 --> 00:11:12.960
<v Sjors Provoost>E to B to C, then you say, well, all lines go to C, they all go to B.

00:11:13.300 --> 00:11:18.020
<v Sjors Provoost>Or in the example we gave before, all routes to New Zealand all go through

00:11:18.020 --> 00:11:22.760
<v Sjors Provoost>Indonesia. So what we're going to do is we're going to consider that as if it is

00:11:22.760 --> 00:11:26.740
<v Sjors Provoost>Indonesia. So it's a way to compress the internet, basically. You just hide

00:11:26.740 --> 00:11:28.080
<v Sjors Provoost>everything that's behind something else.

00:11:28.500 --> 00:11:33.340
<v Aaron van Wirdum>Right, yeah. So RIPE made this map, and then Gleb Naumenko and Mr. Rybarczyk,

00:11:33.380 --> 00:11:35.660
<v Aaron van Wirdum>they mapped out the bottlenecks.

00:11:36.010 --> 00:11:36.290
<v Sjors Provoost>Correct.

00:11:36.290 --> 00:11:39.270
<v Aaron van Wirdum>Which is not 4 gigabytes, which is a much smaller file.

00:11:39.470 --> 00:11:42.730
<v Sjors Provoost>Yeah, I think they compressed it down to 8 gig—8 megabytes.

00:11:43.010 --> 00:11:47.750
<v Aaron van Wirdum>Right. And do they update this frequently? Because you mentioned RIPE publish a

00:11:47.750 --> 00:11:50.730
<v Aaron van Wirdum>new map every month or so. Is this also something that's being updated?

00:11:50.970 --> 00:11:54.750
<v Sjors Provoost>Well, and even that's somewhat decentralized because RIPE is pointing to 10

00:11:54.750 --> 00:11:59.590
<v Sjors Provoost>different, or I think 16 different organizations that are producing maps in the

00:11:59.590 --> 00:12:01.940
<v Sjors Provoost>same format. at whatever frequency they choose to.

00:12:02.140 --> 00:12:02.600
<v Aaron van Wirdum>I see.

00:12:02.640 --> 00:12:05.080
<v Sjors Provoost>Some of them do it every month. Some of them haven't done it in 10 years.

00:12:05.320 --> 00:12:09.860
<v Aaron van Wirdum>Right. And are Gleb Naumenko and Mr. Rybarczyk also updating their bottleneck?

00:12:09.980 --> 00:12:12.400
<v Sjors Provoost>No, they're doing nothing because they published code that you can run.

00:12:12.660 --> 00:12:13.480
<v Aaron van Wirdum>Oh, I see.

00:12:13.700 --> 00:12:13.880
<v Sjors Provoost>Yeah.

00:12:14.160 --> 00:12:17.740
<v Aaron van Wirdum>Oh, they made software that maps out the bottlenecks.

00:12:17.860 --> 00:12:18.260
<v Sjors Provoost>Exactly.

00:12:18.520 --> 00:12:18.780
<v Aaron van Wirdum>I see.

00:12:18.820 --> 00:12:21.540
<v Sjors Provoost>That just downloads those files, whatever the most recent version is, and

00:12:21.540 --> 00:12:22.200
<v Sjors Provoost>processes it.

00:12:22.420 --> 00:12:22.740
<v Aaron van Wirdum>Right.

00:12:22.980 --> 00:12:28.180
<v Sjors Provoost>And then there's another script written by Pieter Wuille, sipa, and it takes that

00:12:28.180 --> 00:12:34.120
<v Sjors Provoost>map. and it compresses it down to one megabyte using some sort of bitmap magical

00:12:34.120 --> 00:12:35.420
<v Sjors Provoost>compression.

00:12:35.780 --> 00:12:38.220
<v Aaron van Wirdum>Right. And that's included into Bitcoin Core?

00:12:39.120 --> 00:12:43.880
<v Sjors Provoost>Well, no. Bitcoin Core can use it, but it is not included. It's one of those

00:12:43.880 --> 00:12:47.380
<v Sjors Provoost>things where Bitcoin Core makes an improvement but doesn't completely finish it

00:12:47.380 --> 00:12:51.480
<v Sjors Provoost>because they want people to try it out. So the idea is in the future to include

00:12:51.480 --> 00:12:54.800
<v Sjors Provoost>it in Bitcoin Core if there are no objections and problems with it.

00:12:55.000 --> 00:12:57.020
<v Aaron van Wirdum>Okay, wait. So what's included now exactly?

00:12:57.480 --> 00:13:02.150
<v Sjors Provoost>Right now, Bitcoin Core... it can use this file if you give it to it.

00:13:02.490 --> 00:13:07.150
<v Aaron van Wirdum>Okay, so you got to separately use that software that Gleb Naumenko and Mr.

00:13:07.290 --> 00:13:08.770
<v Aaron van Wirdum>Rybarczyk wrote?

00:13:08.950 --> 00:13:13.480
<v Sjors Provoost>And the software that sipa wrote? Yes, to download and process it. And it's just

00:13:13.480 --> 00:13:17.100
<v Sjors Provoost>like two commands. But the idea is, of course, that eventually that'll be in

00:13:17.100 --> 00:13:20.260
<v Sjors Provoost>Bitcoin Core. You don't have to do anything. It'll just work. But you can use

00:13:20.260 --> 00:13:23.860
<v Sjors Provoost>that software to check that the thing that is in Bitcoin Core is not a lie.

00:13:24.040 --> 00:13:26.860
<v Sjors Provoost>Because you don't want the Bitcoin Core developers to lie about what the internet

00:13:26.860 --> 00:13:32.740
<v Sjors Provoost>looks like. So a problem is auditability. So can you, given those

00:13:32.740 --> 00:13:36.020
<v Sjors Provoost>original files, reproduce the same thing? Can everybody reproduce the same thing?

00:13:36.220 --> 00:13:41.350
<v Aaron van Wirdum>Right. Okay, now we've done this. implemented this we've included this in our

00:13:41.350 --> 00:13:42.410
<v Aaron van Wirdum>version of Bitcoin Core

00:13:42.410 --> 00:13:46.330
<v Sjors Provoost>yep and and basically what that changes is the way the buckets are organized

00:13:46.330 --> 00:13:46.810
<v Aaron van Wirdum>okay

00:13:46.810 --> 00:13:50.490
<v Sjors Provoost>so we talked about buckets right we you look at an IP address and you take the

00:13:50.490 --> 00:13:55.730
<v Sjors Provoost>first two numbers and you try to make it you try to make sure that buckets all

00:13:55.730 --> 00:13:59.510
<v Sjors Provoost>have different of these prefixes and the only difference is now you do that with

00:13:59.510 --> 00:14:04.010
<v Sjors Provoost>these autonomous systems but not just with the autonomous systems but with the

00:14:04.010 --> 00:14:08.390
<v Sjors Provoost>ones that we've said only Indonesia rather than We don't consider Indonesia,

00:14:08.570 --> 00:14:12.190
<v Sjors Provoost>Australia, and New Zealand separate. We only consider Indonesia, and we keep that

00:14:12.190 --> 00:14:15.930
<v Sjors Provoost>diverse. So you have a diverse set of things that are not behind something else.

00:14:16.290 --> 00:14:21.910
<v Aaron van Wirdum>Yes, so this makes even this evil Indonesian random...

00:14:23.040 --> 00:14:28.180
<v Aaron van Wirdum>genius, unable to launch eclipse attacks on us because we're connecting to

00:14:28.180 --> 00:14:31.060
<v Aaron van Wirdum>different parts of the internet behind different bottlenecks.

00:14:31.340 --> 00:14:34.840
<v Sjors Provoost>I would not say unable, but at least it's another pain.

00:14:35.100 --> 00:14:37.180
<v Aaron van Wirdum>We're making his life harder and harder.

00:14:37.480 --> 00:14:41.920
<v Sjors Provoost>Yes, we are. But we're not making it impossible. And for that, I think you would

00:14:41.920 --> 00:14:46.900
<v Sjors Provoost>need an even more sophisticated map of the internet and making sure that

00:14:46.900 --> 00:14:51.580
<v Sjors Provoost>your eight buckets are not still behind. Your eight connections are still not,

00:14:51.580 --> 00:14:52.960
<v Sjors Provoost>you know, behind the same thing.

00:14:53.180 --> 00:14:54.580
<v Aaron van Wirdum>Right. So what's this solution called?

00:14:54.920 --> 00:14:55.400
<v Sjors Provoost>ASMap.

00:14:55.580 --> 00:14:58.240
<v Aaron van Wirdum>And this was included in the last version of Bitcoin Core.

00:14:58.440 --> 00:15:01.600
<v Sjors Provoost>Yeah, the ability to use a map has been included in the last version. And I guess

00:15:01.600 --> 00:15:03.360
<v Sjors Provoost>in some future, it'll just work.

00:15:03.500 --> 00:15:06.760
<v Aaron van Wirdum>And it's still a work in progress. It's being developed further and further.

00:15:06.980 --> 00:15:12.960
<v Sjors Provoost>I mean, you know, sipa is very busy with Taproot and stuff. So I'm not

00:15:12.960 --> 00:15:14.500
<v Sjors Provoost>sure about the progress, but yeah.

00:15:14.880 --> 00:15:16.680
<v Aaron van Wirdum>sipa can work on several things at once.

00:15:16.940 --> 00:15:17.420
<v Sjors Provoost>He can.

00:15:17.580 --> 00:15:23.000
<v Aaron van Wirdum>And probably literally at once, I mean, with like several laptops and doing it all.

00:15:23.160 --> 00:15:23.740
<v Sjors Provoost>And his clones.

00:15:24.060 --> 00:15:24.480
<v Aaron van Wirdum>Yes.

00:15:24.780 --> 00:15:27.240
<v Sjors Provoost>Exactly. But everybody can contribute on that stuff.

00:15:27.380 --> 00:15:27.720
<v Aaron van Wirdum>Right.

00:15:27.800 --> 00:15:29.360
<v Sjors Provoost>And we're contributing by explaining it.

00:15:29.560 --> 00:15:31.000
<v Aaron van Wirdum>That's being generous.

00:15:32.530 --> 00:15:34.330
<v Sjors Provoost>I like to be generous to myself.

00:15:34.550 --> 00:15:35.730
<v Aaron van Wirdum>Okay. Well, it's clear to me.

00:15:36.390 --> 00:15:37.190
<v Sjors Provoost>Okay. Excellent.

00:15:37.430 --> 00:15:42.550
<v Aaron van Wirdum>Did this cover... The paper by the Singaporean Japanese researchers.

00:15:42.550 --> 00:15:45.550
<v Sjors Provoost>Yeah, I think so. Because they said it was hard to solve and it's been solved.

00:15:46.090 --> 00:15:46.330
<v Aaron van Wirdum>Nice.

00:15:46.710 --> 00:15:49.710
<v Sjors Provoost>All right. So thank you for listening to the van Wirdum Sjorsnado.

00:15:49.990 --> 00:15:50.530
<v Aaron van Wirdum>There you go.

