Episode notes
In this episode of Bitcoin, Explained, hosts Aaron van Wirdum and Sjors Provoost discuss a recent blog post by James Lopp titled, “Has Bitcoin Ever Hard Forked”? Hard forks are generally defined as Bitcoin protocol upgrades that remove or loosen rules, making these types of upgrades backwards-incompatible. Aaron and Sjors explain, however, that Lopp in his blog post argues that this definition isn’t very precise and suggests the term should only apply if the rule change was actually utilized. In addition, hard forks can be categorized into explicit hard forks, where the rule change was an intentional hard fork, and implicit hard forks, where the rule change wasn’t originally intended to be a hard fork at all but turned out to be one anyways.
In the second half of the podcast, Aaron and Sjors break down the seven hard forks in Bitcoin’s history that Lopp was able to find, of which five were never utilized (and should therefore arguably not be considered hard forks at all), one was explicit, and one was implicit.
Finally, Aaron and Sjors briefly discuss (a) future hard fork(s) that need(s) to happen, and what kind of philosophy around deploying hard forks might make sense for Bitcoin.
- Jameson Lopp’s blog post
Chapters
00:00:00 Introduction and finding Bitcoin peers over Tor
00:03:21 Hard forks, soft forks and Lopp’s definitions
00:12:13 Untriggered changes: longest chain versus most work
00:15:27 OP_VER and software-dependent consensus
00:18:06 Separating scriptSig and scriptPubKey evaluation
00:19:00 The unused Bitcoin Core inflation bug
00:20:18 Burying soft forks with BIP90
00:22:07 The Berkeley DB bug and the 2013 chain split
00:28:36 Adding OP_NOP: an explicit hard fork
00:34:39 Future hard forks, emergency fixes and consensus
