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

00:00:07.340 --> 00:00:09.960
<v Aaron van Wirdum>Live from Utrecht, this is the Van Wirdum Sjorsnado.

00:00:10.200 --> 00:00:10.420
<v Sjors Provoost>Hello.

00:00:11.360 --> 00:00:12.620
<v Aaron van Wirdum>Sjors, make the pun.

00:00:12.880 --> 00:00:14.240
<v Sjors Provoost>We have a lot to talk about.

00:00:14.480 --> 00:00:16.400
<v Aaron van Wirdum>We have a lot to discuss.

00:00:17.020 --> 00:00:17.580
<v Sjors Provoost>Yes.

00:00:18.150 --> 00:00:23.330
<v Aaron van Wirdum>In this episode, we're going to discuss the Taproot activation process and the

00:00:23.330 --> 00:00:28.830
<v Aaron van Wirdum>debate surrounding it on the parameter LOT. Lock in on timeout.

00:00:29.330 --> 00:00:29.970
<v Sjors Provoost>That's right.

00:00:30.110 --> 00:00:32.190
<v Aaron van Wirdum>Which can be set to true and false.

00:00:32.410 --> 00:00:36.130
<v Sjors Provoost>And maybe as a reminder to the listener, we have talked about Taproot in general

00:00:36.130 --> 00:00:40.970
<v Sjors Provoost>multiple times, but especially in episode two. And we've talked about activating

00:00:40.970 --> 00:00:46.030
<v Sjors Provoost>Taproot, activating soft forks in general in episode three. So we might skip over

00:00:46.030 --> 00:00:46.590
<v Sjors Provoost>a few things.

00:00:47.070 --> 00:00:51.910
<v Aaron van Wirdum>Yeah, in episode three, we discussed all sorts of different proposals to activate

00:00:51.910 --> 00:00:55.850
<v Aaron van Wirdum>Taproot, but it's been over half a year at least right?

00:00:55.850 --> 00:00:58.990
<v Sjors Provoost>That was on September 25th, so about five months, yeah.

00:00:58.990 --> 00:01:04.030
<v Aaron van Wirdum>Yeah so it's been a while, and by now the discussion has reached sort of its

00:01:04.030 --> 00:01:09.050
<v Aaron van Wirdum>final stage, I would say. And at this point the discussion is about the LOT

00:01:09.050 --> 00:01:14.930
<v Aaron van Wirdum>parameter true or false. First, to recap very briefly, Sjors, can you explain

00:01:14.930 --> 00:01:17.630
<v Aaron van Wirdum>what are we doing here? What is the soft fork?

00:01:18.510 --> 00:01:23.350
<v Sjors Provoost>Right. So the idea of a soft fork is that you make the rules more strict. And

00:01:23.350 --> 00:01:27.870
<v Sjors Provoost>that means that from the point of view of a node that doesn't upgrade, nothing

00:01:27.870 --> 00:01:31.850
<v Sjors Provoost>has changed. They're just seeing transactions that are valid to them. From the

00:01:31.850 --> 00:01:35.290
<v Sjors Provoost>nodes that do upgrade, because they have more stricter rules, they do care what

00:01:35.290 --> 00:01:38.930
<v Sjors Provoost>happens. But the nice thing about soft forks is that as a node user, you can

00:01:38.930 --> 00:01:42.210
<v Sjors Provoost>upgrade whenever you want. If you don't care about this feature, you can upgrade

00:01:42.210 --> 00:01:42.750
<v Sjors Provoost>whenever you want.

00:01:43.330 --> 00:01:49.290
<v Aaron van Wirdum>Yeah, soft fork is a backwards compatible protocol upgrade. And the nice thing

00:01:49.290 --> 00:01:53.990
<v Aaron van Wirdum>about it is that if at least half of all miners, if a majority of miners enforces

00:01:53.990 --> 00:01:58.770
<v Aaron van Wirdum>the rules, then that sort of automatically means all nodes on the network will

00:01:58.770 --> 00:02:00.010
<v Aaron van Wirdum>follow the same blockchain.

00:02:00.370 --> 00:02:03.490
<v Sjors Provoost>That's right, because the older nodes don't know about these new rules, but they

00:02:03.490 --> 00:02:07.370
<v Sjors Provoost>do know that they'll follow the chain with the most proof of work as long as it's

00:02:07.370 --> 00:02:12.180
<v Sjors Provoost>valid. And so if most of the miners are following the new rules, then most of the

00:02:12.180 --> 00:02:16.760
<v Sjors Provoost>proof of work will be following the new rules. And so a node will, by definition,

00:02:16.960 --> 00:02:17.360
<v Sjors Provoost>follow that.

00:02:18.770 --> 00:02:20.870
<v Sjors Provoost>An old node will, by definition, follow it.

00:02:22.070 --> 00:02:27.030
<v Aaron van Wirdum>Okay, so the nice thing about soft forks is that if a majority of hash power

00:02:27.030 --> 00:02:32.680
<v Aaron van Wirdum>enforces the new rules, the network will remain in consensus. Therefore,

00:02:33.140 --> 00:02:37.920
<v Aaron van Wirdum>the last couple of soft forks were activated through hash power coordination.

00:02:38.950 --> 00:02:44.490
<v Aaron van Wirdum>That means that miners could include a bit in the blocks they mined,

00:02:44.570 --> 00:02:49.770
<v Aaron van Wirdum>signaling that they were ready for the upgrade. And once most miners, it was

00:02:49.770 --> 00:02:54.930
<v Aaron van Wirdum>95% in most cases, 95% of miners indicated that they were ready,

00:02:56.200 --> 00:02:59.140
<v Aaron van Wirdum>nodes would recognize this and enforce the upgrade.

00:02:59.580 --> 00:03:00.560
<v Sjors Provoost>Yeah, that's right.

00:03:01.420 --> 00:03:01.860
<v Aaron van Wirdum>Okay.

00:03:02.140 --> 00:03:07.100
<v Sjors Provoost>And so this would involve a node would check, for example, every two weeks, how

00:03:07.100 --> 00:03:11.920
<v Sjors Provoost>many blocks signaled this thing, and if yes, then it says okay, the soft fork is

00:03:11.920 --> 00:03:14.360
<v Sjors Provoost>now active. I'm going to assume that the miners will enforce this.

00:03:14.360 --> 00:03:20.360
<v Aaron van Wirdum>Right. Now the problem with this upgrade mechanism is that it

00:03:20.360 --> 00:03:22.960
<v Aaron van Wirdum>also means miners can block the upgrades.

00:03:23.380 --> 00:03:24.400
<v Sjors Provoost>Yeah, that's the downside.

00:03:24.700 --> 00:03:29.160
<v Aaron van Wirdum>Even if everyone agrees with the upgrade, so for example, in this case, Taproot,

00:03:29.280 --> 00:03:35.080
<v Aaron van Wirdum>it seems to have broad consensus. But despite that broad consensus, miners

00:03:35.080 --> 00:03:39.600
<v Aaron van Wirdum>could still block the upgrade, which is what happened with SegWit a couple of

00:03:39.600 --> 00:03:40.000
<v Aaron van Wirdum>years ago.

00:03:40.480 --> 00:03:44.960
<v Sjors Provoost>Right, back then there was a lot of debate about the block size and lots of hard

00:03:44.960 --> 00:03:50.260
<v Sjors Provoost>fork proposals and lots of hurt feelings. And so... Now, eventually

00:03:50.260 --> 00:03:55.020
<v Sjors Provoost>it was very difficult to get SegWit activated because miners were not signaling

00:03:55.020 --> 00:04:00.680
<v Sjors Provoost>for it, probably mostly intentionally. Now, it could also happen that miners just

00:04:00.680 --> 00:04:04.420
<v Sjors Provoost>ignore an update, not because they don't like it, just because they're busy.

00:04:04.760 --> 00:04:10.710
<v Aaron van Wirdum>Yeah, in the case of SegWit, that was, in the end, resolved through

00:04:10.710 --> 00:04:14.890
<v Aaron van Wirdum>UASF or at least that was part of it, we're not going to get into that in depth

00:04:14.890 --> 00:04:20.870
<v Aaron van Wirdum>right but that basically meant that a group of users said on this day

00:04:20.870 --> 00:04:26.710
<v Aaron van Wirdum>some date in the future, was August 1st 2017, we're going to activate the

00:04:26.710 --> 00:04:30.610
<v Aaron van Wirdum>SegWit rules no matter how much hash power actually supports it.

00:04:31.030 --> 00:04:35.290
<v Sjors Provoost>Right, and at the same time, and perhaps as a consequence of that, a group of

00:04:35.290 --> 00:04:40.110
<v Sjors Provoost>miners and other companies agreed that they would start signaling for SegWit, and

00:04:40.110 --> 00:04:43.590
<v Sjors Provoost>there was a whole bunch of other things going on at the same time. But whatever

00:04:43.590 --> 00:04:47.270
<v Sjors Provoost>happened on the 1st of August, the thing activated, or a little bit earlier, I think.

00:04:47.610 --> 00:04:52.430
<v Aaron van Wirdum>Yeah, okay, so now we're four years ahead in time. It's four years later, and now

00:04:52.430 --> 00:04:58.010
<v Aaron van Wirdum>the Taproot upgrade is ready to go. And what happened a couple years ago is

00:04:58.010 --> 00:05:03.720
<v Aaron van Wirdum>now spurring new debate on the Taproot upgrade. And that brings us to the LOT

00:05:03.720 --> 00:05:09.460
<v Aaron van Wirdum>parameter, which is a new parameter. Although, you know, it's sort of inspired

00:05:09.460 --> 00:05:12.920
<v Aaron van Wirdum>by things from that SegWit upgrade period.

00:05:13.100 --> 00:05:18.620
<v Sjors Provoost>It's basically like a built-in UASF option, which

