What are blockchain forks?
In the context of blockchain, a fork is a technical phenomenon that occurs when a blockchain splits into two separate branches. These two branches share their transaction history up until the point of the split. From there on, they each go independently each in their own direction.
There are many possible reasons for the occurrence of blockchain forks. A fork can be either accidental or intentional. Intentional forks are further categorized as either soft forks or hard forks.
- A blockchain split that produces two competing branches.
- Can be accidental or intentional.
- Accidental forks are resolved by the blockchain.
- Intentional forks are used to implement new consensus rules.
- Hard forks require nodes to be upgraded to the new consensus rules or to rollback the state.
- Soft forks don’t require nodes to be upgraded to the new consensus rules. Some cryptocurrencies, like Bitcoin Cash, are created using hard forks.
Accidental and intentional forks
At any given moment, thousands of miners are competing to create a new block. With so much mining going on at once, two or more miners sometimes mine a new block at the same time. When this happens, an accidental fork is created. The problem is solved when new blocks are added to one of the chains. When that happens, the network continues working on the longer chain and abandons the shorter one.
When an intentional fork is made, the network doesn’t reconverge on a single chain. This type of a fork is used by blockchain developers to implement changes to the protocol. For instance, developers may use an intentional fork to increase block size, reduce block time, or even implement an entirely new consensus algorithm. An intentional fork can be hard or soft. The two differ from each other in terms of compatibility with the other chain and their applications.
Soft forks and hard forks
A hard fork is a fork that introduces new rules and requires the nodes in the network to upgrade their software. Consider a blockchain with a block size limit of 1 MB. If you wanted larger blocks that could store up to 8 MB of data, you would have to implement a new set of rules that would increase the block size limit from 1 MB to 8 MB. This would result in a hard fork.
When a hard fork occurs, the community members (users and miners) must make a decision. They can either update their node and switch to the newly-forked chain, or they can keep running the old software. Either way, they own cryptocurrency on both chains; they have coins on the legacy chain from before and they can claim the new protocol’s cryptocurrency on the new chain.
Once a change is put in place, any nodes that fail to upgrade to the new consensus rules can no longer participate in the consensus mechanism. They are forced onto a separate chain the moment the hard fork takes place. Non-upgraded systems can no longer process the new consensus rules, making a blockchain split by a hard fork forward incompatible with the main chain.
As opposed to hard forks, changes implemented by soft forks make the chains forward compatible. To be forward compatible, blocks created under new rules must also be valid under the old rules (but not the other way around). Due to that, a soft fork does not require nodes to be upgraded. They can keep running the old software version and still participate in the upgraded network as validators of transactions. Soft forks can be activated by users (UASF, or user activated soft fork) or miners (MASF, or miner activated soft forks).
Forks in practice
Blockchain forks occur quite often. In fact, they are one of the ways of creating new cryptocurrencies. Some popular currencies are products of hard forks. An example is Bitcoin Cash, which forked from Bitcoin in August 2017. The Bitcoin Cash fork changed the block size limit from 1 to 8 MB and later to 32 MB.
Another example of a hard fork is Ethereum Classic. This was created in October 2016, when a group of developers rejected new rules that were implemented with a hard fork. Instead, they opted to keep using the old Ethereum blockchain, which was later renamed Ethereum Classic.
Because they have the potential to split the blockchain community into two groups, hard forks normally take a back seat to soft forks in the development process. It was initially thought that Bitcoin’s SegWit protocol would require a hard fork to change the fundamental structure of transactions. However, the developers found a forward-compatible solution and implemented SegWit with a soft fork. To this day, nodes that haven’t been updated to SegWit still participate in the soft-forked Bitcoin network.
Knowing about forks will be useful for anyone who owns cryptocurrencies. In case a cryptocurrency you own is subject to a hard fork, this knowledge will help you decide which branch you should adopt and aid in choosing your wallet provider or cryptocurrency custodian.