Governance & Consensus on the Bitcoin Protocol: A Forking Case Study

2017 was a year of exponential and innovative growth, what would be considered by many as a Cambrian explosion of initial coin offerings (ICOs). Over 700 new projects launched solely in 2017, in comparison to only 64 in 2016. ICOs–a way to crowdsource fundraising for startups–brought decentralized digital assets to the masses. Companies launched an ICO using the Ethereum network to raise funds to build the technology which would give value to their token. Some ICO tokens were similar to Ethereum or Bitcoin–offering another crypto alternative–others were utility tokens to buy into a technological idea like decentralized data storage or digital marketplaces. At best, most were crap tokens and at worst, scams.

Nonetheless, a lot of people in cryptocurrency were excited about the prospects of Etherum, ICOs, and what seemed to be an unlimited amount of possibilities with smart contracts. By only adding three additional fields to the transactional data stored on the blockchain–smart contracts were born. Now people could go from exchanging currency to pretty much anything of perceived value across a borderless and peer-to-peer network. People started dreaming of self-driving cars that transacted with Ether payments, the total elimination of lawyers (later realized as a dream at best), and tokenizing houses and cars on the blockchain. It was a time for dreamers and innovators who had a vision for the technological revolution. But, it was masked within a gold rush mentality and get-rich-quick ambitions. Everyone was excited and everyone was dreaming… well, everyone, except for the Bitcoin community.

Between 2009 and 2016, Bitcoin dominated the cryptocurrency market. In January 2017, Bitcoin had 87.5% of the market share, yet by the end of the year, Bitcoin accounted for only 38.6% of the market share — losing almost 50% in one year. In 2017, the popularity of Ethereum was growing, dApps and ICOs were reaching a group of people that Bitcoin hadn’t. Ethereum could also transact blocks at a much faster rate than Bitcoin and with more reliable and many times even cheaper fees. For years, the disagreements within the Bitcoin community had mounted around how to scale the Bitcoin blockchain. Scaling is a word used to describe how to make operational improvements to the blockchain. But now, with the looming threat of Ethereum, the scaling discussion turned into a philosophical issue: is Bitcoin digital gold or electronic cash?

How to scale the Bitcoin network is a billion-dollar issue. Unlike private software companies, in order to make any improvements across a decentralized network as big as Bitcoin, there needs to be a consensus amongst the major participants in the community. Those participants include Bitcoin Core developers, mining companies and pools, industry leaders of crypto-companies like wallets and exchanges, as well as the community-at-large. It’s important to reach a consensus between all these groups because, ultimately, the chain that has the most market share and a majority of the mining power will prevail.

For three years prior, Bitcoin Core developers had been debating how to scale the Bitcoin blockchain. Two issues came out at the forefront: increasing the block size and allowing for secure off-chain networks, like the Lightning Network. To fix these two scaling issues, a contentious proposal was put forth in 2017. The proposal suggested using both a hard fork and a soft fork, known as SegWit2X. To understand this proposal, it’s important to understand that new software upgrades are added by forking the blockchain.

Now, we’re going to take an educational devour, before we get back to the rest of the story.

What is a fork?

Two different occurrences of forking:

  1. Solving conflicting versions of the blockchain organically
  2. Changing the consensus rules

The first happens naturally. We won’t go into too much detail here, but it happens during normal operations “as temporary inconsistencies between versions of the blockchain” arise. However, the blockchain reconverges organically once more blocks are added.

The second version of forking the blockchain is with consensus forks. We’ll discuss it here in length. Each blockchain has rules coded into it like how many transactions can be verified per block, how transactions are verified, and who does the verifying. The code aims to establish rules for what types of blocks are considered valid versus invalid.

Consensus forks change or upgrade the rules on the blockchain. Forks can occur for many reasons, like technical upgrades, community differences, or what developers consider to be crucial to keep the network running. These initiatives are common and generally healthy–it keeps innovation and creativity at the forefront of Bitcoin. The ability to reach a consensus within the community is important to avoid breaking points among the participants–resulting in permanent “chain splits” or “forking the blockchain.”

There are two main types of consensus forks: soft fork and hard fork. Soft and hard forks can be both planned or controversial. The difference between a planned fork and a controversial fork is: a planned fork the community is in agreement with the change of rules, and a controversial fork, the community is not in agreement about the proposed changes to the rules. If a controversial hard fork happens, it divides not only the blockchain but the community as well.

We’ll look at the difference between a planned soft and hard fork as well as a controversial hard fork. Controversial soft forks are uncommon and therefore, we won’t get into the details in this piece.

Types of forks:

  1. Soft Fork
  2. Hard Fork

What is “Soft Fork”?

A planned soft fork is “backwards-compatible” because it restricts the current set of rules on the blockchain. New software improvements need to be compatible with the older versions of the blockchain protocol. Soft forks only require a majority of miners to update the software–unlike a hard fork which requires the consent of the entire community.

An example of a soft fork on the Bitcoin blockchain is the Segregated Witness (SegWit) soft fork in 2017. The soft fork took out the need to verify the sender’s digital signature of each transaction and moved it to a separate part of the data structure. This made the transaction hash (link to what is blockchain) more secure. Since the only data a third party could alter in a transaction is the witness signature.

What is a planned “Hard Fork”?