00:05:18.620 --> 00:05:24.610
<v Sjors Provoost>you can decide to use or not. But it's basically, there is now a sort of a

00:05:24.610 --> 00:05:29.960
<v Sjors Provoost>formal way in the protocol to do this, to activate a soft fork like at a cutoff date.

00:05:29.960 --> 00:05:35.880
<v Aaron van Wirdum>Yeah, so LOT has two options. The first option is false. So that LOT is

00:05:35.880 --> 00:05:41.660
<v Aaron van Wirdum>false. That means that miners can signal for the upgrade for one year

00:05:41.660 --> 00:05:47.000
<v Aaron van Wirdum>and then in that year if there's 90 thresholds for the upgrade it will

00:05:47.000 --> 00:05:52.920
<v Aaron van Wirdum>activate, as we just explained. By the way, one year and 90 isn't set in

00:05:52.920 --> 00:05:57.340
<v Aaron van Wirdum>stone, but that's sort of what people seem to settle on. For convenience sake,

00:05:57.460 --> 00:06:01.240
<v Aaron van Wirdum>that's just what I'm going to use while discussing this. So miners have one year

00:06:01.240 --> 00:06:07.180
<v Aaron van Wirdum>to activate the upgrade. If after that year they have not upgraded, the Taproot

00:06:07.180 --> 00:06:11.280
<v Aaron van Wirdum>upgrade will expire. It will just not happen, basically. That LOT is false.

00:06:11.540 --> 00:06:14.360
<v Sjors Provoost>And of course, there's always the option then of shipping any release, trying

00:06:14.360 --> 00:06:18.520
<v Sjors Provoost>again. It's not that… it's… it's not a no vote but it just nothing happens.

00:06:19.080 --> 00:06:23.060
<v Aaron van Wirdum>Yeah, exactly. Okay, then there's LOT is true,

00:06:24.000 --> 00:06:29.670
<v Aaron van Wirdum>which... Again, miners have one year to signal support for the upgrade.

00:06:29.930 --> 00:06:35.710
<v Aaron van Wirdum>If a 90% threshold is met, then the upgrade will activate. However,

00:06:36.010 --> 00:06:41.860
<v Aaron van Wirdum>the big difference is what happens if miners don't reach this threshold if

00:06:41.860 --> 00:06:46.940
<v Aaron van Wirdum>they don't signal for the upgrade. In that case, when the year is almost over,

00:06:47.500 --> 00:06:53.380
<v Aaron van Wirdum>nodes that have LOT is true will start to reject all blocks that don't

00:06:53.380 --> 00:06:59.100
<v Aaron van Wirdum>signal for the upgrade. In other words, they only accept blocks that will signal

00:06:59.100 --> 00:07:04.820
<v Aaron van Wirdum>for the upgrade, which means, of course, that the 90% threshold will be met

00:07:04.820 --> 00:07:10.240
<v Aaron van Wirdum>and therefore Taproot, or any other soft fork in this mechanism,

00:07:10.500 --> 00:07:12.040
<v Aaron van Wirdum>will activate.

00:07:12.930 --> 00:07:14.610
<v Sjors Provoost>If enough blocks are produced.

00:07:14.850 --> 00:07:19.250
<v Aaron van Wirdum>If enough blocks are produced, yes, that's… that's true. A little bit of nuance

00:07:19.250 --> 00:07:25.030
<v Aaron van Wirdum>is that, for those who find that interesting, even LOT is true nodes will accept

00:07:25.030 --> 00:07:27.710
<v Aaron van Wirdum>up to 10% of blocks that don't signal.

00:07:29.200 --> 00:07:31.960
<v Aaron van Wirdum>That's to avoid weird chain split scenarios?

00:07:32.300 --> 00:07:37.500
<v Sjors Provoost>Yeah, basically because if it activates in a normal way, only 90% has a signal.

00:07:37.740 --> 00:07:41.900
<v Sjors Provoost>So if you mandate signaling, then it would be weird to have a different

00:07:41.900 --> 00:07:42.700
<v Sjors Provoost>percentage suddenly.

00:07:43.060 --> 00:07:47.320
<v Aaron van Wirdum>Yeah, so they're going to accept the first 10% of non-signaling blocks, but after

00:07:47.320 --> 00:07:51.560
<v Aaron van Wirdum>that, every block that doesn't signal is going to be rejected. So the 90%

00:07:51.560 --> 00:07:56.440
<v Aaron van Wirdum>threshold will definitely be reached. Now, the big reason for

00:07:56.440 --> 00:08:02.220
<v Aaron van Wirdum>LOT is true, for that parameter to set it to true, is that this way

00:08:02.220 --> 00:08:07.310
<v Aaron van Wirdum>miners cannot block the upgrade. Even if they try to block the upgrade,

00:08:07.690 --> 00:08:13.970
<v Aaron van Wirdum>once the year is over, nodes will still enforce Taproot. So it's guaranteed to happen.

00:08:14.720 --> 00:08:16.140
<v Sjors Provoost>If enough blocks are produced.

00:08:16.340 --> 00:08:17.680
<v Aaron van Wirdum>If enough blocks are produced.

00:08:17.900 --> 00:08:21.980
<v Sjors Provoost>Yeah, we can get into some of the risks with this, but I think you want to

00:08:21.980 --> 00:08:23.060
<v Sjors Provoost>continue explaining a bit.

00:08:23.280 --> 00:08:28.800
<v Aaron van Wirdum>Yeah, so in other words, the reason some people like LOT is true, it's because

00:08:28.800 --> 00:08:31.610
<v Aaron van Wirdum>that way miners don't have a veto, a veto.

00:08:33.050 --> 00:08:38.950
<v Aaron van Wirdum>Now the counter argument there, and you already sort of suggested that, is

00:08:38.950 --> 00:08:44.450
<v Aaron van Wirdum>that miners don't have a veto anyways. Even if we use LOT is false,

00:08:45.350 --> 00:08:51.210
<v Aaron van Wirdum>the upgrade would expire after a year. But after that year, we can

00:08:51.210 --> 00:08:56.770
<v Aaron van Wirdum>just deploy a new upgrade mechanism and a new signaling period.

00:08:57.050 --> 00:08:58.830
<v Aaron van Wirdum>And this time maybe use LOT is true.

00:08:59.310 --> 00:09:04.410
<v Sjors Provoost>Yes, or even while this thing is going on, right? So you could wait half a year

00:09:04.410 --> 00:09:09.090
<v Sjors Provoost>with the LOT is false. And then half a year later saying, okay, this is taking

00:09:09.090 --> 00:09:13.070
<v Sjors Provoost>too long. Let's take a little bit more risk and set LOT to true.

00:09:13.290 --> 00:09:13.790
<v Aaron van Wirdum>Exactly.

00:09:14.130 --> 00:09:15.390
<v Sjors Provoost>Or lower the threshold.

00:09:15.810 --> 00:09:16.050
<v Aaron van Wirdum>Yes.

00:09:16.270 --> 00:09:19.710
<v Sjors Provoost>Or some other permutation that slightly increases the risk, but also increases

00:09:19.710 --> 00:09:20.930
<v Sjors Provoost>the likeness of activation.

00:09:21.410 --> 00:09:27.150
<v Aaron van Wirdum>Yeah, you're right. But that's actually also one of the arguments against using

00:09:27.220 --> 00:09:32.680
<v Aaron van Wirdum>LOT is false. LOT is true proponents say that because

00:09:32.680 --> 00:09:37.360
<v Aaron van Wirdum>you just suggested we can do it after six months but there's another group of

00:09:37.360 --> 00:09:41.740
<v Aaron van Wirdum>users that might say no no first wait until the year is over and then we'll just

00:09:41.740 --> 00:09:47.320
<v Aaron van Wirdum>redeploy again. So let's say that after six months Taproot hasn't activated

00:09:47.320 --> 00:09:52.060
<v Aaron van Wirdum>now all of a sudden you get a new discussion between people that want to

00:09:53.370 --> 00:09:57.730
<v Aaron van Wirdum>start deploying LOT is true clients right away and groups of users that want to

00:09:57.730 --> 00:10:01.770
<v Aaron van Wirdum>wait until the year is over. So it's sort of reintroducing the discussion we're

00:10:01.770 --> 00:10:06.370
<v Aaron van Wirdum>having now, except by then we only have six months to resolve it. It's like a

00:10:06.370 --> 00:10:07.950
<v Aaron van Wirdum>ticking time bomb kind of situation.

00:10:08.780 --> 00:10:12.720
<v Sjors Provoost>Well, not really to resolve it. I mean, if you don't do anything for six months,

00:10:12.840 --> 00:10:15.820
<v Sjors Provoost>then there's only one option left, which is to just try again with the new

00:10:15.820 --> 00:10:16.800
<v Sjors Provoost>activation bit.

00:10:17.850 --> 00:10:20.930
<v Aaron van Wirdum>Yeah, but then you need to agree on when you're actually going to do that. Are

00:10:20.930 --> 00:10:23.690
<v Aaron van Wirdum>you going to do that after six months or are you going to do that later? And

00:10:23.690 --> 00:10:24.510
<v Aaron van Wirdum>people might disagree.

00:10:26.050 --> 00:10:30.250
<v Sjors Provoost>Yeah, then you'd be back to where we are now, except you know a little bit more

00:10:30.250 --> 00:10:32.070
<v Sjors Provoost>because now you know that the miners weren't signaling.

00:10:32.430 --> 00:10:37.150
<v Aaron van Wirdum>Yeah, and you don't have a lot of time to resolve it because after six months,

00:10:37.250 --> 00:10:41.500
<v Aaron van Wirdum>something might happen. Some group of users might run through.

