Epicenter - Learn about Crypto, Blockchain, Ethereum, Bitcoin and Distributed Technologies - Jimmy Song: A Fork in the Road for Bitcoin?

Episode Date: June 27, 2017

After years of what has seemed like an endless debate, bitcoin may be at a crucial turning point in its relatively short lifetime. The question network scalability has divided the community into sever...al factions which are seemingly irreconcilable. However, in just a few weeks, the future of bitcoin may be decided as miners and users throw their support behind one of many proposals to propel the bitcoin network into a new era. Bitcoin Developer and Principal Architect at Paxos, Jimmy Song, joins us to discuss the different scalability proposals for which miners are currently signaling their support. Among others, Segregated Witness (BIP 141), Emergent Consensus (Bitcoin Unlimited) and SegWit2x (The New York Agreement), are gaining significant traction among miners. Will one of these proposals gain majority support, allowing for the network to upgrade with relative ease, or will we enter a situation where one proposal is backed by a strong minority of users, potentially forking the network into two? Topics covered in this episode: Jimmy’s background as a Bitcoin Developer and former VP of Engineering at Armory A broad overview of bitcoin network’s current situation An overview of the different scaling proposals for which miners are signaling their support Important dates coming up in July and August of 2017 The difference between Segregated Witness and SegWit2x The UASF and how it may affect SegWit2x implementation Episode links: BIP91: The SegWit Activation "Kludge" That Should Keep Bitcoin Whole Examining Bitmain’s Press Release BIP 148 UASF Q&A Greg Maxwell: "a hasty snapshot of a few of my views" UAHF: A contingency plan against UASF (BIP148) How to Give Everyone More Control "Bitcoin Scaling Agreement at Consensus 2017 Bitcoin, UASF and Skin in the Game UASF BIP148 Scenarios and Game Theory Why the UASF Segwit Scenario is Hopelessly Naive [bitcoin-discuss] [Bitcoin-segwit2x] Alpha Milestone This episode is hosted by Brian Fabian Crain and Sébastien Couture. Show notes and listening options: epicenter.tv/189

