If you’ve been a member of the cryptocommunity for more than a couple of weeks, you’ve probably heard the term “hard fork” thrown around by now. Yet, you may be wondering, “What does that mean exactly?” Perhaps you’ve heard of the most popular hard fork, Bitcoin Cash, and have gotten a brief idea of its meaning. The goal of this article will be to simplify the concept of a “hard fork” in an easy-to-understand manner and help you dissect and digest the different hard forks that exist, what they mean, and how they happen.
Hard Fork Definition
The formal definition of a hard fork in the blockchain is “…a permanent divergence from the previous version of the blockchain, and nodes running previous versions will no longer be accepted by the newest chain.”
Unfortunately, it’s not quite as simple as this definition suggests.
So, let’s take it back to the basics for a moment:
The fundamental concept of blockchain technology, as created by Satoshi Nakamoto when he was making Bitcoin, is that decentralization could occur with a distributed ledger. In other words, everyone on the network would have a copy of all the transactions that were made. If Jim sent 10 coins to Sarah yesterday, everyone would possess this information.
People obtain these copies by running a node application. To set it up, one would just download the necessary software and connect to the Bitcoin network. Once connected, nodes receive an updated version of the ledger with ALL of the payments ever made, and these transactions are stored on something called a blockchain.
The rules of the blockchain are enforced by full nodes. This is an important fact to remember when examining and studying hard/soft forks and their occurrences. Full nodes, unlike lightweight nodes, allow mining as they form the backbone of the network and participate in the validation of blocks. Miners are free to mine any type of blocks they want, and it is up to the full nodes to validate those blocks. However, if there is just one full node or even a small percentage of full nodes that validate blocks that a majority of miners are mining on, then there is an imminent risk of a chain split.
Another critical piece of information that one must understand to really understand how hard/soft forks are created is the fact that full nodes are needed to enforce consensus rules on the blockchain. If miners choose to mine blocks that do not abide by these rules, then the full nodes will reject the block.
There is also a difference between consensus and consensus rules. Consensus merely refers to the adherence of nearly-all full nodes to the consensus rules of the network.
Below are some of the consensus rules on the Bitcoin network:
- Block Size
- Proof of Work
- Bitcoin Reward per block
And many more…
How Do Hard Forks Occur?
The concept of a hard fork is somewhat similar to that of a software fork. However, the implications for Bitcoin are a bit more pronounced. Check out the graphic posted below:
This is a good, basic example of what a blockchain should look like. It is linear, so order is extremely important here.
Bitcoin was designed with a specific code by Satoshi (founder of Bitcoin) and others which dictated the consensus rules that were discussed above. Every block that is added to this chain abides by those rules.
A hard fork occurs when these consensus rules are expanded through different software. For example, when Bitcoin Cash was created, it loosened the rules on block size, making it a hard fork. SegWit is an example of the rules being constricted. So, a restriction of the block size would represent a soft fork.
[bctt tweet=”A hard fork occurs when these consensus rules are expanded through different software”]
To get a better visual conception of how this process manifests itself, see the figure below:
As stated in the definition shown earlier, this divergence is permanent and there is no longer any compatibility between the two.
Generally, there are two different ways which a hard fork can occur. It can either be Contentious or Planned.
As their names suggest, both entail entirely different things. A planned hard fork means that the creators/developers were all in agreement as to how the coin would be forked. When this occurs, there is no split in the chain. This is because all of the nodes have agreed to upgrade to the latest version of the coin’s client that possesses the rule change. There will be a split in the chain if all nodes do not adhere to the new rules set by the hard fork implementation. This chain will likely die off without enough economic support. Therefore, planned hard forks are usually under little to no threat unless there is an invisible negative sentiment, which is an unrealistic scenario.
If there was disagreement in the community about the path of a coin, like Bitcoin for example, then a contentious hard fork would occur. The most notable example of this is the creation of Bitcoin Cash, which we will cover in greater depth within this article. Given the nature of blockchains, hashing power, and hard forks, there must be a fair amount of support for the hard fork for it to be economically viable in the long-term.
Hard forks, by definition, are always incompatible with the original chain. Thus, a hard fork will always be irrevocable and permanent. However, it is worth noting that the original chain will always be compatible with the hard fork chain by definition.
[bctt tweet=”A hard fork will always be irrevocable and permanent”]
Typically, when a contentious hard fork occurs there is a split within the community that takes place where some of the nodes on the network that were mining on the previous chain decide to mine on the new chain.
Below is a great visual that shows what this would look like:
Hard Forks Pose a Systemic Risk to Bitcoin
As you can see in the visual above, when a contentious hard fork is created there are two running versions of the blockchain. Ultimately, this is something that any coin would inherently want to prevent at any and all costs for the following reasons as they might cause a malfunctioning of a blockchain system:
- Blockchain reorganization
- Transactions being confirmed by the wrong chains
- Political/Social turmoil within the community regarding the “real” and the “fake”
And several others…
Another facet of hard forks, which is a bit more complex, is that users will receive “free” coins. However, since everything is digital in nature, this is a phenomenon that’s hard to create an analogy for in an accurate way. Essentially, when a hard fork occurs, all previous tokens made on that chain are considered legitimate. Even future blocks that are created with legacy rules would still be considered legitimate, technically (unless otherwise coded to not accept any of the legacy blocks). Therefore, money that one could spend on the hard fork ledger as well as the original ledger simultaneously – effectively, giving another user “free” coins.
What was the first Hard Fork for Bitcoin?
Technically, the earliest Bitcoin hard fork occurred in 2013. However, this was a planned hard fork and not meant to be contentious.
Bitcoin XT (2015) – BIP101
In many ways, Bitcoin XT served as the prelude/buildup to the eventual Bitcoin Cash hard fork. The manifestation of the Bitcoin XT hard fork was born out of the age-old debate in the Bitcoin community regarding scalability. As many in the community had noted as early as 2010, the usability of Bitcoin would be threatened without some tangible changes to the consensus rules.
Philosophically and technically, this argument elicited a variety of different viewpoints, arguments, and criticisms. Some individuals felt that the best way to increase the scalability and usability of Bitcoin would be to increase the block size. If you used Bitcoin in December of 2017, you probably noticed that the fees were exorbitantly high. The reason for this was because there was not enough room within the blocks for miners to include all the tokens that were being sent to the network. This meant that increasingly higher fees had to be paid in order to incentivize the miners to include one’s transaction to be included. In some cases, fees needed to be in excess of $20 if one wanted a realistic opportunity to have their transaction confirmed.
Many in the Bitcoin community saw the inevitability of this fate years prior. Thus, many had advocated for an increase in the block size. However, there was a stronger segment of the community that was against such increases. This increase, they argued, would harm the stability of the network because it would reduce the number of full nodes on the network.
Why Would They Think That?
This criticism was actually directly noted in the BIP101 through the statement:
As noted earlier, only full nodes can validate blocks. When the size of the blocks increases, increased computer memory and technical capacity become necessary for their validation, compared to the validation of blocks of smaller size. Opponents to the increase of Bitcoin’s block size argued that this increase in capacity would reduce the number of full nodes on the network, subsequently making the network less secure.
Below is an image detailing the requirements necessary to run a full node:
Proponents of the increase in block size argued that the increase in technology over time would mitigate the necessary increase in computing power and network capability of those who wished to run a full node.
Bitcoin XT was launched before the Bitcoin network had truly reached a boiling point on this issue.
Mike Hearn, the most outspoken advocate for the increase in block size at that time, spearheaded the Bitcoin XT movement. Gavin Andresen also joined forces with Mike Hearn later on and they partnered up to develop Bitcoin XT.
Who Are Mike Hearn and Gavin Andresen?
For those unfamiliar, both Mike Hearn and Gavin Andresen were instrumental in assisting with the development of Bitcoin in its earliest stages. Gavin Andresen, who is noted for a number of things, is perhaps most famous for being the last person that Satoshi ever talked to. Before Satoshi’s departure, Gavin in many respects was the “point person” for Satoshi in the weeks prior to his eventual disappearance. After that, Gavin also took up the torch as the de facto leader and ended up assembling individuals that would make the first incarnation of the “ore” team.
Hard Fork Rules
The hard fork rules established by Bitcoin XT was an increase in the block size from the limit (still in effect) of 1 MB to 8 MB. However there are many other notable changes that were introduced within the BIP101 (the Bitcoin Improvement Proposal, of which the increase in the maximum block size was suggested by Gavin Andresen) as well. Namely:
- “The maximum size shall be 8,000,000 bytes at a timestamp of 2016-01-11 00:00:00 UTC (timestamp 1452470400), and shall double every 63,072,000 seconds (two years, ignoring leap years), until 2036-01-06 00:00:00 UTC (timestamp 2083190400).”
- “Deployment shall be controlled by hash-power supermajority vote (similar to the technique used in BIP34), but the earliest possible activation time is 2016-01-11 00:00:00 UTC.”
- “This BIP proposes replacing the fixed one megabyte maximum block size with a maximum size that grows over time at a predictable rate.”
In the end, Bitcoin XT was stalled in 2016 as only 10% of miners decided to switch to the project, whereas 75% would be required to make the protocol the de facto standard. Notably, the biggest Chinese mining pools refused to switch over to Bitcoin XT.
If you look closely, you can see that there was very solid momentum for Bitcoin XT at its onset, then the number of operating nodes crashed by 60% before eventually being all but defunct by the middle of 2016, less than a year after implementation. The major problem for Bitcoin XT was its inability to attract a high proportion of the Bitcoin miners’ community to the project because, as noted above, only 10% of those miners joined Bitcoin XT, far beyond the necessary level of 75%. It, of course, does not mean that a similar fate awaits all hard forks, but this does shed light on a major challenge to their successful operation in the long term.
Since Bitcoin XT, more hard forks have been made, and you can learn more about them in detail in our article Bitcoin Forks Chronology – The Ultimate List of Forks. As more hard forks are taking place, understanding what a hard fork is and what are the reasons behind the creation of hard forks is necessary for anyone who wants to become a successful blockchain developer, cryptocurrency trader, or miner. One of the major motivations behind the creation of hard forks is the aspiration to solve the problem of scalability with new consensus rules.
[bctt tweet=”Understanding hard forks is necessary for anyone who wants to become a successful blockchain developer, cryptocurrency trader, or miner”]
As more people are starting to use Bitcoin, Ethereum, and other blockchain-based systems, the problem of scalability is becoming more intense. That is why we are likely to see new hard forks in the coming years. We hope that our guide will be of use to all of you who want to understand the new developments sprouting up in the blockchain industry and successfully assess new hard forks.