00:10:42.100 --> 00:10:47.260
<v Sjors Provoost>Yeah, so the thing you're talking about here is the possibility of, say, anarchy

00:10:47.260 --> 00:10:52.060
<v Sjors Provoost>in the sense that there's no consensus about when to activate this thing. And one

00:10:52.060 --> 00:10:55.860
<v Sjors Provoost>group, I think we discussed this at length in the third episode, one group just

00:10:55.860 --> 00:10:59.960
<v Sjors Provoost>gets really aggressive and says, no, we're going to activate this earlier. And so

00:10:59.960 --> 00:11:02.580
<v Sjors Provoost>then nobody knows when it's going to happen.

00:11:04.460 --> 00:11:09.240
<v Aaron van Wirdum>Yes, well, and also let me put it differently. If right now we're saying, okay,

00:11:09.420 --> 00:11:13.820
<v Aaron van Wirdum>if after six months miners haven't activated for

00:11:14.400 --> 00:11:20.220
<v Aaron van Wirdum>Taproot, then we'll just upgrade to LOT is true clients after six months.

00:11:21.280 --> 00:11:25.260
<v Aaron van Wirdum>Then LOT is true proponents will say, well, if that's the plan anyways, let's

00:11:25.260 --> 00:11:30.800
<v Aaron van Wirdum>just do it now. That's much easier. Why do we have to do that halfway? So that's

00:11:30.800 --> 00:11:32.640
<v Aaron van Wirdum>sort of the counter argument to the counter argument.

00:11:33.280 --> 00:11:37.380
<v Sjors Provoost>Yeah, I can see that. But of course, there's also the scenario where we never do

00:11:37.380 --> 00:11:43.360
<v Sjors Provoost>this, where Taproot just doesn't activate. I mean, it just depends on what people

00:11:43.360 --> 00:11:47.820
<v Sjors Provoost>want. But there is something to be said for a status quo bias where you don't do

00:11:47.820 --> 00:11:51.220
<v Sjors Provoost>anything if it's too controversial for whatever reason. Now, there's another sort

00:11:51.220 --> 00:11:57.130
<v Sjors Provoost>of a side case here that is useful to keep in mind. There might

00:11:57.130 --> 00:12:02.870
<v Sjors Provoost>be a very good reason to cancel Taproot, right? There might just be a bug that...

00:12:02.870 --> 00:12:05.890
<v Aaron van Wirdum>You're getting ahead of me, Sjors, You're getting ahead of me… Let me… Because

00:12:05.890 --> 00:12:08.730
<v Aaron van Wirdum>there are a bunch of arguments in favor of LOT is false.

00:12:09.030 --> 00:12:09.310
<v Sjors Provoost>Okay.

00:12:09.510 --> 00:12:13.900
<v Aaron van Wirdum>Okay, so one argument is we've basically already done LOT

00:12:13.900 --> 00:12:19.490
<v Aaron van Wirdum>is false a bunch of times, the previous miner activated soft forks.

00:12:19.750 --> 00:12:24.070
<v Aaron van Wirdum>And most of the times it went fine. There was just this one time with SegWit in

00:12:24.070 --> 00:12:29.190
<v Aaron van Wirdum>the midst of a big war. And we don't have a big war now. There's no reason to

00:12:29.190 --> 00:12:34.610
<v Aaron van Wirdum>change what we've been doing successfully until now. That's one argument. The

00:12:34.610 --> 00:12:38.470
<v Aaron van Wirdum>counter argument would, for example, be, yeah, but if you choose LOT is false

00:12:38.470 --> 00:12:44.190
<v Aaron van Wirdum>now, that could actually draw controversy itself. You know, that could be

00:12:44.190 --> 00:12:48.510
<v Aaron van Wirdum>used to drive a wedge or, you know, we're not in a war right now, but it could

00:12:48.510 --> 00:12:49.190
<v Aaron van Wirdum>cause a war.

00:12:49.770 --> 00:12:52.490
<v Sjors Provoost>Yeah, but I don't see how that argument doesn't apply to LOT is true.

00:12:52.970 --> 00:12:57.770
<v Aaron van Wirdum>No, that's probably fair. Yeah, I tend to agree with that.

00:12:58.630 --> 00:13:03.590
<v Aaron van Wirdum>Okay, then the other argument for LOT is false is that miners and especially

00:13:03.590 --> 00:13:08.790
<v Aaron van Wirdum>mining pools have already indicated that they're supportive of Taproot and that

00:13:08.790 --> 00:13:14.390
<v Aaron van Wirdum>I'll activate it and you know it's not necessary to do the LOT is true thing

00:13:14.390 --> 00:13:19.650
<v Aaron van Wirdum>as far as we can tell. Then the third argument is what you just mentioned

00:13:19.650 --> 00:13:25.470
<v Aaron van Wirdum>is that it's possible that maybe someone finds a bug with Taproot,

00:13:25.470 --> 00:13:31.270
<v Aaron van Wirdum>maybe a software bug or maybe some other problem is possible and then if you do

00:13:31.270 --> 00:13:37.130
<v Aaron van Wirdum>LOT is false it's fairly easy to just let it expire and users won't have to

00:13:37.130 --> 00:13:38.330
<v Aaron van Wirdum>upgrade their software again.

00:13:38.610 --> 00:13:42.190
<v Sjors Provoost>Right, the only thing then you'd have to recommend that miners do not install

00:13:42.190 --> 00:13:46.490
<v Sjors Provoost>that upgrade. And it's worth noting, I think we pointed this out in episode

00:13:46.490 --> 00:13:51.690
<v Sjors Provoost>three, people don't always review things very early. So it's very possible that a

00:13:51.690 --> 00:13:55.550
<v Sjors Provoost>lot of you know a lot of people have reviewed Taproot code, but others might not

00:13:55.550 --> 00:13:59.870
<v Sjors Provoost>bother to review it until the activation code is there because they just wait for

00:13:59.870 --> 00:14:04.470
<v Sjors Provoost>the last minute. So it's… it's not implausible that somebody, you know, very

00:14:04.470 --> 00:14:08.870
<v Sjors Provoost>smart starts reviewing this very late. Perhaps some exchange that's, you know,

00:14:08.950 --> 00:14:09.650
<v Sjors Provoost>about to deploy it.

00:14:09.830 --> 00:14:15.810
<v Aaron van Wirdum>Yeah, something like that happened with the P2SH. So the predecessor to P2SH was

00:14:15.810 --> 00:14:21.500
<v Aaron van Wirdum>OP_CSV, I think. That was just about to be deployed and then a

00:14:21.500 --> 00:14:23.020
<v Aaron van Wirdum>pretty horrible bug was found.

00:14:23.220 --> 00:14:27.420
<v Sjors Provoost>Yeah, we've seen it with certain altcoins too, that right before deployment,

00:14:27.440 --> 00:14:30.700
<v Sjors Provoost>people find zero days, either because they're bullies or just because the code

00:14:30.700 --> 00:14:34.820
<v Sjors Provoost>was shipped in a rush and nobody checked it. So there is definitely always a

00:14:34.820 --> 00:14:38.540
<v Sjors Provoost>risk, whatever soft fork mechanism you use, that a bug is discovered at the last

00:14:38.540 --> 00:14:41.980
<v Sjors Provoost>minute. And if you're really unlucky, then it's too late, it's deployed, and you

00:14:41.980 --> 00:14:44.900
<v Sjors Provoost>need a hard fork to get rid of it, which would be really, really bad.

00:14:45.410 --> 00:14:48.950
<v Aaron van Wirdum>Well, no, I don't think that's true. There are other ways to get rid of it.

00:14:49.230 --> 00:14:52.730
<v Sjors Provoost>Oh yeah, you may be able to soft fork, depending on what the bug is, you may be

00:14:52.730 --> 00:14:54.190
<v Sjors Provoost>able to soft fork it out. Yeah,

00:14:54.910 --> 00:14:59.850
<v Aaron van Wirdum>There are ways to fix it even in that case. And the other sort of counter

00:14:59.850 --> 00:15:04.870
<v Aaron van Wirdum>argument to that point would be, well, if we're not sure that

00:15:04.870 --> 00:15:08.650
<v Aaron van Wirdum>it's bug free and if we're not sure that this upgrade is correct and it shouldn't

00:15:08.650 --> 00:15:12.910
<v Aaron van Wirdum>be deployed. Either way, not in false or true or anything. So we need to be sure

00:15:12.910 --> 00:15:13.570
<v Aaron van Wirdum>of that anyways.

00:15:13.970 --> 00:15:18.330
<v Sjors Provoost>Yeah, but like I said, some people won't review something until it is sort of

00:15:18.330 --> 00:15:18.790
<v Sjors Provoost>inevitable.

00:15:19.730 --> 00:15:22.490
<v Aaron van Wirdum>Yeah, I'm just… I'm just listing the arguments.

00:15:22.730 --> 00:15:23.090
<v Sjors Provoost>That's all right.

00:15:24.210 --> 00:15:29.810
<v Aaron van Wirdum>Okay, fourth argument. So the fourth argument for LOT is false, basically, or

00:15:29.810 --> 00:15:34.750
<v Aaron van Wirdum>against LOT is true, is that LOT is true. Am I saying that right? Against LOT is

00:15:34.750 --> 00:15:39.770
<v Aaron van Wirdum>true? Yeah. LOT is true could feed into the perception that Bitcoin and

00:15:39.770 --> 00:15:44.810
<v Aaron van Wirdum>especially Bitcoin Core developers control the protocol have power over the

00:15:44.810 --> 00:15:49.470
<v Aaron van Wirdum>protocol because you know they're shipping code and that becomes that sort of

00:15:49.470 --> 00:15:53.450
<v Aaron van Wirdum>necessarily becomes the new protocol rules in the case of in the case of Taproot