Transcript
Discussion (0)
Starting point is 00:00:00 This is Epicenter, episode 189 with guest Jimmy Song. This episode of Epicenter is brought you by Ledger and the Ledger NanoS. Half piece of mind in knowing your private keys are protected by industry standard physical security. Go to ledgerWalt.com to learn more. And by Shapeshift.io, the easiest, fastest, and most secure way to swap your digital assets. Don't run the risk of leaving your funds on a centralized exchange. Visit Shapeshift.com. I.O. to get started. Hi, welcome to Epicenter.
Starting point is 00:01:03 The show which talks about the technologies, projects, and startups driving decentralization and the global blockchain revolution. My name is Sebastian Quirio. And my name is Brian Robin Crane. We're here today with Jimmy Song. Jimmy is a Bitcoin developer. He used to be VP of Engineering in Armory. So if you remember that wallet.
Starting point is 00:01:21 Now he's working at Itbit slash Paxos. It is, you know, New York-based Bitcoin Exchange and Paxos is building kind of this is pretty electric technology for financial institutions. But the reason Jimmy is here today is that he's been writing just a series of really wonderful posts about the current situation in Bitcoin. You know, what's going on with soft fork, user-activated software, Hark fork, Segway 2X, New York Agreement, B-148, Bit 141. There's so much going on.
Starting point is 00:01:52 It's extremely complex. And I've been thinking a lot about this. You know, what's going to happen? What are the different probabilities? And I haven't found anyone kind of writing it, writing about this in the next. a nicer way than Jimmy in his post. So of course, we'll link to many of them in the show notes. And I'm really excited to talk with Jimmy today about all of this. So thanks so much for coming on. Thank you. You're way too kind. You're way too kind. That's just like that makes me feel so good.
Starting point is 00:02:18 Thank you. It's great being on. I haven't really been keeping up with a lot of this drama. I mean, like I kind of about sick of it a while ago. And then I found myself preparing for this episode and not really knowing what was going on and what were the different proposals. And I watched some of the videos that you did with other podcasts and read your articles. And it's a lot clearer now thanks to your elegant way of putting things and explaining things. Thank you so much. Thank you so much. I mean, I'm just honestly, most of the time I'm just translating technical jargon to what normal people read.
Starting point is 00:02:57 It's amazing how a lot of coders don't recognize that. when they say jargon, most of the people don't actually understand what they're talking about, even other coders. So, yeah, that's what I try to do with my articles. Yeah, no, exactly. And I think that's such an important thing, you know, because you have these, like, different, these conversations going on in different buckets, and there's not much inter, kind of connection between the two. So I'm glad that you're, you know, solving that a little bit. So before we're getting into all of this, do you want to give us a bit of a background? did you get into Bitcoin and blockchain originally? What has your journey been in this space?
Starting point is 00:03:38 Yeah, I mean, I think like a lot of people, I started in like 2011. I saw an article on Slashdot that said Bitcoin had just broken $1. And I was like, how come I've never heard of whatever this is? And I read some stuff about it. I was really excited and I was going to go buy like a lot of Bitcoins and then I found out how hard it was. Like you can't just buy it with PayPal. You you have to at the time you have to use Dwala and deposit to Mount Cox and then do a bunch of stuff. And I thought it was too complicated. So I didn't think about it until I heard about it again. And I think July of that year when everything when Bitcoin went up to something like $30. Now at that point I was kicking myself thinking I was so stupid not to buy it a dollar.
Starting point is 00:04:27 did all those steps, got money into Mount Gox, managed to buy some. And, you know, I didn't really think about it because Bitcoin Price didn't do anything until like 2013. At which point it went up and I was like, you know what? I'm a developer. I really need to do some stuff with this and really understand this technology. So I went and I started contributing to a project called Color Coins. I don't know if you guys remember, but yeah, it was basically trading other assets on the Bitcoin blockchain. Back then, I think Vitalik Beteran was part of it. And he wrote a white paper for it.
Starting point is 00:05:09 We told him that wasn't what we agreed on. And he said, all right, fine, I'm going to go make my own coin. So that's sort of the beginnings of Ethereum right there. Anyway, I did color coins for a while. Then I got, I started doing Bitcoin. development professionally first for monotas that's a company based in switzerland they don't they don't really i i haven't heard from them in a while and then i went to armory to work on the bitcoin wallet there and i've since you know contributed to btcd and a bunch of other projects and i'm now at itbit
Starting point is 00:05:46 slash paxos and called the principal blockchain architect i'm not really sure what that means but i i think it's mostly just coding with a nicer title. But that's how I got in. And, you know, I mean, it's been a fun and interesting journey to say the least. And outside of your role at Itbit slash Paxos, are you contributing to any open source projects or contributing to the ecosystem? Yeah, sure. I mean, I obviously contributed to Armory, and I still contribute once in a while because it's
Starting point is 00:06:20 my primary wallet. If I see some deficiency, I tend to do something. I've also contributed to BTCD, which is an alternate client. And more recently, I've started contributing to Bitcoin Core just a little bit. Not that many people know that, so hopefully. Yeah, that doesn't make me sound biased or whatever. But yeah, there's a bunch of projects that I've contributed to, just sort of done on my own as well just to see what I can do.
Starting point is 00:06:50 you can go take a look at my GitHub Jimmy song all right well to get into our main discussion here a little bit so I mean we've also done many podcasts before about the whole scalability in Bitcoin and these controversies it's been I'm sure we've done 10 20 or more episodes on this
Starting point is 00:07:11 so but maybe just from your perspective can you give a bit of a really broad overview of you know what has happened and where are we today Yeah, I mean, this has been going on for like three years. Like we're entering our fourth year of this debate, right? I think, I mean, it really started because people were getting concerned that the, you know, block size limit was getting reached.
Starting point is 00:07:37 There were blocks once in a while that were very close to one megabyte, even back in 2014. And for a while, you know, it just sort of was a debate for coders on the big. dev mailing list, you know, somewhat spilling over into Reddit and then we know what happened with FAMOS and our Bitcoin and all that stuff. You know, there was some censorship there. And I mean, as far as I'm concerned, most of the dialogue has actually moved over to Twitter. So I don't think that's that much of a concern. Anyway, yeah, so the scaling debate started then.
Starting point is 00:08:15 And, you know, somebody came up with segregated with this. I think it was some combination of Peter Wola and Luke Dash Jr. and Greg Maxwell that figured out that it could be done without actually hard forking. That was presented at scaling Bitcoin. There was a Hong Kong agreement at that point. You know, shortly afterwards, that got kind of broken up. Both sides sort of blaming each other for how it broke up. And that was originally basically supposed to be Segwit plus two megabyte blocks. I mean, I've written this in an article, but I really think the issue comes down to that of control.
Starting point is 00:08:53 Both sides want a lot more control over Bitcoin. You know, the miners want more development control and developmenters want more compliance from the miners, if you will. And that's sort of led to where we are today, where, you know, there's, you know, BIP 148 and all this other stuff that's been going on. It's too many bit numbers to name, actually. But yeah, that's, it's led to a point where there's been a significant clashing of wills, if you will. Talk about this, I'm interested in this notion of control. It may me go in a bit more detail as to what you mean by miners would like more development control and developers would like more control over miners. It seems like a circular kind of argument to me. Yeah, both sides want more control. And what I mean by that is
Starting point is 00:09:45 The miners have been asking for two megabyte blocks for a while. And they wanted to get somebody, you know, have a hard fork to two megabyte blocks or even larger. And the developers have more or less sort of tabled a lot of the BIPs that were along those lines. I think they're all in the, they all start with like one zero something. It's like 101, 102, 103, 104, something like that. And for the most part, hard forks are no longer really being considered. And for the miners, that was very frustrating because they want something. They think it would be perfectly safe and the developers are not giving it to them.
Starting point is 00:10:25 From the miners' perspective, they've been asking for Segwit and the miners are not really signaling. From their perspective, it's just sort of that signaling bit is I am ready to, I've upgraded my software and I am ready to allow Segwit transactions. but the miners are sort of using it like a veto and they don't like that. So, you know, you could sort of see how that plays out because miners are trying to replace the, or at least were trying to replace the development team with Bitcoin Unlimited. And the developers were sort of trying to replace the miners by, you know, changing things to BIP 8 and, you know, at BIP 148 obviously. and trying or even threatening like a proof of work change so that you know all the mining equipment would essentially be like big bricks.
Starting point is 00:11:25 Yeah, they both want more control over what the other does and developers develop miners sort of mine and secure the network. And yeah, that's been sort of the big fight over the last few years, I think. I mean, the miners ultimately, to me, have a lot of the, of, the actual control because they're running the network or securing the network. What is to stop the miners from writing their, I mean, if the miners want a certain thing, why don't they just write it and run that code? They actually apparently have, right? Like a lot of them are at least claiming to be running Bitcoin Unlimited.
Starting point is 00:12:08 I don't know if they actually are. It's easy enough to signal and make it look like you are on the network without actually running it but they claim to be so it's entirely possible that they are the problem becomes when you know network nodes don't agree i mean everyone is sort of master of their own node and you could do whatever you want to your own node and you know have any kind of ridiculous rule that you want but you know as soon as you disagree with someone you're going to fork off to your own chain so So that's really the big risk is that Bitcoin would split into two or even more. And that's why not everybody just sort of runs their own client.
Starting point is 00:12:50 They want something that's at least compatible with what everyone else is running. And, you know, the miners could do that, and they threaten to just as much as sort of the user-activated software people have. But yeah, I mean, it's not really that useful unless there's enough. of the entire ecosystem coming with you to have a viable fork. Yeah, no, that makes sense to me. It's just that it seems like if there's a minority at somewhere threatening miners, that if their clients are not going to be compatible with the majority of miners that are signaling for one or another type of upgrade,
Starting point is 00:13:37 they're not going to get their transactions validated because the majority of miners are not going to be agreeing with them. I mean, they're not going to be agreeing with the miners that essentially have the power. So that's where maybe I'm missing something, but I feel like miners could easily take over this power struggle. They could in the sense that they'll have the mining power to sort of have a more robust and secure change.
Starting point is 00:14:07 in terms of proof of work. But it's easy enough to fork off, and this is actually, we could talk about this more when we get to BIP 148. But this is essentially what user-activated softwork is doing is sort of say we don't agree with what these miners are doing, and you know, you can't control us, so we're going to do our own thing and whichever miners want to come with us can't. And as long as you get enough of the ecosystem to come with you, it's entirely possible that you can do that and be successful. Whatever your definition of success is. But, you know, like whether or not that's probable or whether, like, it opens up all sorts of sort of game theory options as far as who can attack whom and what you can threaten and things like that, which make this very, very difficult to analyze.
Starting point is 00:15:03 So can you give me just a very quick refresher? Like what is segregated witness? Yeah, so segregated witness is a fix for a bunch of things. It fixes the transaction malleability problem, which in turn fixes the quadratic hashing problem. It also allows for a different kind of transaction, which is very useful for something like the Lightning Network. And there's sort of another whole section of the block that can hold these new types of transactions
Starting point is 00:15:39 in addition to the one megabyte block size that has the old type of transactions. Yeah, it's a bunch of things sort of rolled up into one and it has a lot of different utilities that are associated with it. This episode of Epicenna is brought to you by Ledger, Make us of the Best Hardware. security solution on the planet. But the ledger is more than just a hardware wallet. It's your path to eternal bliss and happiness and peacefulness. Do I look like I'm losing sleep? I am. But it's not because I'm worried about my cryptocurrency, my Bitcoin or my Ether, and that's because I use a Ledger. Ledger devices for multiple cryptocurrencies like Bitcoin, Ether, Zcash,
Starting point is 00:16:23 and more. And you can even secure your ERC, Ethereum tokens with them, or you can add the security support from ledger to some of the wallets you already love and use like Electrum, copay, my ether wallet, and others. All your keys and segregated accounts are derived from one unique seed. Seeds are generated on the device and are never exposed to the host computer. So when you make a transaction, your ledger will present you with the details and kindly ask you for your confirmation before signing. How polite is that?
Starting point is 00:16:56 So the best choice right now for anyone looking to invest in security is that the Ledger NanoS. It's a key chain-sized device that fits in your pocket. It has a screen and buttons and connects your computer or Android phone using USB. Look, if you're holding crypto and you're storing your keys on your computer, on your phone, or worse in exchange, you know that's a disaster waiting to happen. Don't be the person that loses their keys because they were careless with them. So don't wait any longer. Secure your Bitcoin, secure Zcash, secure ether. Go to ledger wallet.com and get your Ledger Nanos today. We'd like to thank Ledger for their support of Epicenter.
Starting point is 00:17:31 Originally, the idea was to activate Segwit with this thing called Bip 141. Can you run us through what was BIT 141 and why didn't it work? Well, so Bip 141 is actually still going on, but Bip 141 is based on Bip 9. And Bid 9 is a signaling mechanism to allow a network upgrade. And essentially, any sort of soft work, You want to sort of prepare the network and let everybody else upgrade before you actually let the code go live. And so you need 95% of the network to signal that they're ready, in essence, as part of BIP 9 to do so. BIP 141 used BIP 9.
Starting point is 00:18:21 I think it's using BIT 1 to do that. And it started signaling back in November of 2016. So it's been about seven months. And part of BIP 148 or BIP 9 also is that you have a one-year expiration so that you don't just keep this bit reserved for that one feature forever. And so far, it's never really gotten over something like 35% of the network. And you need 95% to signal before there's lock-in and activation. So some quick technical thing aside, what 95% means is within one difficulty adjustment period, this is 2016 blocks.
Starting point is 00:19:04 Typically, that's how often Bitcoin adjust the network cash rate so that, or network difficulty, so that you find a block about every 10 minutes. So within one network difficulty adjustment period, you need 95% of the blocks to signal for, that feature. And, you know, one network difficulty adjustment period is 2016 blocks. And I think you need 1,916 blocks a signal for it before it locks in. And then you have another network adjustment period after which it's actually active on the network. Why didn't it work? Well, it looks like the miners didn't want it. Or at least they wanted two megabyte blocks to come with it. And that, That's essentially why many aren't signaling for it. So that's kind of where we are.
Starting point is 00:20:00 I mean, one of the things I always found puzzling about this secret thing and also a little bit indicative of just a certain disconnect with reality of this 141, bit 141 thing is this 95% activation threshold. Because, I mean, even when that was proposed, there was already so much division in the community and so much disagreement. and the idea that like everybody would just like agree and go along and that you know even 5% could basically block this it just seemed bizarre the idea that this would ever work to me yeah and that that was sort of my assessment as well before it signaled if you look through my Twitter feed
Starting point is 00:20:40 I was kind of doubting whether or not it would activate ever and actually my pin tweet from January 1st 2017 is I really didn't think Segwood would actually come online though you know, that may not be the case anymore. But, but yeah, I, like from a game theory perspective, you would have to say this is sort of like a way to expose the other side's position or at least make sure that that's actually what they believe. And it seemed to do that at least sort of, you know, force one side to take a stand on for it or against it.
Starting point is 00:21:21 That's essentially what it did. Whether or not that was like a good move is, I can't really say. You know, I mean, sort of like who knows what actually works. So, yeah. And how did that, you know, I've a tradition to transition from that, right, from Bit 148 and 141 not going through is then this response with this idea of a user-activated software and bit 148. Can you explain a bit, you know, what is BIP 148 and what is a user-activated soft work? BIP 9, I guess, started a while ago.
Starting point is 00:22:00 But before that, there was a, it was sort of like, hey, we're going to upgrade everything on this date. That was sort of the normal way that Bitcoin was upgraded. And Bip 9 was sort of thought to be a lot safer by requiring the 95%. And a bunch of other sort of softworks went through before. BIP 141 based on BIP 9, like, you know, check locktime verify and a bunch of other softworks. BIP 148 or user-activated software was sort of an attempt, like after seeing that, hey, no, there aren't going to be enough minor signaling.
Starting point is 00:22:42 Shalyn Frye, who came to the list and for the first time sort of posted to the Bitcoin dev mailing list. Propose that, you know, like since everyone's sort of domain over their own node, we can sort of band together and reject certain blocks from miners and sort of forcefully activate Segwit. And essentially what it does is it rejects any blocks, BIP 148 in particular, it just rejects blocks that aren't signaling for BIP 141. Thus sort of ensuring that on that chain, on the chain that the user-activated software will accept, there will be 100% signaling for BIP-141, thus ensuring its activation.
Starting point is 00:23:28 But obviously, there are all sorts of things related to that, you know, sort of side effects of having a soft work that result as a result of, you know, doing a soft work. And that's that's sort of like the main difficulty of a user-activated soft fork is that you're essentially forcing a fork. And can you just explain user-activated seems to be like a sort of interesting term, right? Because I'm a Bitcoin user, but it doesn't seem like I would have a role in the activation of this. So can you explain like how is that user-activated? And it still requires, right, a miner to mine a bit more.
Starting point is 00:24:15 148 block. Right. The idea behind calling it a user-activated software is that really a user, whenever you're running a node, you're sort of king over your node. You can run whatever software you want. And because of that, if enough users band together, the thought is that you can bring economic value to your fork in whatever fashion you want. and you know you can sort of let the other side go you do need a miner to actually mine blocks
Starting point is 00:24:50 but it's thought it's named such because it's it's driven by the user by running this software instead of sort of minor starting to run that software obviously it's not all users it's it's some subset of users that are running it and they can do whatever they want Like I said before, though, the trick to making a soft fork work is bringing enough of the ecosystem with you that you have enough mining power and development going on that it makes sense to sort of, that it's possible to keep going. And that's not entirely clear if you just sort of like forked off on your own and that, you know, then nobody will pay you anything for coins on your own. fork. So let me just a rephrase that. And from the user's perspective, as a user, I want a signal for Segwit and BIP 148. I install a client that on August 1st will only accept blocks that are signaling for
Starting point is 00:26:02 for Segw get a witness. And so I'm sort of, I'm cutting myself off from the rest of the world, from the rest of the network. And I'm only seeing miners that are signaling for segregated witness. And so I automatically have 100% of that 95% threshold. And so therefore, segregated witness is automatically activated. On your fork. On my fork, right. But that requires that enough miners are mining these segregated witness signaled blocks for my chain to have any any value.
Starting point is 00:26:48 I mean, if there's one minor out of all the miners that is mining and signaling for bit 148, I'm essentially only getting one minor to secure my chain. And that's a problem if that there's not like a specific threshold that is reached, I suppose. Yeah, yeah. So, yeah, it can be a problem. And hash power is going to be crucial if this forking scenario comes to pass. And this is something that I wrote in one of my articles is you need a lot of hash power to make this work. Because user activated soft work, first of all, to trigger, to activate segregated witness,
Starting point is 00:27:33 you need to signal by November 15th. And if you do the math between August 1st and November 15th is about 15 weeks, and difficulty adjustment period is 2016 blocks, you need at least 16 or 17% of the network hashing power to even be able to do one difficulty adjustment period in 15 weeks. So that is sort of the minimum before which you can talk about the user-activated software even being really viable. Otherwise, you would do something else after November 15th to get Segwit for your chain. Now, I mean, the big sort of plan for a lot of these user-activated software supporters is that they would, either get miners to mine on their chain because you know they see the economic
Starting point is 00:28:38 value or they would you know go buy miners themselves and sort of mine on their own and be competitive with the mining conglomerates in China yeah that's it that's an open question and we don't really know very much about the hashing power that they own or have access to so that's it that's a difficult sort of question to answer beforehand. What's also interesting to point out is just the effect of, you know, different hash rates when you fork, right? Because let's say you have 10% of the hour, let's say we say 20%, right, a little bit
Starting point is 00:29:16 above your threshold. So that still means it's one fifth of the current Bitcoin network cash rate. So that means the block time is going to go up by a factor of five, right? So that means the capacity has, you have lost 80% of the capacity of that network. I mean, the whole problem is, right, Bitcoin's full. So now you've cut off 80% of the capacity. And at the same time, you know, as a Bitcoin user, I would, in that kind of scenario, I would like to be able to move my bitcoins to an exchange, you know, to potentially sell them, right?
Starting point is 00:29:50 So, and you probably wouldn't want to do that on both chains, right? You'd want to take action. And you want to maybe split the coins as well, right? Because the whole replay attack is another thing. So it seems like you would have, you know, maybe lose 80. percent of the capacity or 70 percent, the demand for transactions would go up dramatically. So the cost would go up. I mean, I can totally see $50 transaction fees or 100, like very, very high transaction fees.
Starting point is 00:30:19 Yeah. It seems like in a case where maybe if you have like 45 percent of the hash rate, it will just be about tolerable, but below that, I mean, this is going to be a basic. basically like a two week or you know four week or you know six week or something complete shutdown of the Bitcoin network for almost all its current users. Yeah. And that's, yeah, there are so many ways in which it can be screwed up. And I outlined them in my UASF scenarios article.
Starting point is 00:30:56 But basically what you're saying is right. If you have a small amount of hash rate, then everything's going to take longer. not just on your chain, but on the other chain too. It's going to be like a little bit slower. And, you know, there's wipeout attacks. And I mean, you need both wipeout protection and replay protection on both chains because it's possible for both things to happen. Wipeout in particular is if the miners chain doesn't hard fork,
Starting point is 00:31:30 then it's always possible for the user chain to grow longer than the minor chain and wipe out the minor chain. So from an exchange's perspective, you wouldn't accept anything from the miners chain if the user side has any possibility of overtaking the minor chain. And there's also replay attacks, right? Like you can play the same transaction on both chains. you may mean to an exchange may mean to only send you know 10 bitcoins to 10 of the user bitcoins to you but you can replay that that transaction on the minor side and get 10 minor coins at the same time and that's that's kind of a no-go for minors and this actually happened with ethereum with when they split is coin base was going giving out Ethereum tokens but
Starting point is 00:32:24 people were replaying them on Ethereum Classic and getting Classic tokens as well. And that costs Bitcoin or Coinbase quite a bit of money. And so exchanges are going to want both. And in order to do that, you need to permanently split. And this is pretty much what Bitmain said in their press release last week, which was, hey, if there's a user-activated soft work and it looks like it's viable, then we're going to hard fork. and we're going to make it so that there's no replay possibility on either chain.
Starting point is 00:32:59 And we're also going to add a bunch of these other features. And that seems to be a good way to solve that issue. But once you get to that point, you have two point bitcoins forever, and you're never going to merge back to one coin, which kind of sense. How would one hard fork at this point? What would Bitmain do to hard for it the network? Right. So they would release a new client.
Starting point is 00:33:23 right, new software basically, that changes transactions in this very particular way where, you know, signatures for one transaction don't work for the other chain. And it's a SIG hash bit that they would set. And that's actually really clever, and that means that any transaction on one chain would not be valid for the other. And they would also require the forking block, to have greater than one megabyte block size.
Starting point is 00:33:58 And essentially, they would be at least two megab- or have a cap of at least two megabytes going on forever. So it would be a very different coin than the user coin. But that's what they would be doing. And should this hard fork not happen? So you mentioned Ethereum and the replay tax that happened there. And for a while, there was a period there before a certain version of MIST was released where there was a smart contract to which you would send your coins and the smart contract would handle the replay protection. I'm curious how that works in Bitcoin. How do you handle replay protection without smart contracts?
Starting point is 00:34:43 Well, so Ethereum's a little different in that it's account-based and Bitcoin uses UTXOs. So as long as you can mix in a single UTXO that appears in one and not the other, then you can sort of mix that in and all coins from there that have ever mixed with that UTXO would be safe on that chain. There's a very clever script that Luke Jr. was talking about, which would be sort of using N-lock time that can also work. There are multiple ways. You know, after about 100 blocks when the first Coinbase transaction that exists on one side but doesn't on the other is mature, then you would definitely be able to, you know, transact with anything mixed with those coins without any replay threat on the other side. So there are multiple ways to do it.
Starting point is 00:35:43 And if an exchange were smart enough, they can code that. It's just something that they don't necessarily, yeah, it's not something that they necessarily should be trusted with until they've proven that they can handle it. And the factor, of course, is that this splitting coins, you have to make a transaction, right, to do that. So in a way that that creates, all of a sudden, you know, if I'm having these bitcoins that are like sitting somewhere, well, now I want to split them. you know because so so I can actually transact under the two chains right so all of a sudden that's also going to drive up this demand then I mean I know some people actually working on on services you know basically for that scenario to just offer like you know splitting coin as a service which which could be a could be good business in a scenario like that right because there
Starting point is 00:36:40 could be a huge demand for to do that and and of course a big advantage if I'm if I'm able you know if I see that okay let's say this forked bitcoin is is losing some value and i'm able to split that and you know i'm able to to sell it first whereas you know you you are sort of trying to get in i mean there could be that kind of rush scenario and i mean it's it will be a big advantage right when you be able to transact versus people who are not able to transact yeah um it might i mean as far as the replay protection like no exchange i don't think is going to accept coins as long as there's replay attack vectors. So I would imagine there would have to be a permanent fork first,
Starting point is 00:37:24 like along the lines of what Bitmain has proposed. If there's not, then there's all sorts of risks that an exchange would be taking. But the scenario, I think, maybe that you're referring to more, is sort of like a person-to-person bet, right? Like if I think that UASF is gonna be better and you think that the miners' fork, is going to be better we might just exchange directly but being able to do that is not so simple
Starting point is 00:37:53 in that scenario um but yeah i if for an exchange to list a coin they're they're going to need a hard fork and at that point there's there's no going back to one coin it's just two coins forever and now of course we've talked about that right uasf and and i think until recently i was thinking like oh this looks quite probable right like this may happen uh but just today so recording this on on June 19th, people or miners have really started signaling for this new thing, which some people probably know as the New York Agreement. And the other term for it is, you know, Segwit 2X, which is basically the idea to do, you know, a hard fork to two megabyte blocks and Segret at the same time.
Starting point is 00:38:39 And you know, at the moment when I was checking before, there was around 80% of miners in the last, you know, 10 hours or 12 hours have been signals and support for that. So can you just run it through? What is Segwit 2X and how does it fit into this progression? Right, right. So Segwit 2X or the New York Agreement was something that Barry Silver sort of organized right around Consensus 2017. This was around May 23rd. He got about 80% of all hashing power along with a bunch of other businesses, exchanges, wallets, et cetera, that signed on to the agreement saying, hey, we'll do Segwit and 2 megabyte blocks somehow and we'll do it. There's a GitHub repository called BTC1, which is, it looks like the lead developer is Jeff Garzik.
Starting point is 00:39:27 That's sort of the client for Segwit 2X. And essentially what they've, what the agreement said was we're going to signal bit 4 and it's going to call, and instead of, instead of bit 1, which is bit 141, they're going to, they're going to, to signal bit four and they instead of 95% they're going to say okay you only need 80%. Now there isn't a really simple way to do that and the question around the community for a while was well how are these two things going to be compatible? How are you going to make sure you know if you signal for one that the other accepts it and so forth and and James Hilliard actually came up with with a very clever way to do that.
Starting point is 00:40:14 that and this is called BIP 91 and that's that's kind of what got merged into the Segwit 2x repository I think it was like three days ago and essentially what it does is it's it's kind of similar to Bip 148 in the sense that once once Bit 91 is activated you have to signal for BIP 141 or else you'll get our orphaned off the network but in order to activate BIT 91 you need 80% of like 336 blocks, which is like 291 or something like that. Within, you know, then 236 blocks is like two in a third days or something like that or 48 plus eight. It's like 56 hours. Within a 56 hour period, you need 80% of the blocks to signal for it. And then there's another
Starting point is 00:41:06 period where it activate so people can get ready. But essentially what it will end up doing is have one chain that's all B.141 signaling. So instead of 95%, again, it'll get 100% because you're forced to signal. And what the miners have done is instead of signaling either BIT 1 or Bit 4, they're right now just sort of putting in the Coinbase transaction, NYU as signaling support. Once BTC 1, that repository produces a client, then all these miners can run it.
Starting point is 00:41:44 And when they start running it, presumably it'll be more than 80%. Triggering BIP-91, which in turn will force every block to signal for Segwit, at which point Segwit will get activated. And presumably that would avoid BIP 148. But, you know, we don't have that much time to do that. We have like less than six weeks before August 1st. So we're going to cut this close depending on what the UASF supporters decide to do. So let's just recap here then.
Starting point is 00:42:17 So today on June 19th, miners have started signaling their support, but not supporting, just signaling by putting a string in the Coinbase transaction that says we support this New York agreement. And then that is supposed to give us some kind of signal as to how many miners on July, 21st will actually go live with this and put the extra bit. And if enough miners do that, then we have Segwit. Why would we then, why would anyone at that point want to activate user-activated soft fork seeing a Segwit would already be activated? Yeah, I'm not entirely certain.
Starting point is 00:43:09 what would happen, but BIP 148, if BIP 141 is locked in or activated, won't do anything. That's part of the code that's in their code base. But if we're sort of in that in-between state where BIP 91 is locked in, but BIP 141 hasn't been, then it's possible anyone running BIP-148 client would fork off the network. Whether or not they're doing that accidentally or purposefully is actually an open question. But, you know, like it's presumably, you know, that's good enough, like locking in BIP 91 should be good enough for user-activated software proponents to just abandon BIP-148. But it's also possible that it won't. Now, I would say that's kind of a small possibility, but it is something that they could do if they still wanted to and sort of fork off the network despite the fact that most miners are going to signal for Segway.
Starting point is 00:44:09 It does look like though that there's more than 80% minor support for at least in the coin base transactions, which presumably means that BIT 91 would pass very quickly, which would enable BIP 141 to pass within a two-week period. Now, like if they can release the client like July 7th or something like that, then everything would go through without a problem. but you know there may be some things that the user activated software people might want before if it doesn't happen before then to sort of abandon their plans and that's that's kind of an open question at this point this episode is brought to you by shape shift the world's leading trustless digital asset exchange quickly swap between dozens of leading cryptocurrency including bitcoin ether zcash gnosis monaergolem ocker and so many more.
Starting point is 00:45:08 When you go to Shapeshift.io, you simply select your currency pair, give them your receiving others, sent the coins, and boom. Shapeshift is not your traditional cryptocurrency exchange. You don't need to create an account. You don't need to give them your personal information, and they don't hold your coins,
Starting point is 00:45:24 so you are never at risk from a hacker or other malicious actor. Shapeshift has competitive rates and has even integrated in some of your favorite wallet apps like Jacks, so you can swap your digital assets, directly within your wallet just as easily as putting on your slippers. Whenever you see that good-looking fox, you know that's where ShapeShift is. So to get started, visit Shapeshift.io and start trading, and we'd like to thank Shapeshift for their supportive Epicenter.
Starting point is 00:45:51 One of the things I find interesting sort of what you pointed out here, you know, with this user-activated software of a bit 148, one of the things that seems sort of, you know, controversial or questionable to me is this aspect of like, you know, splitting off and saying, you know, you don't recognize this other chain. But then something kind of similar is happening here too, right? Where you say you have to signal for sec grid. So it's kind of a little bit of a strange thing that you're using a similar aggressive strategy against these people who want Segwit to lock in Segwit.
Starting point is 00:46:27 Yeah, yeah. So Bit 91 and BIP 148 use basically the same mechanism, which is you have to signal for Segwit. The difference is that BIT 91 requires 80% of miners to agree first. So in the case of a soft work, you know, like the soft work is sort of has tighter rules. So anybody that doesn't signal for Segwit will get orphaned off. And, you know, with 80%, you're not going to be able to build a chain longer than the other one. So there's not that much risk, not nearly as much risk for BIT 91 because you already have. have 80% of the network for you.
Starting point is 00:47:08 I mean, it's pretty much the only way people have found to sort of reduce the 95% threshold to 80%. And that's essentially what BIP 91 is doing is reducing the threshold significantly. But it's a clever way to do it. Whether or not you agree is sort of up to you. And, you know, whether or not that that changes things for Bitcoin going to the future. Yeah, that's that's an interesting question as well, whether or not this will set a precedent for other sort of forks going forward. What has been the reception to this New York agreement? It's a good question.
Starting point is 00:47:48 I would say that for the most part, people aren't quite aware of what it means. I think the thing that makes a lot of people nervous is, is this software going to be safe? Is this software going to be useful? Is this software going to get merged back into core? If not, then who's going to take care of it and all this other stuff? So it's kind of an open question. And, you know, I'm working on an article actually, like even right before this podcast to answer some of those questions.
Starting point is 00:48:21 But yeah, it's not entirely obvious what's going to happen or, you know, how many people know about it. I was on another podcast a few days ago with this guy named John Light, and he was saying, why are we so down on this news? You know, like, this should be a reason to celebrate. We're unified again and everything else. And, you know, he may have a point on that. Well, let's put it to this. Who is down on this news?
Starting point is 00:48:50 Well, I mean, so I, you know, I've been spending some time, you know, reading through our Bitcoin and our BTC, and it's very, interesting see the responses there and I mean I think on on both sides lots of people are down on this lots of people don't like Sedg2x and there was an interesting block interesting Reddit post kind of you know long and thorough we link it in show note by Greg Maxwell you know basically saying Segway 2x is terrible you know it has all kinds of flaws you know he says lack of detail isn't clearly defined what's going to happen time phase too short and you know he basically said
Starting point is 00:49:28 and that core developers are unanimously against Segret 2x. And I think it is the case that this New York agreement, you know, okay, this has support from, you know, the vast majority of miners, it has support from many of the big Bitcoin companies. But there was no support there really from, you know, the current core developers. So this, what do you think is going to happen with that? Like, you know, if they are not on board, what kind of response could we see from them? Yeah, I mean, this is sort of the big open question. And I think the, I think as you're pointing out, the reason for sort of the pessimism around it.
Starting point is 00:50:11 Well, we can agree on Segwit. I think everybody on the core side certainly wants Segwit. There are some others on the other side that are okay with it as long as they're getting two megabyte blocks. And that's what Segwit 2x is. it's Segwit plus two megabyte blocks. Up to the point where there's Segwit, I think everything will be okay. But then after Segwit, when the two megabyte block issue comes up, that's where I think the rubber meets the road.
Starting point is 00:50:39 We're just sort of delaying this forking point. There's something called BUIP 55. That's the Bitcoin Unlimited Improvement Protocol or Proposal, Number 55. And that essentially says that there will have larger than one megabyte blocks starting on October 15th or 18th, one of those two. And that means that that will fork off the network, right? Like it'll be one side or the other. So we're not necessarily like getting peace. We're just sort of having a ceasefire for a few months as a result of the New York agreement.
Starting point is 00:51:17 And the bigger issue still hasn't been resolved. this whole like core developers don't support it argument to me just seems kind of absurd I mean think think of any other product right like some I don't know take like magento open source ecommerce software if you have like the majority of the ecosystem uh you know hosting companies and companies using this software saying we want this feature why you know in what right mind with the developers of that software say, no, we don't agree with this. Like, that's what your users want.
Starting point is 00:51:53 That's not what you want. And it seems like such an invalid argument. Well, I don't think it's about valid or invalid arguments at this point. It's sort of whether or not, you know, one, I mean, there's plenty of users on both sides of the aisle that want a hard fork that don't want a hard fork. The question is, you know, what's the end result? As long as it's not a contentious fork, I think we can do whatever forks we want without too much trouble. The problem is that once you have a contentious fork, well, then you're going to have two coins.
Starting point is 00:52:34 That's just how consensus is. If you don't have consensus, then you're going to fork. And that's sort of how Bitcoin works. And it doesn't matter if it's just a few people. or a lot of people, as long as they have enough sort of the ecosystem on their side, then they can fork off. And that's where it looks like, you know, will be. So let's go a little bit deeper into this, the second part of this segue with 2X, which is the 2X thing. One of the concerns that have seen people have on RBTC is, you know,
Starting point is 00:53:18 that they think it's some sort of ploy, right? So Segret is going to get activated. And then people are going to, you know, people are going to back out and they're basically going to not try to, you know, refuse to do bigger blocks. So what kind of mechanism will there be after Segwitz is activated if this goes through to go to the two megabyte blocks and all their assurances that, you know, both will happen and that it's not only just going to be Segwik gets activated and we won't see the bigger blocks?
Starting point is 00:53:48 Yeah, that's a great question. So they were trying to design something that would force a 2-Mabyte block hard fork along with Segwit, except nobody can figure out a way to do that. So what ended up happening is, hey, we'll just do Segwit first. And anyone that signed the New York agreement is bound by it, I mean, presumably, to support a 2-Mabyte hard fork. A lot of core developers didn't sign that, right? There's a bunch of companies that didn't sign the New York agreement, so they have no obligations to the New York agreement.
Starting point is 00:54:25 And this is sort of where the conflict point just is put out further three months. We still don't know what will happen at that point. I mean, it's possible that the companies that didn't sign the agreement may be able to sort of fork off on their own or obstruct things or make it so that the two megabyte hard fork doesn't come to pass. But, you know, I mean, who knows? It's, it's, yeah, I mean, it's the next debate that's coming up. And that's, that's something that we're going to see a lot of name calling, a lot of, a lot of accusations, a lot of arguments that, that's, that's the next thing that's coming. So yeah. But even even assuming you know the companies that
Starting point is 00:55:17 have signed in New York agreement is it like clearly defined you know is there a clear date when it comes or because because you know presumably they may say well we signed it we are going to because this is what the core developers have done for a long time right there they were like yes yes we will hard fork to bigger blocks just not now right now it's a great in some later point and then of course the challenge has been the other side doesn't believe it. that, you know, that it's kind of a deceptive tactic. So is there a similar thing possible here, or is it really clear what those companies have agreed to with the New York Agreement so that you can say, you know, you've agreed to support these two megabyte blocks at that time in this way. And, you know, we can hold you to that word.
Starting point is 00:56:04 Yeah. So here, I'll read you the first paragraph of the New York Agreement. We agree to immediately support the following parallel upgrades to the Bitcoin protocol, which will be deployed simultaneously and based on the original Segwit 2 megabyte proposal. Activate segregated witness at an 80% threshold signaling at Bit4, activate a 2 megabyte hard fork within 6 months. So there is sort of a deadline of six months to do something. And anything after that, I guess, wouldn't be it.
Starting point is 00:56:35 But there is an obligation according to that agreement. to at least attempt a hard fork to two megabytes within six months. So what's your assessment? How is this is going to be a tricky question, but what kind of probabilities do you assign to different results? Do you think that the Segway 2x is going to go through like that and that the two megabyte blocks will get activated in that time,
Starting point is 00:57:03 but do you still see a significant risk of a division and a hard fork? Well, I think, I mean, split. Oh, yeah, yeah. So the August 1st heart fork is significantly reduced in probability, I think, as a result of what's happened recently. A permanent fork sort of later on, say on October 15th to 18th, something like that, with B-UIP 55, that's still sort of significant, at least in my mind.
Starting point is 00:57:32 The biggest risk to sort of an August 1st non-event would be, the, you know, Segwit 2X client being ready in time. That is, like, tested to everyone's satisfaction and running on the minor, at the miners, you know, yeah, being used by the miners, essentially. I think it'll be ready in time, and hopefully it avoids an August 1st date, but, you know, we have something even further down the line. And, like, really, nobody's agreed to any. It's just sort of warring parties having a ceasefire for a few months and that's
Starting point is 00:58:13 Now what will what will happen after that? It's hard to tell because the current situation hasn't exactly shaken out yet It's kind of like you know at the end of World War II there were all these like things that were happening and Nobody really knew how the map was gonna be drawn after the war Yeah, it's kind of like trying to predict that we don't we don't know what the map looks like at this point because it's a little this current war isn't over yet or this current battle isn't over yet and we have another battle afterwards so i'm not really comfortable making any predictions in other words so so in this like metaphorical representation of the second world world who's who's hitler in this version of no comment i'm not i'm not going to make any comparisons to hitler despite godwin's
Starting point is 00:59:04 law yeah uh so in your opinion What's the greatest risk here? Like, what is the single greatest risk that we might run if things go like catastrophically wrong? Hard fork. Two viable coins and a hard fork. I think that destroys Bitcoin's value proposition as a store of value. And that causes a complete price crash, which would be terrible, you know, for obvious reasons. That to me is the biggest risk.
Starting point is 00:59:37 Yeah, I mean, I'm okay with almost anything that will keep Bitcoin on a single chain. And right now, I'm not seeing that yet. For now, I think we'll have Segwit, but there's this other issue of a hard fork that's in the New York agreement that 80% of, you know, of people have agreed to. So, I mean, does that mean that, you know, something bad will happen? Not necessarily, but I mean, it's it's not over yet either. So yeah, we're still sort of in the middle of this whole drama and we're not going to see resolution for a while still. Yeah, I agree with you. I think if you if you look at, you know, the viability of Bitcoin, right?
Starting point is 01:00:24 Today, I mean, I think Bitcoin is not in a great position, right? Because it's obvious that the usability of Bitcoin and has greatly suffered in that, you know, that just the transaction fees and the times have been certainly you know for example for us using bitcoin as a company it's become much much less attractive and you know you can't really recommend it or show it to people like you could in the past sent them some you know lots of things that you know we used to claim about bitcoin aren't true anymore that you used to show it bitcoin explain the benefits all of those things fall apart but at the same time um if big Bitcoin just stays together. I do agree that there's still a very, very strong case as this digital goal, digital store of value.
Starting point is 01:01:13 And of course, the ideal would be that you're able to increase capacity, at least in my view, both on-chain and have off-chain solution and segue, right, all of those things. And I think if those happen, then there's really a chance for Bitcoin to grow tremendously. But if it forks and there's two bitcoins, I'm just thinking about the mainstream media narrative, right, which has been so much, you know, Bitcoin is booming, Bitcoin is common. And then all of a sudden, there's two Bitcoins now, everybody's at war, you can't really transact. The capacities, I mean, the stories would be awful. And I think it would be, yeah, it could, you know, I'm sure Bitcoin would still continue in some way. But I think the biggest arguments and reasons why people were excited about Bitcoin would be permanently destroyed. Yeah, yeah, absolutely. I mean, immutability is a huge property that you need for store value. Once you split them, you've broken immutability. And that, that I think takes away more value than anything. But I mean, I think you're also right in the sense that, you know, the Bitcoin will still survive. It'll be in two different coins. I think we've seen through like the recent all coin pump, like no coin actually really ever dies, right? Like, as long as someone's willing to
Starting point is 01:02:34 mine it, it will just keep continuing no matter what. And I see that for Bitcoin as well. Whether or not it's something that's that useful, you know, once you have set a precedent for a hard fork or a permanent fork into two coins is a big question in my mind. So yeah, I mean, yeah, sorry to end on such a sour note. But yeah, it does seem like there, it's not all good news as a result of the New York agreement. It does seem like there's still more hurdles ahead. Cool. Well, thanks so much, Jimmy, for coming on today.
Starting point is 01:03:12 I know perhaps we'll have you on again at some point. I know you also wanted to speak a bit about drive chains, about some other scalability ideas that might be very exciting. And I think this entire debate is going to be with us for a while, right? About the conflicts that are going to come out of that, the attacks. And I have to say, you know, on some level of course, it's a bit sad. In some level,
Starting point is 01:03:35 your Bitcoin is obviously suffering, right? And Bitcoin's, a future is threatened in some way. But on another level, it's also just enormously exciting and interesting, like the different scenarios and the different races could play out. So in terms of tension
Starting point is 01:03:54 and what's going to happen, it's rarely been as interesting in Bitcoin as today. Yeah, and don't forget, like we've doubled since the, beginning of the year i mean we we're from a price standpoint there's uh i mean we're we're doing fantastic if you asked anyone a year ago what would you think about bitcoin at 2 500 or uh i think a lot of people would have said i'll take that you know it doesn't matter what other strife comes with it um and you know i don't i don't i want to end on a more positive note so i mean remember that
Starting point is 01:04:27 bitcoin survived a lot of stuff already you know it survived the mount gox collapse it survived many, many different hacks of exchanges. You know, Bitcoin forked against itself way back when and it still survived. So there are many ways in which people have tried to kill Bitcoin and it's always survived. So, you know, I mean, I would love to see something like drive chains make scaling a non-issue. Unfortunately, it seems to not really have that much community support largely due to the fact that not a lot of people know what it is but and you know i would love to come on your show sometime and and and talk about uh you know side chains and a way to scale and do a lot of other exciting things with bitcoin uh with it but uh but you
Starting point is 01:05:16 know for now i think you know talking about scaling as that's the main issue on people's minds it makes sense to um you know explore that issue thoroughly excellent well thanks so much for coming on jimmie it's been a pleasure yeah thank you And of course, thanks so much for a listener for once again tuning in. So we're going to have links to many of the interesting articles. Jimmy has written as well as the New York Agreement, the Bid main article, Greg Maxwell's post and a few other things that you can check out if you want to go a little bit deeper here. And yeah, if you are part of the Let's Start Bitcoin networks,
Starting point is 01:05:56 you found this show and other shows in Let's Start Bitcoin.com. And if you want to support the show, you can do so by leaving us an iTunes review. that helps new people find this show. Thanks so much, and we look forward to being back next week.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.