What Is a Fork?
In the context of open source software, a fork is a change to the source code. Since open source software is run by many decentralized parties, not all users immediately adopt the changes when developers add a change to the code. Some users might never upgrade to the new version.
This might not matter for software that does not require interoperability, but for Bitcoin, it is essential that all members of the network run compatible code. This does not mean all Bitcoin users must run the same code, simply that they must run code which can communicate and form consensus with other users’ code.
In the more specific context of decentralized protocols, a fork is a code change that also changes the rules of the protocol. Bitcoin’s code might be slightly altered to fix bugs and improve the user experience, but these changes are rarely labeled as forks. Instead, significant code changes which alter the rules of the network are called forks.
Soft Forks and Hard Forks
Forks can be described as either a soft fork or a hard fork. At its simplest, a soft fork is a rule change that is backwards compatible, meaning it remains interoperable with the previous version. On the other hand, hard forks break interoperability with the last version.
Soft forks remain backwards compatible by introducing new rules and not altering or eliminating existing rules. Soft forks constrict the area of allowed behavior. Hard forks expand the area of allowed behavior by altering or eliminating previously existing rules.
The effect of these definitions in a consensus protocol like Bitcoin is that soft forks do not require all nodes, members of the network, to adopt the changes, while hard forks do. When some nodes adopt a soft fork and some do not, the two groups maintain interoperability. Whatever the upgraded nodes consider valid will, by definition, be valid for old nodes as well, meaning the two groups will continue to achieve consensus.
Hard forks break interoperability between nodes who adopted the changes and those who did not. In the worst case scenario, a hard fork results in two separate networks. Alternatively, hard forks have overwhelming consensus from network members, and almost every node adopts the changes, resulting in a unified network.
Hard forks are sometimes required to fix critical bugs or introduce radical changes to a protocol. However, because of the possibility of a network split, hard forks are more dangerous than soft forks, and are avoided by the Bitcoin community as much as possible.
Bitcoin Forks
Throughout Bitcoin’s history, several groups have attempted to hard fork Bitcoin and create a new network. These spinoffs wanted to add new features or rules to the Bitcoin network, but never gained significant support from the community, so they chose to create a new network.
The groups that led these hard forks were dissatisfied with Bitcoin’s consensus mechanism, which is not as easily manipulated as other social networks. Bitcoin is governed by the nodes who run the Bitcoin code, not by developers or those who hold a lot of bitcoin. If nodes choose not to run the latest changes to Bitcoin’s source code, then those changes will never take effect.
Do Bitcoin Forks Affect Bitcoin?
Since Bitcoin is an open source network, forking Bitcoin’s code and creating a new network is easy. However, convincing Bitcoin users that this new fork is better or more legitimate is practically impossible. For this reason, forks of Bitcoin have all failed to build network effects and have all lost value and security against Bitcoin.
Do Bitcoin Forks Cause Inflation?
Bitcoin forks do not create inflation for Bitcoin, as they are a completely separate asset. The tokens issued on a fork of Bitcoin’s blockchain are not interoperable or fungible with Bitcoin’s token, bitcoin (BTC). This fact has been reflected in the steady devaluation of all Bitcoin forks in relation to Bitcoin.
Do Forks Disrupt Bitcoin’s Consensus
The proposal of a fork, whether a hard fork or a soft fork, can trigger discussion and argumentation within the Bitcoin community. However, as long as the community continues to run interoperable code, the Bitcoin network is strengthened, not harmed, by debate.
In 2017, there was contentious and heated debate over the activation of SegWit. Some Bitcoin users wanted to include a hard fork with the SegWit upgrade, which would have disrupted consensus and harmed the Bitcoin network. However, the members of the Bitcoin network came to consensus and adopted the soft fork version of SegWit while rejecting the hard fork.
➤ Learn more about SegWit activation.
Key Takeaways
- In decentralized systems, a fork is a change to a protocol’s ruleset, usually reflected as a change in the source code.
- A fork can be a soft fork or a hard fork. Soft forks maintain backwards compatibility, while hard forks do not.
- Hard forks sometimes result in two separate networks. In the case of Bitcoin, forks have never competed with Bitcoin or truly split consensus.