00:15:53.450 --> 00:15:55.630
<v Aaron van Wirdum>so that perception could…

00:15:56.250 --> 00:16:00.450
<v Sjors Provoost>There could be some future soft fork where really nobody in the community cares

00:16:00.450 --> 00:16:05.490
<v Sjors Provoost>about it, but just a handful of Bitcoin Core developers do, and they kind of

00:16:05.490 --> 00:16:11.190
<v Sjors Provoost>force it onto the community, and then you get a bunch of chaos. The… the nice

00:16:11.190 --> 00:16:13.790
<v Sjors Provoost>thing about having at least a miner signal is that they are part of the

00:16:13.790 --> 00:16:17.710
<v Sjors Provoost>community, and at least they are okay with it. But the problem is it doesn't

00:16:17.710 --> 00:16:20.970
<v Sjors Provoost>reflect… it doesn't reflect what other people in the community think about it. It

00:16:20.970 --> 00:16:23.910
<v Sjors Provoost>just reflects what they think about it. So there's a bunch of mechanisms, right?

00:16:24.010 --> 00:16:27.770
<v Sjors Provoost>There's a discussion on the mailing list. And you see if people have problems,

00:16:27.990 --> 00:16:31.910
<v Sjors Provoost>then there's the miner signaling, which is a nice indication that people are

00:16:31.910 --> 00:16:37.300
<v Sjors Provoost>happy. So you could just see it as that, as many people consenting as possible.

00:16:37.660 --> 00:16:39.960
<v Sjors Provoost>It'd be nice if there were other mechanisms, of course.

00:16:40.240 --> 00:16:44.860
<v Aaron van Wirdum>Yeah, the other point is that, you know, Bitcoin Core developers, while they

00:16:44.860 --> 00:16:48.840
<v Aaron van Wirdum>decide which software they include in Bitcoin Core, which code they include in

00:16:48.840 --> 00:16:52.460
<v Aaron van Wirdum>Bitcoin Core, they don't decide what users actually end up running.

00:16:52.800 --> 00:16:55.300
<v Sjors Provoost>No, exactly. So nobody might download it.

00:16:55.870 --> 00:17:00.170
<v Aaron van Wirdum>Yeah, exactly. They don't actually have power over the network. So in that sense,

00:17:00.370 --> 00:17:05.840
<v Aaron van Wirdum>the argument is bunk, but it could still feed into the perception that

00:17:05.840 --> 00:17:10.180
<v Aaron van Wirdum>they do. And even that perception, if you can avoid it, maybe that's better.

00:17:10.360 --> 00:17:11.080
<v Aaron van Wirdum>That's sort of an argument.

00:17:11.160 --> 00:17:16.280
<v Sjors Provoost>And the precedent, right? But if Bitcoin Core is compromised at some point and

00:17:16.280 --> 00:17:20.100
<v Sjors Provoost>ships an update and says, well, if you don't stop it, then it's going to

00:17:20.100 --> 00:17:23.930
<v Sjors Provoost>activate. And then it's actually nice if the miners can say, nah, I don't think so.

00:17:24.310 --> 00:17:30.170
<v Aaron van Wirdum>But users could say that as well by not downloading it, like you said. Okay, then

00:17:30.170 --> 00:17:35.790
<v Aaron van Wirdum>now we get to the fifth argument. And this is the most, this is where it gets

00:17:35.790 --> 00:17:41.350
<v Aaron van Wirdum>pretty complex. Okay, so the fifth argument against LOT is true

00:17:41.350 --> 00:17:46.250
<v Aaron van Wirdum>is that it could cause all sorts of network instability.

00:17:47.580 --> 00:17:53.580
<v Aaron van Wirdum>If it happens that the year is over and there are LOT is true clients

00:17:53.580 --> 00:17:59.060
<v Aaron van Wirdum>on the network, it's possible that they would split off from the main chain

00:17:59.060 --> 00:18:04.760
<v Aaron van Wirdum>and there could be reorgs and people could lose money and miners

00:18:04.760 --> 00:18:09.780
<v Aaron van Wirdum>could mine invalid block and lose their block rewards and all that sort of stuff.

00:18:11.000 --> 00:18:16.660
<v Aaron van Wirdum>But the LOT is true proponents argue that that risk is

00:18:16.660 --> 00:18:20.380
<v Aaron van Wirdum>actually best mitigated if people adopt a LOT is true.

00:18:20.960 --> 00:18:25.600
<v Sjors Provoost>Yeah I'm very skeptical that sounds very circular but maybe it's useful to

00:18:25.600 --> 00:18:27.880
<v Sjors Provoost>explain what these bad scenarios look like.

00:18:27.880 --> 00:18:29.620
<v Aaron van Wirdum>That's exactly where I wanted to get at.

00:18:29.620 --> 00:18:33.520
<v Sjors Provoost>Yeah, and then others can decide whether a they think those bad scenarios are

00:18:33.520 --> 00:18:37.780
<v Sjors Provoost>worth risking and b whether they think you know how to make them less likely

00:18:38.190 --> 00:18:42.250
<v Sjors Provoost>because some of that I think is almost political. It's kind of like, you know,

00:18:42.330 --> 00:18:45.530
<v Sjors Provoost>you have all these discussions in society, like should people have guns or not?

00:18:45.690 --> 00:18:50.530
<v Sjors Provoost>And, you know, what's the incentives? And you may never figure that out. But we

00:18:50.530 --> 00:18:52.150
<v Sjors Provoost>can talk about some of the mechanics here.

00:18:52.270 --> 00:18:57.910
<v Aaron van Wirdum>Just to be clear, if somehow there would be complete consensus on the

00:18:57.910 --> 00:19:03.060
<v Aaron van Wirdum>network over either LOT is true, all nodes run LOT is true,

00:19:03.280 --> 00:19:09.260
<v Aaron van Wirdum>or all nodes run LOT is false, then I think that would be totally fine

00:19:09.260 --> 00:19:10.160
<v Aaron van Wirdum>either way.

00:19:10.480 --> 00:19:13.560
<v Sjors Provoost>Yeah, but the irony, of course, is that if there's complete consensus and

00:19:13.560 --> 00:19:17.240
<v Sjors Provoost>everybody runs LOT is true, then it will never be used. But you're right in theory.

00:19:17.720 --> 00:19:21.360
<v Aaron van Wirdum>Well, I mean, even if miners wouldn't...

00:19:20.640 --> 00:19:24.960
<v Sjors Provoost>I don't… I don't see a scenario where miners would say, yeah, we're happy with

00:19:24.960 --> 00:19:29.020
<v Sjors Provoost>LOT is true. We're just not deliberately not going to signal and then signal at

00:19:29.020 --> 00:19:29.860
<v Sjors Provoost>the very last moment.

00:19:30.580 --> 00:19:36.430
<v Aaron van Wirdum>Yeah, you're right. But we're also digressing. The point is that... the really

00:19:36.430 --> 00:19:42.050
<v Aaron van Wirdum>complicated scenarios arise when some parts of the network are running LOT is

00:19:42.050 --> 00:19:48.030
<v Aaron van Wirdum>true, some parts of the network are running LOT is false, or some parts of the

00:19:48.030 --> 00:19:52.510
<v Aaron van Wirdum>network are running neither because they haven't upgraded, or some combination of

00:19:52.510 --> 00:19:56.310
<v Aaron van Wirdum>these, you know, half of the network is true, half of the network is neither.

00:19:56.670 --> 00:20:02.590
<v Aaron van Wirdum>That's where things get very complicated, and Sjors, you've thought about it.

00:20:03.170 --> 00:20:03.930
<v Aaron van Wirdum>What do you think?

00:20:04.350 --> 00:20:10.250
<v Sjors Provoost>The nice thing is, I kind of thought about this stuff during the SegWit2x debacle

00:20:10.250 --> 00:20:14.670
<v Sjors Provoost>as well as the UASF debacle, which were similar in a way, but also very different

00:20:14.670 --> 00:20:17.710
<v Sjors Provoost>because of who was doing this [unclear] and whether it was a hard fork or a soft

00:20:17.710 --> 00:20:23.460
<v Sjors Provoost>fork. But, okay, so let's say you are running the current version of Bitcoin

00:20:23.460 --> 00:20:27.660
<v Sjors Provoost>Core. Now, let's start easier. Okay, let's say you're running the LOT is true

00:20:27.660 --> 00:20:30.980
<v Sjors Provoost>version of Bitcoin Core. You downloaded it, and maybe it was released by Bitcoin

00:20:30.980 --> 00:20:35.220
<v Sjors Provoost>Core, maybe you self-compiled it, but it says LOT is true. You want Taproot to

00:20:35.220 --> 00:20:40.000
<v Sjors Provoost>activate. But the scenario here we're taking is that the rest of the world, the

00:20:40.000 --> 00:20:45.860
<v Sjors Provoost>miners aren't really doing this. And the day arrives, and you see

00:20:45.860 --> 00:20:50.330
<v Sjors Provoost>a block, and it's not signaling correctly. But you want it to signal correctly.

00:20:50.510 --> 00:20:54.650
<v Sjors Provoost>So you say, this block is now invalid. I'm not going to accept this block. And

00:20:54.650 --> 00:20:58.450
<v Sjors Provoost>I'm just going to wait until another miner comes with a block that does meet my

00:20:58.450 --> 00:21:04.130
<v Sjors Provoost>criteria. And maybe that happens once in every 10 blocks, for example. So you are

00:21:04.130 --> 00:21:08.550
<v Sjors Provoost>seeing new blocks, but they're coming in very, very slowly. Okay, so somebody

00:21:08.550 --> 00:21:13.230
<v Sjors Provoost>sends you a transaction. You know, you won Bitcoin from somebody, they sent you a

00:21:13.230 --> 00:21:19.210
<v Sjors Provoost>transaction. And this transaction has a fee, and it's probably going to

