Hard forks are a rather contentious issue in Bitcoin. The controversy surrounding hard forks can be seen most prominently in the context of Bitcoin XT’s implementation of BIP 101.
While there have been successful Bitcoin hard forks in the past, the problem with hard forks of the Bitcoin blockchain is that they’re, well, hard. Any change to the Bitcoin protocol that requires a hard fork essentially requires near-complete consensus to avoid a potential blockchain split.
For example, there are many individuals in the Bitcoin development community who do not believe that BIP 101’s use of a 75 percent majority vote by miners as a mechanism for enabling a larger block size limit is such a good idea.
Hard forks are difficult, but they have to happen from time to time in order for Bitcoin to grow and evolve. For this reason, some have proposed the idea of scheduled hard forks. This would essentially create a regular update schedule for the blockchain for changes that require a hard fork during the implementation process.
Problems with Regularly Scheduled Hard Forks
Bitcoin Foundation Chief Scientist Gavin Andresen and Bitcoin Core Contributor Peter Todd were both recently asked for their opinions on scheduled hard forks during the Bitcoin governance panel at Bitcoin Pacifica 2015, and neither of them seemed overly bullish on the concept. For one, Todd noted that the schedule may become useless because it is not set in stone.
“I would point out that -- I would start by at least doing one,” he said. “Trying to go figure out what does a schedule actually look like. You can delay the schedule; it becomes very tricky.”
Todd, who always seems to be able to pick out the flaws in any proposal, also noted that miners could ultimately decide to veto any hard fork they don’t like.
“Let’s look at this from an adversarial point of view,” he said. “If we have a hard fork and some miners decide that the next hard fork they disagree with -- the reality is they can go veto a hard fork.”
Measuring Consensus is Hard
A third issue pointed out by Todd had to do with figuring out what would be implemented in each individual hard fork. In his view, there does not exist a good mechanism for coming to consensus, nor measuring it:
“Well, again, we don’t have good methods for this other than to accept that hard forks are hard, and getting consensus is something that kind of needs to happen. Maybe we do need some technological measures, such as miner voting, maybe proof-of-stake voting, but beyond that, it’s really hard to imagine how you actually create durable social institutions when they’re so easily undermined at protocol, almost by design.”
Hard Forks Have to Be Hard
Gavin Andresen also shared his cynical view of regularly scheduled hard forks, mainly pointing out that there could be issues because “people are lazy and they don’t like upgrading.” According to Andresen, this could cause issues related to having proper validation between users on the network. The key point that Andresen made during his comments had to do with making sure that hard forks were hard to pull off:
“I think hard forks have to be hard. I actually do agree with Jeff Garzik .
There has to be community consensus, and the community has to be aware of what’s going on with them. I don’t know, I’d have to think a little bit more of: Would it make sense to have a regular schedule, where if there was nothing in the hard fork, maybe the hard fork just doesn’t happen.”