Aaron van Wirdum Live from Utrecht, this is Van Wirdum Sjorsnado.
Transcript
Sjors Provoost Hello, welcome back.
Aaron van Wirdum Thank you, Sjors.
Sjors Provoost Was it warm?
Aaron van Wirdum Yeah, it's warm here as well.
Sjors Provoost Was it fun?
Aaron van Wirdum It was a lot of fun.
Sjors Provoost Cool.
Aaron van Wirdum Yeah, Bitcoin 2021 was a lot of fun. I recommend it.
Sjors Provoost All right.
Aaron van Wirdum I recommend going, Sjors.
Sjors Provoost I'll think about it.
Aaron van Wirdum Check it out next time.
Sjors Provoost Yeah, I think I FOMO bought the 2022 ticket.
Aaron van Wirdum Yeah, actually, so I think you read that, but we're thinking of, well, we're not just thinking about it. We're going to wrap up some kind of deal for open source developers. Details to be announced and to be figured out, I think. But we're we're playing… on planning… on some sort of I don't know, access for…
Sjors Provoost So now I have a short Bitcoin position for no good reason. Okay, awesome.
Aaron van Wirdum Yeah, but yeah, being back in the Netherlands is nice. It's just as hot here as it was in Miami.
Sjors Provoost Yep, except no air conditioning.
Aaron van Wirdum Except, yeah, that's the big difference. At least in Miami, at least in the United States, if you're inside somewhere, then it's cool. But in the Netherlands, you're just going to be sweating inside all day long.
Sjors Provoost Yep.
Aaron van Wirdum The other thing that happened last week, besides me returning to the great country of the Netherlands, is Sjors?
Sjors Provoost Taproot.
Aaron van Wirdum Taproot locks in.
Sjors Provoost And not just locked in, but locked underscore in.
Aaron van Wirdum We did it.
Sjors Provoost We did. Well, we didn't, but people did.
Aaron van Wirdum Sure, sure. We're going to discuss Taproot. We're going to discuss Taproot one more time, I think. This is going to be the last time we've discussed Taproot itself. We've then had, I think, two or maybe even three episodes on soft fork activation, Taproot activation.
Sjors Provoost Yep.
Aaron van Wirdum Two probably right? And… or maybe one on Speedy Trial. Anyways a bunch of them. And now we're gonna do one more on Taproot lock in. So let's let's start at the beginning. What does Taproot lock in mean? Recap a little bit for our listeners that maybe missed previous episodes. What does it mean that Taproot has locked in?
Sjors Provoost Right, so for every soft fork there is at least as of you know the last six seven years, there is this mechanism, BIP 9, BIP 8, it kind of varies. But the idea is that a soft fork can be in multiple states. It's a state machine. And the first state it would be in is defined, defined… And defined just means this soft fork exists. We know about it. Then there's a soft fork state called started. And that means that miners could… can signal for it. And so that means that when a soft fork is started, all nodes are paying attention to that signal. And then the...
Aaron van Wirdum And the signal is just a bit of data in a Bitcoin block, in the Bitcoin block they mine.
Sjors Provoost Yeah, in the header, there's just a bit, yeah, a bit is flagged.
Aaron van Wirdum So nodes start counting miner signaling, yep.
Sjors Provoost Yeah, and if they're signaling, you know, that way before a BIP is, sorry, before a soft fork is in the started state, then that signal is just noise, it's ignored. But there are some nodes might look at that and say, hey, I'm seeing some signaling. I don't understand what this is. And they might warn the user saying that there might be a soft fork that you don't know about. Anyway, this signaling took place. It crossed a certain threshold. And then it went into the next state, which is called locked in. And it's going to remain in that state until block number 709,632.
Aaron van Wirdum Yeah, so we used the Speedy Trial activation mechanism, which we discussed discussed in the previous episode, which meant that miners had about three months to signal support. And if 90% of miners would signal support within within one difficulty period, that means the soft fork would be locked in, which means it would activate later. So that happened last week. Taproot got locked in. And like you said, that means it's going to activate at block [unclear]… 709,632, which is scheduled to be mined in November of this year.
Sjors Provoost Well, it's not scheduled, but it's expected to be mined in November of this year.
Aaron van Wirdum Right. The other thing I guess is worth noting because, you know, we also had the episode about the different activation mechanisms and sort of the alternative clients that did... something very similar but slightly different, without getting into the details of that one, we can just safely say at this point that will also activate Taproot at this same block presumably in November.
Sjors Provoost Yes, so I would assume that at this point there's no point in running that alternative client anymore.
Aaron van Wirdum Yeah, I tend to agree with that. At this point, it's probably better to just run Bitcoin Core 0.21.1 or any newer Bitcoin Core release that's upcoming.
Sjors Provoost Yes, exactly.
Aaron van Wirdum Um and that's that's basically for those that don't know that because I've seen some questions about that, um you know people asking how to prepare for Taproot or how to get ready. That's basically as simple as it is: upgrades to Bitcoin Core 0.21.1 or a newer version of Bitcoin Core or potentially if that's what you're into some alternative um client or implementation that also enforces Taproot, but I don't know which ones these…
Sjors Provoost Yeah, I think at the moment none do. I know that libbitcoin is working on it.
Aaron van Wirdum Well, apart from the alternative activation client then. Yeah,
Sjors Provoost Exactly. So I think libbitcoin and btcd are working on Taproot, but they haven't done it yet. So you can't run their code yet to check for Taproot rules.
Aaron van Wirdum So at this point, basically just upgrade to Bitcoin Core 0.21.1. I guess it's our... That's the way to do it.
Sjors Provoost And if you really want to use the cool features that are going to be in Taproot, like wallet support, we'll get to that later. But then you're going to need Bitcoin Core version 22, which will come out later. But you don't have to do that. I think I could just finish the list of states because we were talking about it. So it starts with defined, then it's started, then it's locked in, which is where we're now. Then it becomes active. And active just means what what you think it means. It means the rules apply. And, well, that's good. That's what's going to happen. And it's going to stay there forever. Well, at some point, a new version might be released that just assumes it's active and doesn't explicitly say it anymore. It could have also reached the state failed.
Aaron van Wirdum Right. But it didn't.
Sjors Provoost It didn't.
Aaron van Wirdum One thing. Okay. I noticed, and that's another thing I saw questions about, so let me jump right to that point. Luke Jr., Luke Dashjr, he has this node graph thing on his special website where it says that 25% of nodes on the network right now are ready for Taproot. I've seen some concern about that. So let's maybe detail what that means exactly.
Sjors Provoost Yeah, I'm assuming that means 25% of the nodes that Luke knows about. And there's only two ways you can, well, there's kind of three ways you can learn about a node. One is the easiest way the node connects to you and says, hello, I'm a node. So you can remember where that came from. The other is that you connect to it. And that requires it to be open to connections. It has to be a listening node, as it's called. Otherwise, you can't connect to it. But there's also this gossiping system we talked about in another episode where nodes gossip addresses of nodes. But the only addresses that are gossiped are of nodes that are listening. So the addresses that are being gossiped around are a subset of all the nodes that actually exist, because there is absolutely no point in gossiping about a node that you know is not listening. And of course, you know, nodes might be gossiping about nodes that are long dead, but are just gone.
Aaron van Wirdum Two questions. One.
Sjors Provoost So a quarter of, you know, is kind of a vague number. It probably means a quarter of mostly listening nodes, which is not all the nodes. And the other thing to consider is, you know, the phenomena of astroturfing. I can spin up a million nodes tomorrow. Well, I can't because it's really expensive. But, you know. Michael Saylor could spin up a million nodes tomorrow.
Aaron van Wirdum A rich version of you could do it. Michael Saylor probably, well, is he technical enough?
Sjors Provoost And, you know, Blue Matt could probably spin up one node and make it look like a million nodes by messing with DNS because he knows how to do that. I don't. But, yeah. Anyway, continue.
Aaron van Wirdum I'm going to skip my first question. Because that was going to be a joke and it doesn't work anymore. So I'm going to go straight to my second question.
Sjors Provoost Well, we can do your joke and have the editor move the joke to before what I just said.
Aaron van Wirdum No, I'm just going to skip it altogether. My question was, is this a problem? 25% nodes are ready. Is this a problem? Is it a problem that it's not more?
Sjors Provoost Oh, I was going to say, why would it be a problem that nodes are ready?
Aaron van Wirdum No, that it's not 100%.
Sjors Provoost No, it's quite early. So the whole idea of the Speedy Trial was to see if there was any hope of activating this thing. While the Speedy Trial is in progress, you don't have to check the Taproot rules. There's no reason for it. All you want to do is make sure that you're checking the Taproot rules before it activates. So you could have done it before the Speedy Trial, or you can start doing it now-ish. You have until October or November. So take your time, but don't forget.
Aaron van Wirdum What's the problem if people do forget? You want to get into that? Let's get into that briefly.
Sjors Provoost [unclear]
Aaron van Wirdum Why is it important that people actually do upgrade before November?
Sjors Provoost So in a certain sense for yourself, it's probably not a problem unless somebody's really really motivated to mess with you um but or if there's like real big problems on the network that that are sort of outside what you know but you know big reorgs um if you know if suddenly a huge reorg happens and you don't understand what's going on, it probably might have something to do with somebody not obeying the Taproot rules and getting punished for it. So I guess one scenario we could describe is you are running an old node, and you're receiving coins, you're just using regular SegWit, and those coins are coming from a Taproot address, or so you think. So you're looking at a Block Explorer, and you see that these coins are coming from a Taproot address. But it turns out that this transaction is actually fake. It's not actually a Taproot transaction. It has a Schnorr signature, but somebody flipped a bit around. So for all the nodes that do run Taproot, they can see that that transaction is invalid. And you should not be seeing that transaction normally because there's all sorts of defense mechanisms against that. Your mempool won't see it. So you'll only see it if it's in a block. So somebody would have to make an invalid block and give it to you. But they might be able to do that with an Eclipse attack. So then something would look like, oh, somebody just paid [unclear] Taproot address. I haven't upgraded. Okay, fine. I'm accepting that confirmation. And I'm going to send you the Lambo. That's sort of your scenario.
Aaron van Wirdum The point being, if I'm going to summarize that in two sentences, is that we want the whole network to be in consensus and see the same blocks and see the same transactions. So if there's a significant part or even a small part of the network that's not enforcing the same rules, then it could become messy if miners start messing around.
Sjors Provoost So that's actually the second scenario I would say. So the first one I described was really just your own interest. It's like somebody might be messing with you in the... convoluted way I just described.
Aaron van Wirdum Sure.
Sjors Provoost But the other reason is more systemic. If you end up with very few people actually enforcing the rules, some miner might mine an invalid block, even accidentally. And other miners, if they're also not verifying the rules, which is be building on top of that block, and your node will just be accepting those blocks. But then one day, you do upgrade, or somebody else... some exchange or somebody important. And they certainly say, hey, the last one year worth of blocks is invalid. What the hell is going on? And we end up with a complete disaster.
Aaron van Wirdum Yeah, that's it.
Sjors Provoost So you don't want a situation where, where miners are building on top of blocks that are invalid, like, that would assume that the miners aren't enforcing it and that nobody else in the economic system isn't enforcing it. And that's, that's quite bad.
Aaron van Wirdum Yeah, that's a good way of separating the two concerns, I guess. It's partly for your own benefits to upgrade, and it's also partly to everyone's benefit if everyone upgrades.
Sjors Provoost Yeah, and not just you, but everybody you know, and especially every exchange you're using. Yeah if you're using one uh
Aaron van Wirdum But I think to get back to your previous point, we're not too concerned about this. The whole point of Speedy Trial was that it's going to be speedy, and now people have a few more months to upgrade, which should hopefully be enough for you know, a lot of people, yes, as well as miners. And in this scenario that it… even if it's just a majority of miners that's upgraded as the signaling suggests they have, then… then it's going to be fine either way more or less. You know, it's ideal if people actually enforce the rules, but at least they wouldn't split the network in that case.
Sjors Provoost Yeah, it gives you a little bit more time to upgrade. But, you know, it's like defense in depth, right? So if you don't upgrade, well, the miners have upgraded, so you're still okay. And even if they haven't, there's still some fallback mechanisms. But you don't want to rely on the last line of defense for this sort of stuff.
Aaron van Wirdum Yeah.
Sjors Provoost That's defense in depth.
Aaron van Wirdum I want to move on to the next point.
Sjors Provoost Okay.
Aaron van Wirdum By the way, Sjors, it's pretty warm in here.
Sjors Provoost I know.
Aaron van Wirdum I'm sweating a lot.
Sjors Provoost I know.
Aaron van Wirdum A lot.
Sjors Provoost Oh, no.
Aaron van Wirdum Let's move on. I'm trying to concentrate on… Taproot activation. Taproot lock-in. No, let's focus on Taproot activation. That's the next point. All right, so what if it's activated? What can we expect? What is the Bitcoin Core wallet going to do for us? Let's move to that point.
Sjors Provoost Yes.
Aaron van Wirdum Why should everyone be happy?
Sjors Provoost Well, let's first start with something really dull and boring before we go there, but it is Bitcoin Core related. So in the next, hopefully grandiose version of Bitcoin Core version 22, there's going to be a new RPC method that will tell you...
Aaron van Wirdum What is an RPC method?
Sjors Provoost It's sort of a command line thing that you can use against your node. Or you can do it in the little window.
Aaron van Wirdum You can plug software in it and programs and do stuff with your node, right?
Sjors Provoost Yeah, exactly. So it's not in the graphical interface, but it is pretty easy to use. And this will tell you how many miners are still signaling. Because the idea is that during this lock-in phase, miners should continue to signal. They don't have to, but... it's recommended so that you can see that miners upgraded and didn't accidentally downgrade or, you know, forgot that they upgraded. So it'll be possible to monitor that, monitor that. So that's good. But maybe that's, you know, is that all we're going to get for Taproot? Like being able to see if it exists probably, you know, maybe you want to do a little bit more. So the other thing that Bitcoin Core is working on is support for wallets that actually have Taproot.
Aaron van Wirdum Nice.
Sjors Provoost And hopefully, well, definitely some of that will be in version 22, but hopefully a lot of it. I did not mean that as a pun, by the way. So the first thing that would be in the wallet is a way to watch these Taproot addresses. So they would be watch only. You wouldn't be able to spend from them, but you'd be able to watch them.
Aaron van Wirdum Right.
Sjors Provoost Really any kind. No, those would only be very simple Taproot addresses too. So for example, you're receiving just on a public key or you can have some scripts, but only very simple scripts. So in other words, you cannot do some super sophisticated multi-sig setup yet in Bitcoin Core, not even to watch it. So this is all just one step at a time.
Aaron van Wirdum We're talking about Bitcoin Core. 22, right? The upcoming release.
Sjors Provoost Yeah, and that part is already in it. So I think that'll make it into the release.
Aaron van Wirdum So you can monitor what's going on on the network, basically?
Sjors Provoost Well, you can create a watch-only wallet. It's just that if you want to spend it, now you need to do something manually. So the next step, of course, is that Bitcoin Core can also sign Taproot transactions. But again, only very simple Taproot transactions. And from the last time I checked, the simplest...
Aaron van Wirdum So to recap that real brief in like 10 seconds, because we haven't mentioned this at all yet, but Taproot allows for all sorts of complex spending conditions. And in an ideal scenario, spending... from these conditions will be indistinguishable from a regular transaction.
Sjors Provoost Yeah, so that regular transaction is the thing that's been implemented.
Aaron van Wirdum Yeah, there are also regular transactions, even in Taproot, and that's going to be implemented in Bitcoin Core 22, is that what you said?
Sjors Provoost Yeah, at least in some experimental part of it, right? It's probably not going to be on by default.
Aaron van Wirdum So you can't do the very complex stuff yet in Bitcoin Core 22, but you can do the simple spends that are actual… still Taproot spends that look like a Taproot spend.
Sjors Provoost Yeah, so you can just create a receive address, you know, that starts with 1BCP, I think.
Aaron van Wirdum BC1P.
Sjors Provoost Oh, BC1P, yeah. Instead of BC1Q, it starts with BC1P. And so you'll be able to receive coins on that. You can already try it on Signet because the Taproot is already active there. As well as some slightly more complicated scenarios. But then the last time I checked it, it would not give you the correct fee if it was a more complicated scenario. So there's a lot of work to be done.
Aaron van Wirdum Right. To be very clear, we're talking about Bitcoin Core 22 now. Anyone else, any wallet, anyone clever enough to work with this stuff can, of course, starting in November, do all of this fancy Taproot stuff. It's just Bitcoin Core is sort of taking it slow. They're starting with regular Taproot transactions. And then down the line, presumably more options will be added.
Sjors Provoost Exactly. So this is the Bitcoin Core. The wallet's part of Bitcoin Core, right? So the Bitcoin Core node will verify all those complicated conditions. So you can use them. It's just that you'll have to write your own wallet to do it. But it's nice to have Bitcoin Core also have an example wallet, if only so people can sanity check that it really works as they think it does. So if you're really impatient and you want to roll your own wallet, I mean, first of all, only do that on testnet and on Signet. But you can look at the... The Chaincode workshop that they did two years ago, they did a Taproot workshop. And part of that workshop was Python notebooks. In those Python notebooks, you would construct Taproot transactions completely from scratch, like starting with two public keys and adding them up and creating all these. Very cool. And there might be some tweaks that need to be made because I don't know if they updated the workshop with all the latest changes to the specification. But you can use that to roll your own wallet. Like I said, like a test wallet. That's the only one I'm aware of. What I'm hoping to see is hardware wallets implement this stuff.
Aaron van Wirdum Yeah, I'm personally not aware of a lot of Taproot software that's actually in development. And that probably makes sense, right? Software developers in general presumably want to wait before spending a lot of time working on Taproot stuff until Taproot is actually locked in.
Sjors Provoost It depends on their business plan if they have any, right? Maybe they want to be the first to market. Then it makes sense to have everything ready, long before it activates, but not…
Aaron van Wirdum No, but [unclear]. I mean, up until last week, there was a, you know, real risk that it would be a huge [unclear] of time if it hadn't locked in or activated at all. So it makes sense that developers will only start focusing on it now, don't you think?
Sjors Provoost It does. It depends on what your plan is. Like, if you have a plan that you know you can execute in six months, then sure, wait for the lock-in. If you have a plan that takes two years, then maybe you were already working on this.
Aaron van Wirdum Fair enough.
Sjors Provoost That I don't know.
Aaron van Wirdum Do you have any idea how much I'm sweating?
Sjors Provoost No, but the nice thing is because of this pandemic, we have a nice social distancing. So it's not my problem.
Aaron van Wirdum All right, move on, move on. We're moving on.
Sjors Provoost Yeah, I just wanted to add that just to compare to the past. So when SegWit came alive, when it was activated after much drama, after much more time as well, I don't think there were any wallets or maybe one. But there was no Bitcoin Core support for it in the wallet. That took another year. And the reason for that was because the Bitcoin Core wallet was an absolute mess. And now it is not a mess. It is much more flexible, much more powerful, which is why adding Taproot to it is going a lot faster than last time. And we might even have some wallet support before it activates. So that's very cool. But we'll just have to see what the other people are doing. And maybe one more point that I have is outside of wallets, we know that the Lightning folks are really excited about Taproot because it allows them to do cool stuff. So I'm looking forward to see what they do, and it might make sense for them to try all that stuff on Signet, and just have it ready to maybe even already have it in shipped code and just say, like, this thing is… we're going to start using Taproot for new channels as soon as it activates. And it's already rolled out, so all your peers already have Taproot too. You don't have to wait.
Aaron van Wirdum I think the main benefit is that Lightning closing… as long as it's cooperative, will in fact look like regular Bitcoin transactions.
Sjors Provoost That's one advantage. The other is that if you're doing a transaction, you have a payment hash right now. And that payment hash is sort of a fingerprint that is being given to all the intermediate nodes. And with Taproot, you can use points, a different point for each node in the process. So you're going to have much better privacy.
Aaron van Wirdum And this is thanks to Schnorr signatures?
Sjors Provoost This is thanks to Schnorr, yes.
Aaron van Wirdum Yeah, which is part of the Taproot upgrade, yeah.
Sjors Provoost Yeah. And I have no idea how easy that is to implement. Maybe somebody already did. Maybe they're going to try and find out that it's quite hard. I'm not up to date. We should talk to somebody who is more up to date on Lightning.
Aaron van Wirdum That's an excellent idea, Sjors. Also a little bit of a spoiler. Or no, a teaser… A teaser. That's much better. Stay tuned, folks. Sjors, last question. I think this is the last question for me. What did we… Okay, so we've spoken about... Well, we haven't spoken about Taproot a lot. That was a previous episode. We've spoken about what people can expect, what lock-in exactly means. What have we learned about soft fork upgrades? Have we learned anything now that this one was successful?
Sjors Provoost I'm hoping that we have reduced our PTSD when it comes to soft forks. Because we had pretty, like, it only took three… difficulty adjustment periods to get the lock-in. It was at like 99%, so we didn't even need to lower the threshold to 95%. Could have done it at 100%. Well, could not have done it at 100%, but we could have done it at 99%.
Aaron van Wirdum 98% or something, yeah.
Sjors Provoost So I'm pretty sure we could have just gotten 100% if we were really stubborn about it and miners were willing to re-org each other. But I mean, that's good news. Maybe it's even scary, because if it's so easy to convince miners. But we know that people have worked really hard on trying to get this done. So I'm happy to see that. Hopefully for the next soft forks that we have in mind, things can be, you know, scenarios can be discussed without too much drama. You can still think about all sorts of scenarios, but there will be maybe a little bit less emotion because we know it doesn't have to be bad.
Aaron van Wirdum Yeah, well, there are definitely still some lingering disagreements on what to do if miners would not cooperate as easily. Of course, yeah, Mandatory signaling or not is sort of the main one I think where there's still some difference of perspectives on whether or not that's that's a good plan B, um… So we have not resolved that at all, but you know, since miners were going to cooperate, there was no way of resolving it now probably, so…
Sjors Provoost No, and I think this is a good time, you know, the next year or so to think about these mechanisms in general without a specific soft fork in mind.
Aaron van Wirdum It's probably good to continue this discussion and the discussion is sort of continuing in different venues and places.
Sjors Provoost But also just the code because it's very annoying to see a pull request that implements a whole new way of doing things right when you need it.
Aaron van Wirdum Right, so you're referring to BIP-8, for example.
Sjors Provoost Yeah, it would have been nice to have that BIP-8 pull request if that had happened two years ago with some dummy soft fork just to show how it works. We could have probably spent more time on it. But I can also see why if it's not urgent, nobody's going to review it, nobody's going to write it. So it's always difficult with these things. They never happen when you need them.
Aaron van Wirdum Yeah, that's always the sort of double-edged thing going on there.
Sjors Provoost Yeah, but I'm happy to see that this thing, uh… this thing so far is going very well.
Aaron van Wirdum So am I. Okay, I'm… got… I got one bonus question. Okay, what do you have any idea or wishes or expectations of what could be the next fork?
Sjors Provoost Oh, yeah, um… I I would say SIGHASH_NOINPUT because it allows another simplification of Lightning. Which is good, because I think one of the biggest challenges with Lightning is that it's pretty complicated.
Aaron van Wirdum We had an episode on SIGHASH_NOINPUT, right?
Sjors Provoost I believe we did.
Aaron van Wirdum I think so.
Sjors Provoost That's really the biggest one. I mean, it'd be nice to have the great consensus cleanup at some point. That's one of those things that are not really urgent, but should happen.
Aaron van Wirdum I think other candidates, or at least there are proponents for… CHECKTEMPLATEVERIFY, Jeremy Rubin’s thing.
Sjors Provoost OP_SECURETHEBAG.
Aaron van Wirdum Yeah. And then, you know, Paul Sztorc, of course, wants BIP 300 for drivechains.
Sjors Provoost Yeah, that's where we started going into territory where I think it's going to be a lot of discussion before that happens.
Aaron van Wirdum It seems like SIGHASH_NOINPUT. It has sort of a path of least resistance thing going on for it. Maybe that's my general impression.
Sjors Provoost I would say either one of the cleanups, just to, you know, try another soft fork mechanism with an innocent soft fork, or ANYPREVOUT, because that is a very, very small change. Compared to Taproot, it is, I don't know, 50 times simpler.
Aaron van Wirdum Right.
Sjors Provoost And it's on top of Taproot. So my guess is either that will happen or one of the cleanups.
Aaron van Wirdum All right.
Sjors Provoost Hopefully soon, TM.
Aaron van Wirdum Two weeks? No.
Sjors Provoost Well, it has to happen after Taproot activates. Otherwise, it becomes a mess. But that's the only constraint. It could be a week after.
Aaron van Wirdum Yeah, technically we can do multiple soft forks at a time, right? So let me just ask you one more question.
Sjors Provoost We can signal whenever we want. I'm just saying that if the, sorry, if the, what was it? The Lightning related one. If we do that...
Aaron van Wirdum No input or ANYPREVOUT or whatever people call it.
Sjors Provoost That has to activate after Taproot because it uses Taproot. Right. Otherwise, it's a mess.
Aaron van Wirdum Got it. Yeah. Oh, yeah, that's true.
Sjors Provoost But it does not mean that you can't signal earlier because we know Taproot is locked in. So we can just signal now if somebody wanted to do it.
Aaron van Wirdum Right.
Sjors Provoost And then they just activate at the same time.
Aaron van Wirdum My question was going to be technically right now, I think since SegWit, if I'm not mistaken, we can do multiple soft forks at the same time?
Sjors Provoost Well, we already could. Signaling-wise, we already could. Yeah, BIP 9 is basically, we use that for OP_CSV, I think, for all sorts of things.
Aaron van Wirdum Do you think that's... Is it possible in practice at all to do several soft forks at the same time? Or is it really a one-at-a-time kind of deal?
Sjors Provoost No, I think it's possible. Because it depends, of course. If the soft forks are getting too close to each other in terms of code, you don't want to have too many if statements. But if the soft forks are sufficiently in parts of the code that don't interact, then I think it's fine to have two.
Aaron van Wirdum Upgrading Bitcoin is hard, Sjors. Doing two at the same time? Dividing attention between two different upgrades?
Sjors Provoost Well, I'm talking about whether it's technically possible.
Aaron van Wirdum No, I'm talking about whether it's practically possible.
Sjors Provoost Community-wise, I don't know. I mean, the other thing is you want to be careful that you don't shove a package up somebody's throat. So somebody might say, hey, we like this particular soft fork. But then you say, well, the next Bitcoin Core release is going to have both of them. Well, that's kind of annoying. So then you have to make it easier for miners to choose maybe which one they signal for. So there's a little bit of overhead there. Because I think right now, if you install Bitcoin Core 0.21.1 as a miner, it just signals unless you really tell it not to.
Aaron van Wirdum Yep. Just let's wrap this up.
Sjors Provoost All right.
Aaron van Wirdum Taproot has been, has locked in. It's going to activate in November. People, if you want to upgrade your nodes to Bitcoin Core 21.1, that's great. Or a newer one.
Sjors Provoost And I think that's it. So thank you for listening to the Van Wirdum Sjorsnado.
Aaron van Wirdum There you go.