00:21:19.210 --> 00:21:23.610
<v Sjors Provoost>be wrong. So let's say you're receiving a transaction from somebody who is

00:21:23.610 --> 00:21:28.650
<v Sjors Provoost>running a node with LOT is false. So they're on a chain that is going 10 times

00:21:28.650 --> 00:21:34.410
<v Sjors Provoost>faster than you are, right? This is intermediate state. Their blocks might be

00:21:34.410 --> 00:21:40.340
<v Sjors Provoost>just full, so their fees are pretty low, and you're receiving it. But

00:21:40.340 --> 00:21:45.580
<v Sjors Provoost>you're on this shorter, slower moving chain. So your mempool is really full and

00:21:45.580 --> 00:21:49.360
<v Sjors Provoost>your blocks are completely full. So that transaction probably won't confirm on

00:21:49.360 --> 00:21:52.240
<v Sjors Provoost>your side. It's just going to be sitting in the mempool. That's just one

00:21:52.240 --> 00:21:55.880
<v Sjors Provoost>complexity. And that's actually a relatively good scenario because you don't

00:21:55.880 --> 00:21:57.520
<v Sjors Provoost>accept unconfirmed transactions.

00:21:57.900 --> 00:21:58.280
<v Aaron van Wirdum>Yeah.

00:21:58.440 --> 00:22:01.420
<v Sjors Provoost>So you'll have a disagreement with your counterparty. You'll say, okay, it hasn't

00:22:01.420 --> 00:22:05.460
<v Sjors Provoost>confirmed. And they'll say it has confirmed. Then at least you might realize

00:22:05.460 --> 00:22:10.620
<v Sjors Provoost>what's going on. You know, you read about the LOT war or whatever. So that's one

00:22:10.620 --> 00:22:14.460
<v Sjors Provoost>scenario. The other scenario is where somehow it does confirm on your side, but

00:22:14.460 --> 00:22:20.100
<v Sjors Provoost>maybe it also confirms on the other side. So that's kind of good because

00:22:20.350 --> 00:22:24.270
<v Sjors Provoost>then you're safe either way, right? If it's confirmed on both sides and whatever

00:22:24.270 --> 00:22:29.090
<v Sjors Provoost>happens in a future reorg, that transaction is actually on the chain, just maybe

00:22:29.090 --> 00:22:29.790
<v Sjors Provoost>in a different block.

00:22:30.290 --> 00:22:30.750
<v Aaron van Wirdum>Sure.

00:22:31.030 --> 00:22:35.030
<v Sjors Provoost>Another scenario could be because these blocks are these chains, there's two

00:22:35.030 --> 00:22:38.950
<v Sjors Provoost>chains, one short chain, one long chain, but they're different. And so if you're

00:22:38.950 --> 00:22:43.270
<v Sjors Provoost>receiving coins that are from the coinbase, that descend from a coinbase

00:22:43.270 --> 00:22:48.130
<v Sjors Provoost>transaction on one side or the other, then there's no way it can be valid on your side.

00:22:48.590 --> 00:22:48.710
<v Aaron van Wirdum>Yeah.

00:22:49.150 --> 00:22:54.370
<v Sjors Provoost>And this can also be a feature. It's called replay protection, essentially. So

00:22:54.370 --> 00:22:58.930
<v Sjors Provoost>you receive a transaction and you just don't even see it in your mempool and you

00:22:58.930 --> 00:23:03.190
<v Sjors Provoost>call the other person and you say, this doesn't make any sense. So that's good.

00:23:03.730 --> 00:23:09.670
<v Sjors Provoost>Okay. But now, suddenly, the world changes its mind and

00:23:09.670 --> 00:23:13.850
<v Sjors Provoost>says, no, we do want Taproot, we do want LOT is true, we are now LOT is true

00:23:13.850 --> 00:23:18.950
<v Sjors Provoost>diehards. And all the miners start mining on top of your shorter chain and your

00:23:18.950 --> 00:23:23.690
<v Sjors Provoost>short chain becomes the very long chain. So in that case, you're pretty happy in

00:23:23.690 --> 00:23:26.390
<v Sjors Provoost>most of the scenarios we discussed, right? The transaction…

00:23:26.390 --> 00:23:27.010
<v Aaron van Wirdum>Sounds good to me.

00:23:27.250 --> 00:23:30.990
<v Sjors Provoost>Right, you had a transaction that was in maybe your 10th block and on the other

00:23:30.990 --> 00:23:34.370
<v Sjors Provoost>side it was in the first block, but it's still yours. There were some

00:23:34.370 --> 00:23:38.730
<v Sjors Provoost>transactions floating in the mempool for a very long time that finally confirmed.

00:23:39.690 --> 00:23:45.050
<v Sjors Provoost>I think you're… you're fairly happy, but I wonder if I was doing it right. Yeah,

00:23:45.130 --> 00:23:47.910
<v Sjors Provoost>so we were talking about the LOT is true node, right? So… so yeah, as a

00:23:47.910 --> 00:23:51.940
<v Sjors Provoost>LOT is true node user… It sounds like in these scenarios, you're happy.

00:23:52.480 --> 00:23:52.880
<v Aaron van Wirdum>Yep.

00:23:53.100 --> 00:23:55.420
<v Sjors Provoost>Maybe not if you're paying someone, but anyway.

00:23:55.920 --> 00:23:59.980
<v Aaron van Wirdum>You're starting to make the case for LOT is true Sjors, I know that's not your

00:23:59.980 --> 00:24:02.400
<v Aaron van Wirdum>intention, but you're doing a good job at it.

00:24:02.540 --> 00:24:06.140
<v Sjors Provoost>For the full-node user who knows what they're doing in general, right? If you're

00:24:06.140 --> 00:24:09.520
<v Sjors Provoost>a full-node user and you know what you're doing, then I think you're going to be

00:24:09.520 --> 00:24:13.980
<v Sjors Provoost>fine in general. I think, yeah, this is not too bad. Now, let's say you are a

00:24:13.980 --> 00:24:19.180
<v Sjors Provoost>LOT is false user, and let's say you…

00:24:19.730 --> 00:24:22.470
<v Sjors Provoost>You just are, you know, you don't know what you're doing or you do know what

00:24:22.470 --> 00:24:26.670
<v Sjors Provoost>you're doing. I don't know. Pick one. In the same scenario, you're on the longest

00:24:26.670 --> 00:24:31.790
<v Sjors Provoost>chain. You're receiving coins from an exchange. And you've seen these headers out

00:24:31.790 --> 00:24:36.460
<v Sjors Provoost>there for this shorter chain. You might have seen them. Depends on whether they

00:24:36.460 --> 00:24:40.580
<v Sjors Provoost>reach you or not. But it's a shorter chain. And it's valid according to you

00:24:40.580 --> 00:24:45.680
<v Sjors Provoost>because it's a more strict rule set. So you're fine. So this other chain has

00:24:45.680 --> 00:24:50.620
<v Sjors Provoost>Taproot and you don't probably. And you're accepting transactions and you're a

00:24:50.620 --> 00:24:55.080
<v Sjors Provoost>happy camper. But then all of a sudden, because the world changes, everything

00:24:55.080 --> 00:24:58.580
<v Sjors Provoost>disappears from under you. All the transactions you've seen confirmed in the

00:24:58.580 --> 00:25:02.520
<v Sjors Provoost>block are now back in the mempool. And it might have been double spent even.

00:25:02.740 --> 00:25:08.670
<v Aaron van Wirdum>Yeah, the reason for that is that even if you're running LOT is

00:25:08.670 --> 00:25:13.500
<v Aaron van Wirdum>false, if the LOT is true chain, we're talking about the chain split that's

00:25:13.500 --> 00:25:19.380
<v Aaron van Wirdum>happened… So if your LOT is false node… but at some point at any point the

00:25:19.380 --> 00:25:24.660
<v Aaron van Wirdum>LOT is true chain becomes the longest chain then your LOT is false node would

00:25:24.660 --> 00:25:29.260
<v Aaron van Wirdum>still accept that chain it would still consider it valid. Yeah, the other way

00:25:29.260 --> 00:25:33.350
<v Aaron van Wirdum>around is not true. But the LOT is false node will always consider the LOT is

00:25:33.350 --> 00:25:39.150
<v Aaron van Wirdum>true chain valid. So in your scenario, we're using Bitcoin on the

00:25:39.150 --> 00:25:43.750
<v Aaron van Wirdum>longest chain, on the LOT is false chain. We're happy. We receive money. You

00:25:43.750 --> 00:25:47.010
<v Aaron van Wirdum>know, we did a hard days of work and we got our paycheck at the end.

00:25:47.170 --> 00:25:47.290
<v Sjors Provoost>Yeah.

00:25:48.360 --> 00:25:52.680
<v Aaron van Wirdum>Paid in Bitcoin. We think we're safe. We got a bunch of confirmations. But then

00:25:52.680 --> 00:25:57.470
<v Aaron van Wirdum>all of a sudden, the LOT is true chain becomes longer. Which means your node

00:25:57.470 --> 00:26:01.350
<v Aaron van Wirdum>switches to the LOT is true chain and that money you received on the LOT is false

00:26:01.350 --> 00:26:04.950
<v Aaron van Wirdum>chain, which you thought was the Bitcoin chain, is just gone. Poof.

00:26:05.310 --> 00:26:05.790
<v Sjors Provoost>Right.

00:26:06.210 --> 00:26:07.670
<v Aaron van Wirdum>That's the problem you're talking about.

00:26:08.090 --> 00:26:10.410
<v Sjors Provoost>Exactly. Now you could still say, okay.

00:26:10.320 --> 00:26:15.110
<v Aaron van Wirdum>I will… I will add to this very briefly. I think this is an even bigger problem

