Preparing for a Bitcoin Hard Fork
Amid controversy, bitcoin developers see a need to begin researching more drastic technical changes to the network.
While a bitcoin hard fork isn't imminent, its developers have begun to research how the complex technical change could be enacted, if needed.
The proactive steps illustrate the new responsibility Bitcoin Core, the network's mostly volunteer developer group, has taken on as the protocol has grown from the pet project of its mystery creator to a broad network of consumers, businesses and stakeholders.
As bitcoin remains the most widely used blockchain platform (one that many people see as having the greatest potential to change the way society transacts), this responsibility, the bitcoin developers argue, should be treated with caution and respect.
In this light, there has been a renewed emphasis within Bitcoin Core to explore how it could implement a hard fork, a type of protocol change that has proved a lightning rod for controversy during bitcoin's ongoing scaling debate and resulted in schisms in other blockchain networks.
Long-time Bitcoin Core developer Matt Corallo told CoinDesk:
Preparedness is important either way, Corallo said, but the unsuccessful ethereum fork pointed out further issues with hard forks that need more analysis.
Earlier this summer, ethereum enacted a change to its code after one of its more notable projects was compromised. The result was that the developers proposed a permanent divergence in its blockchain, scraping one bitcoin blockchain for an upgraded one.
A hard fork meant that every node – miners, merchants and users – had to upgrade to be able to validate the new blocks, but due to the controversial reason for the fork, a sizable minority chose not to make the switch.
The result is two development groups – ethereum and ethereum classic – both of which claim ownership over the vision for the "ethereum" project.
Given the risk that bitcoin could face from a similar split, there remains deep reservations among its developer community about whether a bitcoin hard fork should be discussed at all.
Scaling bitcoin
The tension on the subject has led to a larger debate on how best to change the bitcoin protocol, but "hard forks" aren't the only solution being discussed.
"Soft forks", for one, are backwards-compatible and self-correcting in that only a majority of miners need to update to the new consensus rules. Old nodes will then see the new blocks as valid.
In this case, not every user or node will need to update to accept the new consensus rules and continue validating transactions. (Note: There remains deep divisions about what constitutes a "hard" vs "soft" fork, with core developers even disagreeing on how to define past network issues in such terms).
Most of the conversation around hard forks so far has centered on Segregated Witness, a method originally proposed to fix transaction malleability that soon evolved into a way to scale bitcoin with a soft fork. The scaling mechanism will allow blocks with 2MB of data to be validated, up from the current 1MB limit, when implemented.
Yet, since the time it was proposed in December, the scaling debate has tapered off as other improvements have brought optimizations.
"Six months ago the network was in rough shape. The propagation across the network was really slow," Corallo said. "We've been optimizing a bunch of little places all over the place and that starts to make a big difference for people."
Because the Core developers have succeeded in optimizing the network through efforts like Corallo's Fast Internet Bitcoin Relay Network (FIBRE) and mempool size limiting, the network, in Corallo's view, is more able to handle small increases in the blocksize, which can come in the form of the Segwit upgrade without a hard fork.
That said, there remains a vocal contingent that remains committed to "on-chain scaling" that believes the bitcoin network, its user base and its businesses will not be able to sufficiently grow without more aggressive changes to the protocol that go beyond tweaks and upgrades to its exterior components.
Squabbles and gaming votes
One of the biggest concerns for the Bitcoin Core team, however, is that it remains difficult to tell when the community, and how much of that community, desires a given upgrade.
This has led to the rise of the term "consensus", or the belief that participants in an economic network are giving approval or in some way agreeing to a set of unspoken terms and conditions.
Some of the most public ways to measure this sentiment aren't that helpful because they don't incorporate all bitcoin users or they can be manipulated rather easily. Node voting, for example, was used to measure sentiment on ethereum in the run-up to its hard fork, but the practice was widely criticized for its results.
Because the majority of people that use bitcoin don’t run full nodes, using node votes typically leaves out a significant number of users, including those that may be utilize the network on a regular basis. Further manipulation can happen through the spinning up of ineffective nodes.
Miscommunication, in Corallo’s eyes, is one of the reasons the ethereum community is now running on two chains. While the majority of people that voiced an opinion were in support of an ethereum hard fork after The DAO hack, only a small percentage, less than 10%, of community members voted at all.
In Corallo's opinion, all mechanisms for measuring community consensus should be deployed. These include node voting; coin voting; measuring support and opposition on community discussion boards; and polls of industry players.
"We don’t want to leave people behind," Corallo said.
Peter Todd, a Bitcoin Core contributor who recently penned a blog post about hard fork proposals, thinks that this approach still leaves many out, notably those who lack a full understanding of the proposals.
In interview, he said language and privacy barriers can further complicate the situation, potentially excluding those who can't read a particular proposal or don't want to broadcast their identity.
Selling the hard fork
Core's main focus, then, must be on writing up the technical specifications in ways community members can understand, said Corallo. If bitcoin businesses, for instance, push back on a hard fork because they don’t understand the proposal and its effects, that's core's responsibility, a communication error, he said.
While Corallo thinks the community has calmed a bit since the hostility over hard forking bitcoin started last year, Todd thinks the ethereum debacle has stoked hesitation again.
"The main thing is a lot of people quite understandably are dubious about [hard forks]," Todd said. "It's harder now to convince people [hard forks] are a good idea than it was six months ago."
This contention around hard forking is one reason why research and development around the concept has largely stalled, Core contributors say.
"People troll you to death," Todd said. "And I think that has stopped people from working on Core development publicly and sometimes altogether."
Quite a few, though, are working on hardfork proposals quietly, he said.
Core developer, Cory Fields declined to comment on hard fork issues, and several other core developers never responded to inquiries for CoinDesk. This speaks not only to the community’s sensitivity to the idea, but also that Core is merely a group of individuals who don't always see eye-to-eye on elements affecting their work.
"People aren’t used to these things being driven by money, like bitcoin. I think it creates a different intensity," Todd said.
In the next five years, though, Todd said, there's a pretty high chance the rules of the network will need to be changed. Specifically to enhance security of the network, such as improvements that would prevent attacks against mining pools, Todd doesn’t have a problem with hard forking in the future.
STORY CONTINUES BELOW
"You need a pretty good reason to do a hard fork; we just don't have good reasons right now," Todd said.
Bomb shelter light image via Shutterstock