A consensus hard fork occurs when either there is a bug in the software or the software rules need to be updated. To change the software rules, the community needs to come together and agree on the new set of rules. It’s important to have a large majority in agreement with a hard fork because all participants must upgrade to the new version of the software. If they don’t, they will continue to participate in the old chain. A hard fork can split the mining power, amount of users on the network and market share. This may inadvertently affect the security of the blockchain. That’s why it is better to have a majority–preferably over 90%–on the new chain to maintain its dominance and security. With a planned blockchain hard forks, two chains can briefly coexist, each one with their different set of rules. Since a majority of nodes on the network need to upgrade, planned hard forks are considered extremely risky.

What is a controversial hard fork?

A controversial hard fork is the permanent branching of the blockchain. A controversial hard fork happens when a majority of participants in the community cannot come to an agreement on whether or not to upgrade the consensus rules. Both chains share the common historical ledger of the previous chain, however, once the split happens, each blockchain only records the transactions made of the coin that belongs to that blockchain. That’s right when a chain splits, a new coin is created. Each wallet on the blockchain that holds a balance on the historical ledger before the hard fork, will now hold the same amount of coins on both the old and new chain.

Bitcoin Cash is an example of a hard fork chain split. On August 1st 2017, Bitcoin Cash caught everyone by surprise and permanently split the Bitcoin blockchain by increasing the block size from 1MB to 8MB. It also branded itself as “peer-to-peer electronic cash” and later its supporters, Roger Ver and Jihan Wu, Bitmain CEOs at the time, touted it as the “real bitcoin.”

Any user holding BTC before August 2017 automatically had one unit of Bitcoin Cash for every unit of BTC they had in their wallet.

Bitcoin Blockchain: To fork or not to fork

In 2017, the question of how to fork the Bitcoin blockchain took centre stage. Bitcoin Core developers wanted to release a soft fork update called, Segregated Witness. Segregated Witness is an architectural change, not a block size change. It’s a soft fork because it took out the need to verify the digital signature. A digital signature is like a digital fingerprint, it verifies the sender of an encrypted message. A large component of the transactional data stored in a block is the digital signature. The soft fork restricted the current set of rules by removing the digital signature from the transaction data. As mentioned above, SegWit made transactions more secure because the digital signature was the only data that could be altered by a third party. By removing it, all transactional data became immutable, or unchangeable.

While the Bitcoin core developers wanted SegWit, the largest mining company, Bitmain, opposed the soft fork update if it did not include a block size increase. Bitcoin Core developers insinuated that miners were basing their decision solely on profit, instead of understanding the complexity of a hard fork. See, miners make BTC in two ways: the block reward and mining fees. If the block size is bigger and more transactions are included, miners can collect more mining fees. On the other hand, Bitcoin Core developers are volunteers and don’t make BTC for their work. Instead, their incentive lies in the price of BTC and its long-term sustainability.

While the Bitcoin Core developers tried to solve an incredibly complex problem with a billion dollars hanging over them, industry leaders took matters into their own hands. With the intention of scaling the Bitcoin blockchain and finding common ground between miners and core developers, the Digital Currency Group (DGC) released the Bitcoin Scaling Agreement 2017 on May 23. DGC is a cryptocurrency venture fund that invests in start-ups they believe will help grow the ecosystem.

In the statement, DGC announced their support for the code proposal by Bitcoin Core developer Sergio Demian Lerner: SegWit2x — combined hard/soft fork. This combination of forking looked like it appeased both sides of the community. It included the Segregated Witness soft fork updated as well as a block size increase hard fork. However, it “cut right at the heart of how people define[d] Bitcoin,” as Bitcoin Core developer Matt Corallo stated on the Unchained podcast. A discussion emerged around what blockchain the community would define as the real bitcoin. Would the real bitcoin blockchain be viewed as the one with the most market adoption, the most mining power over time, or the original rules written into Bitcoin’s software?

The Bitcoin Scaling Agreement, renamed by the community as The New York Agreement, stated it had the support of “58 companies located in 22 countries, 83.28% of hashing power, 5.1 billion USD monthly on-chain transaction volume and 20.5 million bitcoin wallets.” Bitso was among the businesses that supported the SegWit2x update.

This declaration did not sit well with the Bitcoin Core developers. They felt that the industry leaders and miners were sending the message that SegWit2x would happen no matter what, regardless of the opinion of the developers. Numerous proposals had been put forth by core developers and had been in discussion for a few years, but none were considered to be the best way to tackle the forking issue. The developers felt SegWit2x was too risky and too rushed.

The process of releasing SegWit2x was broken down into two main parts with different release dates–a software update roadmap. The soft fork would be released in mid-August 2017 and would remove the need to verify the digital signature of each transaction, among other things. The hard fork was scheduled for mid-November 2017 and it would increase the block size. The thing is, the hard fork never happened.

The community became too divided. At the last moment, a week before the SegWit2x would launch, advocates for the hard fork released a statement where they withdrew their plans. In the months leading up to the hard fork, crypto-twitter became a vicious place where debates escalated from technological discussions to ego-driven attacks. Meetup groups came out in support of the Bitcoin Core developers and publicly condemned SegWit2x. To safely hard fork the blockchain, a majority of participants needed to be in agreement. And, at that point, no one could agree.

To fork or not to fork the Bitcoin blockchain showed that governance in cryptocurrency can be a difficult task when it comes to changing the rules on the blockchain. When Satoshi Nakamoto wrote the Bitcoin whitepaper, it did not include a governance manual on how to proceed with software updates. This event is a major moment in Bitcoin’s history and showed other cryptocurrencies why software updates should be discussed in more detail from the beginning and maybe even each token should have a guidebook on how to address protocol upgrades.

--

--

Content Strategist @ Bitso.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store