00:26:15.110 --> 00:26:17.510
<v Aaron van Wirdum>for non-upgraded nodes.

00:26:18.030 --> 00:26:19.370
<v Sjors Provoost>Yeah, I was about to get to that.

00:26:19.530 --> 00:26:19.730
<v Aaron van Wirdum>Okay.

00:26:20.130 --> 00:26:23.010
<v Sjors Provoost>So, right. So now we're talking about the LOT is false people and you could still

00:26:23.010 --> 00:26:26.870
<v Sjors Provoost>say, well, why did you download the LOT is false version? Well, because you

00:26:26.870 --> 00:26:32.160
<v Sjors Provoost>didn't know. Okay. Now we're talking about an unupgraded node. Now, for the

00:26:32.160 --> 00:26:36.920
<v Sjors Provoost>unupgraded node, Taproot does not exist. So it has no preference for which of the

00:26:36.920 --> 00:26:38.380
<v Sjors Provoost>chains. It will just pick the longest one.

00:26:39.120 --> 00:26:43.360
<v Aaron van Wirdum>Yeah, it's someone in Korea. He doesn't keep up with discussion.

00:26:43.740 --> 00:26:44.660
<v Sjors Provoost>Well, let's not be mean to Korea.

00:26:45.880 --> 00:26:48.520
<v Aaron van Wirdum>No, well, pick a country where they don't speak English.

00:26:48.760 --> 00:26:49.980
<v Sjors Provoost>North Korea, yeah.

00:26:51.190 --> 00:26:56.090
<v Aaron van Wirdum>You know, someone doesn't keep up with their Bitcoin discussion forums, maybe

00:26:56.090 --> 00:26:59.990
<v Aaron van Wirdum>doesn't read English, doesn't really care. He just likes the Bitcoin thing,

00:27:00.130 --> 00:27:03.610
<v Aaron van Wirdum>downloaded the software a couple of years ago, now put in this hard days of work,

00:27:03.730 --> 00:27:05.090
<v Aaron van Wirdum>gets paid, and the money disappears.

00:27:05.510 --> 00:27:09.850
<v Sjors Provoost>Yeah, or his node might be in a nuclear bunker that he put it in five years ago

00:27:09.850 --> 00:27:12.850
<v Sjors Provoost>under 15 meters of concrete, air-gapped.

00:27:13.580 --> 00:27:17.320
<v Sjors Provoost>And he can… he can put… he can give it, you know, and somehow it can download

00:27:17.320 --> 00:27:20.560
<v Sjors Provoost>blocks because it's watching the block stream satellite or something, but it

00:27:20.560 --> 00:27:21.400
<v Sjors Provoost>cannot be upgraded.

00:27:22.620 --> 00:27:25.760
<v Sjors Provoost>And he doesn't know about this upgrade, which would be odd if you're into nuclear

00:27:25.760 --> 00:27:26.600
<v Sjors Provoost>bunkers and full nodes.

00:27:28.140 --> 00:27:31.680
<v Sjors Provoost>Anyway, somebody is running an out of… an out-of-date node but but you know, in

00:27:31.680 --> 00:27:34.880
<v Sjors Provoost>Bitcoin, we have the policy, you don't have to upgrade. It's not a mandatory

00:27:34.880 --> 00:27:39.360
<v Sjors Provoost>thing. So it should be safe, or at least relatively safe, to run an unupgraded

00:27:39.360 --> 00:27:43.640
<v Sjors Provoost>node. And then, all of a sudden, you're receiving your salary as sort of the same

00:27:43.640 --> 00:27:47.910
<v Sjors Provoost>as the LOT is false person. And then suddenly there's a giant reorg that just

00:27:47.910 --> 00:27:52.430
<v Sjors Provoost>comes out of nowhere and you have no idea why people bother to reorg. Because you

00:27:52.430 --> 00:27:53.750
<v Sjors Provoost>don't know about this rule change.

00:27:53.930 --> 00:27:54.690
<v Aaron van Wirdum>Yeah, you don't see the difference.

00:27:54.970 --> 00:27:56.790
<v Sjors Provoost>And poof, your salary just disappeared.

00:27:57.190 --> 00:28:03.550
<v Aaron van Wirdum>Yeah, that's bad. So that's basically the worst case scenario that no one wants, I think.

00:28:03.730 --> 00:28:09.000
<v Sjors Provoost>Yeah, and you can translate this also to, say, people who are using hardware

00:28:09.000 --> 00:28:13.360
<v Sjors Provoost>wallet software that hasn't been updated or they're using remote nodes or they're

00:28:13.360 --> 00:28:18.580
<v Sjors Provoost>using sort of SPV nodes that don't check the rules but only check the work and

00:28:18.580 --> 00:28:21.820
<v Sjors Provoost>they'll have similar experiences where suddenly the longest chain changes so your

00:28:21.820 --> 00:28:26.640
<v Sjors Provoost>SPV wallet which we explained in an earlier episode just its history disappears

00:28:26.640 --> 00:28:27.820
<v Sjors Provoost>and

00:28:28.530 --> 00:28:31.770
<v Sjors Provoost>At least for the, you know, for the lightweight nodes, you could say, you could do

00:28:31.770 --> 00:28:35.220
<v Sjors Provoost>some victim shaming and say, well, you should be running a full node. And if bad

00:28:35.220 --> 00:28:39.370
<v Sjors Provoost>things happen, then you should have run a full node. But I still don't think

00:28:39.320 --> 00:28:43.700
<v Sjors Provoost>that's… that's good safety engineering. You know, to tell people like, okay, if

00:28:43.700 --> 00:28:48.380
<v Sjors Provoost>you do not use your seatbelt in the correct position, the car might explode.

00:28:48.820 --> 00:28:49.260
<v Aaron van Wirdum>Yeah.

00:28:49.480 --> 00:28:52.940
<v Sjors Provoost>But at least for the unupgraded full node, that's an explicit case that I think

00:28:52.940 --> 00:28:57.620
<v Sjors Provoost>Bitcoiners want to support. You want to support people not upgrading and not

00:28:57.620 --> 00:29:00.940
<v Sjors Provoost>suddenly losing their coins in a situation like this.

00:29:01.380 --> 00:29:01.640
<v Aaron van Wirdum>Yes.

00:29:01.940 --> 00:29:05.240
<v Sjors Provoost>Well, that's kind of why I'm not a LOT [unclear]…

00:29:05.670 --> 00:29:10.670
<v Aaron van Wirdum>Yeah, well that's that's where I want to get at so then we everyone agrees or at

00:29:10.670 --> 00:29:14.630
<v Aaron van Wirdum>least we both agree and I think most people would agree that this scenario we

00:29:14.630 --> 00:29:19.010
<v Aaron van Wirdum>just painted that's horrible. We don't want that. So the next question is okay,

00:29:19.010 --> 00:29:24.370
<v Aaron van Wirdum>how do you actually avoid this scenario and that's also one of the things where a

00:29:24.370 --> 00:29:29.590
<v Aaron van Wirdum>LOT is true and a LOT is false people differ in their opinions. A LOT is false

00:29:29.690 --> 00:29:35.390
<v Aaron van Wirdum>proponents like yourself argue against LOT is true because the chain split was

00:29:35.390 --> 00:29:39.230
<v Aaron van Wirdum>caused by LOT is true and therefore if we don't want chain splits we don't want

00:29:39.230 --> 00:29:44.350
<v Aaron van Wirdum>LOT is true and then the thing we just described won't happen. The worst case

00:29:44.350 --> 00:29:48.330
<v Aaron van Wirdum>scenario is that we don't have Taproot. It will just expire and you know that's

00:29:48.330 --> 00:29:53.790
<v Aaron van Wirdum>that's not as bad as this poor Korean guy losing his honest days of work.

00:29:53.790 --> 00:29:56.290
<v Sjors Provoost>Exactly and we might have Taproot later or you know…

00:29:56.290 --> 00:30:02.020
<v Aaron van Wirdum>Yeah now that LOT is true proponents will argue: Look, Bitcoin

00:30:02.020 --> 00:30:07.220
<v Aaron van Wirdum>is an open network and anyone, you know, any peer can run any software they want.

00:30:07.520 --> 00:30:12.160
<v Aaron van Wirdum>And for better or worse, LOT is true is a thing that exists.

00:30:13.040 --> 00:30:18.340
<v Aaron van Wirdum>Now, if we want to avoid a chain split, the best way to avoid that is to make

00:30:18.340 --> 00:30:23.440
<v Aaron van Wirdum>sure that everyone uses LOT is true or at least that the majority of miners

00:30:23.440 --> 00:30:28.660
<v Aaron van Wirdum>upgrade in time and LOT is true is the best way to ensure that. So getting

00:30:28.660 --> 00:30:34.480
<v Aaron van Wirdum>critical mass for LOT is true is actually the safer option

00:30:34.480 --> 00:30:40.470
<v Aaron van Wirdum>despite the fact that LOT is true also introduced the risk. If I want

00:30:40.470 --> 00:30:44.850
<v Aaron van Wirdum>to give an analogy, it's kind of like you know the world would be a safer place

00:30:44.850 --> 00:30:50.210
<v Aaron van Wirdum>without nuclear weapons, but there are nuclear weapons and it seems like it's

00:30:50.210 --> 00:30:52.010
<v Aaron van Wirdum>safer to actually have one in that case.

00:30:52.010 --> 00:30:56.410
<v Sjors Provoost>I think that analogy breaks down very quickly but yeah I I get the idea.

00:30:56.410 --> 00:31:00.050
<v Aaron van Wirdum>But the the point is that you know it's not a perfect analogy I'm sure. The point

00:31:00.050 --> 00:31:05.000
<v Aaron van Wirdum>is LOT is true exists and now we have to deal with that. It might be a better

