- Forking is the process of upgrading a blockchain which may create a new blockchain in the process
- Forking happens when two nodes try to validate one particular transaction at the same time
In software engineering, a project fork is a concept that occurs when a developer takes a copy of the source code from a package and starts developing a separate piece of software. A fork is usually caused by a disagreement within a project community, which prevents the project from moving forward. It can also happen when the members of a team are unable to reach a consensus on the next steps.
A very good example of this is the Bitcoin (BTC) fork that created Bitcoin Cash (BCH) in 2017, when Bitcoin Cash rejected the SegWit upgrade. It also only supports a block size of 8MB, which is bigger than Bitcoin’s 2MB block size, resulting in a bigger block memory size.
What is Blockchain Forking?
A blockchain fork is a process that involves altering the rules of a pre-established blockchain. With each fork, the participating rules can be modified for participating nodes to upgrade the blockchain. Sometimes, the rules are backward compatible, while they are not at other times. Being backward compatible implies that nodes that did not participate in the upgrade or agree with, can continue validating transactions on the blockchain.
In this forked process, a blockchain goes through a change in its rules regarding the validity of transactions. Forking can be applied to several fields in technology. Any upgrade in technology that duplicates a copy to give better functionality to the system. Forks in the blockchain can take place when two miners discover one particular block at the same time, thus requiring a blockchain upgrade. When this happens, it means there is a problem with the original blockchain. Most times, such transactions in that discovered block will revert and an upgrade will be planned for the blockchain.
Forking might also happen in other circumstances when the chain developers aim to change the rules the blockchain uses to validate transactions.
Although a blockchain’s design and use case is different, a fork can happen on any type of platform.
Types of Blockchain Forks
The type of fork determines the state of the blockchain and this is usually dependent on the agreement of the miners or nodes to accept or reject the forking. The different types of forking are:
A hard fork is a type of blockchain protocol upgrade that is not backward compatible. It requires all the nodes to be upgraded to implement its new rules. When nodes are not updated or reject the new upgrade, they are removed from the network and cannot participate in the blockchain process going forward. The Bitcoin fork that led to Bitcoin Cash is a good example of a hard fork.
Sometimes, a portion of the network (some nodes or its miners) decides that it does not want to support the new rules or upgrade. The blockchain then splits into two separate chains, forming the hard fork. These two separate blockchains will have different cryptocurrencies as their utility tokens. It is pertinent to know that before the split, both of these cryptocurrencies had the same history.
But after the split, the rules of the two separate chains are no longer the same and tokens cannot be sent between unless one uses a bridge in some cases. The new upgraded chain mostly retains its parent name, while the old chain usually gets a new name as in the case of BTC and BCH.
A soft fork is a type of blockchain protocol upgrade that is backward compatible. It allows nodes to continue participating in the blockchain even if they have not upgraded to the latest version or accepted the upgrade. This means that if a node that hasn’t upgraded wants to continue using the new blockchain, it can do so.
A basic non-blockchain example of a soft fork is a smartphone upgrade where users can keep on using the phone even when they don’t upgrade their devices. A good blockchain example of a soft fork is the Segregated Witness (SegWit) bitcoin fork that happened after the BCH hard fork, changing the format of bitcoin blocks and transactions.
User-activated soft fork (UASF):
A user-activated soft fork is a controversial concept that explores the possibility of adding an upgrade that’s not supported by the network’s main power generators, i.e., the nodes or miners that provide the hash power.
When blockchains are hard forked and new coins are created, they are taxed according to a particular country’s governing laws. However, soft forks are not separately taxed because no new coins are created.
At Binocs, we offer a product that helps users manage their crypto taxations as well as their portfolio. This solves the tax accounting and portfolio management challenges from the crypto perspective for millions of users. All you need to do is to register on the Binocs platform and your challenges are sorted out!
Frequently Asked Questions
1. What is the difference between a hard fork and a soft fork?
Hard fork is not backward compatible, but a soft fork is.
2. Why do forks happen in a blockchain?
When multiple miners’ software gets misaligned, a fork occurs. If they don’t have a unanimous decision, then two different blockchains will be created. It’s up to them to decide which blockchain they want to use.
3. What is a forked token?
A forked token is one that is created from a forked blockchain. An example is Bitcoin Cash (BCH).
Leave a Comment