00:31:05.000 --> 00:31:10.560
<v Aaron van Wirdum>world. It might be a safer place if LOT is true didn't exist, if UASF didn't

00:31:10.560 --> 00:31:14.000
<v Aaron van Wirdum>exist. But it does. And now we have to sort of deal with that fact.

00:31:13.900 --> 00:31:14.900
<v Sjors Provoost>I'm always…

00:31:14.700 --> 00:31:19.740
<v Aaron van Wirdum>And there's an argument to be made that making sure the software succeeds

00:31:19.740 --> 00:31:23.720
<v Aaron van Wirdum>is actually the best way to go to save that poor Korean guy.

00:31:24.000 --> 00:31:28.600
<v Sjors Provoost>Yeah, I'm always very skeptical of this type of game theory because it sounds

00:31:28.600 --> 00:31:32.080
<v Sjors Provoost>rhetorically nice, but I'm not sure if it's really true.

00:31:33.640 --> 00:31:38.060
<v Sjors Provoost>And one of the obvious problems is how do you know you've reached the entire

00:31:38.060 --> 00:31:42.280
<v Sjors Provoost>Bitcoin community? Because like we talked about, this hypothetical person in this

00:31:42.280 --> 00:31:46.870
<v Sjors Provoost>other country that's not reading Twitter and Reddit, it has no idea that this is

00:31:46.870 --> 00:31:51.840
<v Sjors Provoost>going on. You know, let alone most of the lightweight wallet users. The number of

00:31:51.840 --> 00:31:54.740
<v Sjors Provoost>people who use Bitcoin is much, much greater than the number of people who are

00:31:54.740 --> 00:31:59.780
<v Sjors Provoost>even remotely interested in these discussions. And also to even explain the risk

00:31:59.780 --> 00:32:03.760
<v Sjors Provoost>to those people, even if we could reach them, to explain why they should upgrade,

00:32:04.240 --> 00:32:07.580
<v Sjors Provoost>that alone is a rather big challenge because, you know, in this episode, we

00:32:07.580 --> 00:32:11.720
<v Sjors Provoost>roughly try to explain what would go wrong if they don't upgrade. And we can't

00:32:11.720 --> 00:32:15.880
<v Sjors Provoost>just tell them you must upgrade because that sort of violates the... you know,

00:32:16.000 --> 00:32:20.020
<v Sjors Provoost>the idea that you persuade people with arguments and let them decide what they

00:32:20.020 --> 00:32:21.920
<v Sjors Provoost>want to do rather than tell them based on authority.

00:32:23.560 --> 00:32:28.750
<v Aaron van Wirdum>Well, keep in mind that in the end, all of this is avoided if a majority of hash

00:32:28.750 --> 00:32:34.470
<v Aaron van Wirdum>power upgrades. And with LOT is true, it actually is any majority

00:32:34.470 --> 00:32:38.990
<v Aaron van Wirdum>would be fine in the end because if miners themselves use LOT is true, then

00:32:38.990 --> 00:32:42.950
<v Aaron van Wirdum>they'll definitely get the longest chain once by the end of the year.

00:32:43.230 --> 00:32:46.730
<v Sjors Provoost>Yeah, so the game theory is kind of narrow to saying, well, you want to convince

00:32:46.730 --> 00:32:47.990
<v Sjors Provoost>the miners to do this.

00:32:48.330 --> 00:32:49.410
<v Aaron van Wirdum>Yeah, pretty much.

00:32:49.630 --> 00:32:55.110
<v Sjors Provoost>The problem, though, is if it fails, we just explain the disaster that happens.

00:32:55.290 --> 00:32:58.410
<v Sjors Provoost>So then the question is, what is that risk? Can you put a percentage on that? Can

00:32:58.410 --> 00:33:01.490
<v Sjors Provoost>you somehow simulate the world and find out what happens?

00:33:01.490 --> 00:33:06.810
<v Aaron van Wirdum>No, look I'm kind of on the fence on this. I see compelling arguments on both

00:33:06.810 --> 00:33:11.750
<v Aaron van Wirdum>sides. I was leaning towards LOT is false at first but the more I think about it…

00:33:11.750 --> 00:33:17.520
<v Aaron van Wirdum>I… you know, the argument is if you include LOT is true in Bitcoin Core then

00:33:17.520 --> 00:33:23.510
<v Aaron van Wirdum>that practically guarantees that everything will be fine because the

00:33:23.510 --> 00:33:27.790
<v Aaron van Wirdum>economic majority will almost certainly run it, you know, exchanges and most

00:33:27.790 --> 00:33:28.230
<v Aaron van Wirdum>users.

00:33:29.250 --> 00:33:33.310
<v Sjors Provoost>I'm not even sure that's true because that assumes that this economic majority is

00:33:33.310 --> 00:33:36.030
<v Sjors Provoost>quick to upgrade and not sort of ignoring things.

00:33:36.750 --> 00:33:37.970
<v Aaron van Wirdum>At least within a year.

00:33:38.530 --> 00:33:41.770
<v Sjors Provoost>I don't know, there might be companies that are running three or four-year-old

00:33:41.770 --> 00:33:46.310
<v Sjors Provoost>nodes because they have 16 different shitcoins. So even that, I would not assume

00:33:46.310 --> 00:33:49.350
<v Sjors Provoost>that, you know, we know from the network in general that lots of people don't

00:33:49.350 --> 00:33:53.640
<v Sjors Provoost>upgrade nodes. And that one year is pretty short, and then… yes, but you can't

00:33:53.640 --> 00:33:56.460
<v Sjors Provoost>tell from the nodes whether they're the economic majority or not. That might just

00:33:56.460 --> 00:33:59.160
<v Sjors Provoost>you know be a few critical players that would do the trick here.

00:33:59.160 --> 00:34:04.500
<v Aaron van Wirdum>Yes, I I can't be sure. I'm not sure. I'm you know

00:34:04.500 --> 00:34:08.900
<v Aaron van Wirdum>speculating, I'm explaining the argument, but the opposite is also true that now

00:34:08.900 --> 00:34:13.780
<v Aaron van Wirdum>that LOT is true exist some group of users will almost certainly run it and that

00:34:13.780 --> 00:34:18.580
<v Aaron van Wirdum>introduces you know maybe greater risks than if it was included in Core, because

00:34:18.580 --> 00:34:23.620
<v Aaron van Wirdum>that would increase the chances of success for, you know, a LOT is true,

00:34:23.800 --> 00:34:26.340
<v Aaron van Wirdum>basically, or the majority upgrading.

00:34:26.740 --> 00:34:30.620
<v Sjors Provoost>Yeah, it really depends on who that group is. Because if that group is just some

00:34:30.620 --> 00:34:36.350
<v Sjors Provoost>random people who are not economically important, then, you know,

00:34:36.610 --> 00:34:40.730
<v Sjors Provoost>they're experiencing the problems and nobody else notices anything.

00:34:41.400 --> 00:34:45.960
<v Aaron van Wirdum>Yeah, so that's true. If it's a very small group, that might be true. But the

00:34:45.960 --> 00:34:50.340
<v Aaron van Wirdum>question is how small or how big does that group need to be for this to become a problem?

00:34:50.580 --> 00:34:50.860
<v Sjors Provoost>Yeah.

00:34:50.940 --> 00:34:55.220
<v Aaron van Wirdum>And because they have a very, they have an asymmetric, is that the correct

00:34:55.220 --> 00:34:55.820
<v Aaron van Wirdum>English word?

00:34:56.620 --> 00:34:57.020
<v Sjors Provoost>Yeah.

00:34:57.440 --> 00:34:58.140
<v Aaron van Wirdum>Asymmetric advantage.

00:34:58.560 --> 00:34:58.900
<v Sjors Provoost>There's an asymmetry there.

00:34:59.040 --> 00:35:02.380
<v Aaron van Wirdum>Asymmetry, yeah. They have this advantage because their chain can never be

00:35:02.380 --> 00:35:07.720
<v Aaron van Wirdum>reorged away. Or the LOT is false chain, so to say, can be reorged away.

00:35:08.830 --> 00:35:13.590
<v Sjors Provoost>That's true, but their chain might never grow. So that's also a risk. So I don't

00:35:13.590 --> 00:35:16.990
<v Sjors Provoost>know if it's a it's not a complete advantage, it's not a strict advantage, right?

00:35:17.950 --> 00:35:19.770
<v Aaron van Wirdum>I think it's definitely a strict advantage.

00:35:20.070 --> 00:35:24.930
<v Sjors Provoost>Well, I mean, the advantage is you can't be re-orged. The disadvantage is your

00:35:24.930 --> 00:35:28.750
<v Sjors Provoost>chain might never grow. And I don't know which of those two is…

00:35:28.750 --> 00:35:32.910
<v Aaron van Wirdum>It will probably grow, right? It depends on how big that group is again. And

00:35:32.910 --> 00:35:35.310
<v Aaron van Wirdum>that's not something we can objectively measure.

00:35:35.570 --> 00:35:35.670
<v Sjors Provoost>No.

00:35:37.090 --> 00:35:39.130
<v Aaron van Wirdum>And I guess that's sort of what it comes down to.

00:35:39.310 --> 00:35:43.330
<v Sjors Provoost>And even retroactively we can't, right? We still don't know what really caused

00:35:43.330 --> 00:35:47.990
<v Sjors Provoost>the SegWit activation, even four years afterwards. So that gives you an idea of

00:35:47.990 --> 00:35:51.230
<v Sjors Provoost>how difficult it is to know what these forces really are.

00:35:51.750 --> 00:35:56.270
<v Aaron van Wirdum>Yes. Well, so that's where we agree. I think it's very difficult to know either way.

00:35:57.340 --> 00:35:59.990
<v Sjors Provoost>Yeah. So, you know, from the...

00:35:59.990 --> 00:36:03.650
<v Aaron van Wirdum>So I'm sort of on the fence about it. Not even, there might still be a

00:36:03.650 --> 00:36:08.250
<v Aaron van Wirdum>LOT is true minority that, or, you know, maybe even a majority, you know, that

00:36:08.250 --> 00:36:09.130
<v Aaron van Wirdum>might still happen.

00:36:09.510 --> 00:36:09.650
<v Sjors Provoost>Yeah.

00:36:10.470 --> 00:36:10.910
<v Aaron van Wirdum>So...

00:36:10.910 --> 00:36:14.570
<v Sjors Provoost>Another interesting thought experiment then is to say, well, okay, so there's

00:36:14.570 --> 00:36:18.550
<v Sjors Provoost>always going to be a LOT is true group for any soft fork. But what about a

00:36:18.550 --> 00:36:23.700
<v Sjors Provoost>soft fork that has no community support? What about a... Some arbitrary group of

00:36:23.700 --> 00:36:27.960
<v Sjors Provoost>people just decides to run their own soft fork because they want to. Maybe

00:36:27.960 --> 00:36:32.720
<v Sjors Provoost>somebody wants to shrink the coin supply. You know, set the coin issuance to zero

00:36:32.720 --> 00:36:37.020
<v Sjors Provoost>tomorrow or reduce the block size to 300 kilobytes. And they could say, well,

00:36:37.280 --> 00:36:40.820
<v Sjors Provoost>because it's a soft fork and because I run a LOT is true node, there could be

00:36:40.820 --> 00:36:45.020
<v Sjors Provoost>others who run a LOT is true node. Therefore, it must activate and everybody

00:36:45.020 --> 00:36:48.680
<v Sjors Provoost>should run this node. So that would be absurd. So it's clear that there is a

00:36:48.680 --> 00:36:54.460
<v Sjors Provoost>limit to this game theory. You can always think of some soft fork and some small

00:36:54.460 --> 00:37:00.370
<v Sjors Provoost>community that will just say this and just completely fail so we come

00:37:00.370 --> 00:37:04.330
<v Sjors Provoost>back to you have to estimate how big and how powerful this thing is and I don't

00:37:04.330 --> 00:37:05.990
<v Sjors Provoost>even know what the metric is.

00:37:05.990 --> 00:37:10.810
<v Aaron van Wirdum>Yes, but also how harmful the upgrade is because that's I would say that's sort

00:37:10.810 --> 00:37:15.530
<v Aaron van Wirdum>of the answer to your point there that if the upgrade itself is considered

00:37:15.530 --> 00:37:20.030
<v Aaron van Wirdum>valuable, then there's very little cost for people to just switch to the other

00:37:20.030 --> 00:37:25.090
<v Aaron van Wirdum>chain you know the chain that can't be reorged and that has to upgrade that's

00:37:25.090 --> 00:37:30.590
<v Aaron van Wirdum>valuable that's a pretty good reason to actually switch while switching to a

00:37:30.590 --> 00:37:34.710
<v Aaron van Wirdum>chain even if it can't be reorged that you know screws with the coin limit or

00:37:34.710 --> 00:37:39.500
<v Aaron van Wirdum>that kind of stuff, that's much bigger disincentive, also a bigger disincentive

00:37:39.500 --> 00:37:40.500
<v Aaron van Wirdum>for miners to switch.

00:37:40.500 --> 00:37:46.060
<v Sjors Provoost>But some people might say that a you know maybe a smaller coin so a smaller block

00:37:46.060 --> 00:37:46.780
<v Sjors Provoost>size is safer.

00:37:47.310 --> 00:37:52.430
<v Aaron van Wirdum>Well, they are free to fork off. That's also possible. You know, it is possible

00:37:52.430 --> 00:37:56.910
<v Aaron van Wirdum>even, we didn't even discuss that, but it is possible that the chain split is

00:37:56.910 --> 00:38:02.750
<v Aaron van Wirdum>lasting, that it will just forever be a LOT is true minority chain and a LOT

00:38:02.750 --> 00:38:06.940
<v Aaron van Wirdum>is false majority chain. Now we have, you know, like the Bitcoin-Bitcoin Cash

00:38:06.940 --> 00:38:09.200
<v Aaron van Wirdum>split or something like that. We just have two coins.

00:38:09.460 --> 00:38:13.360
<v Sjors Provoost>With the big, scary, like, [unclear] of Damocles hanging above it.

00:38:13.720 --> 00:38:19.540
<v Aaron van Wirdum>Yeah. Unless maybe a checkpoint would have to be included in the majority

00:38:19.540 --> 00:38:21.060
<v Aaron van Wirdum>chain, which would be very ugly.

00:38:21.620 --> 00:38:27.640
<v Sjors Provoost>You could come up with some sort of incompatible software to prevent the reorg in the future.

00:38:28.640 --> 00:38:31.640
<v Aaron van Wirdum>Okay, sure. So let's work towards the end of this episode.

00:38:32.070 --> 00:38:35.330
<v Sjors Provoost>Yeah, I think we've covered a lot of different arguments and explained that this

00:38:35.330 --> 00:38:36.450
<v Sjors Provoost>is pretty complicated.

00:38:36.830 --> 00:38:41.010
<v Aaron van Wirdum>Yeah, I want to... What do you think is going to happen? That's sort of my last

00:38:41.010 --> 00:38:43.650
<v Aaron van Wirdum>question. How do you anticipate this playing out?

00:38:43.810 --> 00:38:47.070
<v Sjors Provoost>Well, I started looking a little bit at the nitty-gritty, for example, today at

00:38:47.070 --> 00:38:51.630
<v Sjors Provoost>one of the pull requests that Luke Dashjr opened to implement BIP 8 in general.

00:38:52.190 --> 00:38:56.090
<v Sjors Provoost>Not specifically for Taproot, I believe. And there's already complexities with

00:38:56.090 --> 00:39:00.910
<v Sjors Provoost>this LOT is true thing engaged because you need to think about how how the

00:39:00.910 --> 00:39:05.610
<v Sjors Provoost>peer-to-peer network should behave and so from a principle of least action like

00:39:05.610 --> 00:39:09.990
<v Sjors Provoost>what is the least work for developers to do, removing basically setting LOT to

00:39:09.990 --> 00:39:15.770
<v Sjors Provoost>false probably results in an easier code which will get merged earlier. And even

00:39:15.770 --> 00:39:20.830
<v Sjors Provoost>if Luke is like, well, I will only do this if it's set to true, then somebody

00:39:20.830 --> 00:39:24.530
<v Sjors Provoost>else will make a pull request that sets it to false and gets merged earlier. So I

00:39:24.530 --> 00:39:29.930
<v Sjors Provoost>think for me, just a what happens when lazy people, and I mean lazy in the most

00:39:29.930 --> 00:39:34.330
<v Sjors Provoost>respectful way, but just what is the path of least resistance? It's probably a

00:39:34.330 --> 00:39:36.870
<v Sjors Provoost>LOT is false, just from an engineering point of view.

00:39:37.410 --> 00:39:42.030
<v Aaron van Wirdum>Yeah, so LOT is false in Bitcoin Core is what you would expect in that case.

00:39:42.190 --> 00:39:44.940
<v Sjors Provoost>Yes, and then somebody else would implement LOT is true. And that might have…

00:39:44.570 --> 00:39:46.290
<v Aaron van Wirdum>And some alt client for sure.

00:39:46.650 --> 00:39:48.490
<v Sjors Provoost>Yeah, and that might have no code review.

00:39:49.510 --> 00:39:51.870
<v Aaron van Wirdum>But I mean, it's just a parameter setting, right?

00:39:52.090 --> 00:39:53.920
<v Sjors Provoost>No, no, no, it's more complicated… because of the…

00:39:53.510 --> 00:39:55.030
<v Aaron van Wirdum>A little bit more, yeah, you're right.

00:39:55.110 --> 00:39:58.230
<v Sjors Provoost>Exactly, because of how it's going to interact with its peers and what it's going

00:39:58.230 --> 00:40:00.330
<v Sjors Provoost>to do when there's a chain split etc. So yeah.

00:40:00.720 --> 00:40:04.720
<v Aaron van Wirdum>Yeah, what do you think about the scenario that neither is implemented in Bitcoin

00:40:04.720 --> 00:40:06.880
<v Aaron van Wirdum>Core? Do you see that happening? Because, you know...

00:40:06.620 --> 00:40:07.230
<v Sjors Provoost>Neither?

00:40:07.870 --> 00:40:09.310
<v Aaron van Wirdum>Yeah, neither…

00:40:09.310 --> 00:40:11.360
<v Sjors Provoost>A LOT is null? Or...

00:40:11.360 --> 00:40:14.540
<v Aaron van Wirdum>Just no activation mechanism because there's no consensus for one.

00:40:15.140 --> 00:40:18.400
<v Sjors Provoost>No, I think... No, I think they'll be fine.

00:40:18.860 --> 00:40:19.020
<v Aaron van Wirdum>Yeah.

00:40:19.300 --> 00:40:22.260
<v Sjors Provoost>I mean, I [unclear] predict the future, but my guess is that a LOT is false,

00:40:23.440 --> 00:40:27.880
<v Sjors Provoost>will… won't be objected to as much as some people might think.

00:40:28.220 --> 00:40:30.260
<v Aaron van Wirdum>All right. Well, we'll see then, I guess.

00:40:30.960 --> 00:40:35.380
<v Sjors Provoost>Yeah, we'll see. This might be the dumbest thing we've ever said. Thank you for

00:40:35.380 --> 00:40:36.920
<v Sjors Provoost>listening to the Van Wirdum Sjorsnado.

00:40:37.380 --> 00:40:37.940
<v Aaron van Wirdum>There you go.

