The blockchain, which is the underlying technology powering cryptocurrencies, was originally designed to be a decentralized, open-source ledger where virtually anyone could be able to see records and the codes running the database and contribute to it. As blockchain technology evolves and more efficient discoveries are found, there becomes a need to make changes to the code of the blockchain to adapt to these newer and more efficient discoveries. The process of changing these codes is what is called a “blockchain fork.”
What does Fork mean in cryptocurrency?
A blockchain fork is a change in the code of the blockchain, thereby creating a new version of the blockchain. A fork doesn’t just occur by itself; a fork is usually initiated by agreement within the blockchain community to initiate software upgrades and changes.
Although the blockchain is open source and anyone can see the code and contribute to it, major changes in the underlying code and software upgrades can only be made by the decision of the core community.
In the bitcoin community, there are 3 main participants in the decision-making process.
Developers These are responsible for creating and maintaining the codes that run the blockchain. They also create the software updates necessary.
Miners help secure and maintain the health of the network by putting in resources to ensure new blocks are created and added to the blockchain. In the case of bitcoin, miners do this with the proof of work mechanism.
Full node users—these are the backbone of the network. They validate, send, and receive blocks and transactions, as well as keep a backup of the blockchain ledger.
Before any changes to the blockchain code can be made, these participants must reach an agreement through a decision-making process.
It’s important to remember that these aren’t all-powerful dictatorships. They are only service providers, and if people decide not to use the network, the coin’s value will decline. Miners are directly impacted by the loss of value because their rewards become worthless when denominated in dollars. Developers, on the other hand, can simply be ignored by users.
The importance of blockchain forks
Just as mobile applications require upgrades to better and improved versions, blockchain forks allow blockchain software to be upgraded and developed to more efficient and effective versions.
Why do forks occur?
Forks most commonly occur when the software of different miners becomes out of sync, forcing the miners to choose between using the original blockchain or creating a forked blockchain, resulting in two versions of the blockchain.
Forks occur for several reasons, some of which could be
- Increase functionality.
- Improve security risks
- Identify and address underlying community disagreements about the blockchain’s direction.
Types of forks
Forks are divided into two categories.
- Hard fork
- Soft fork
It is necessary to first understand what a blockchain is in order to comprehend the hard fork. The blockchain is essentially a chain of blocks linked together that can be traced all the way back to the very first block that was ever minted.
A hard fork occurs when the code of a blockchain is changed, resulting in a new version that no longer has consensus with the old one. A hard fork is a significant change to the protocol of a blockchain network that divides the network into two branches, one following the old protocol and the other following the new one.
Hard forks are considered dangerous due to the frequent chain split. The network becomes less secure and more vulnerable to attacks if there is a split between the miners who secure the network and the nodes who help validate transactions. Bitcoin cash and bitcoin gold are examples of bitcoin network hard forks.
A soft fork is a change in the code of a blockchain that leads to two versions, the new blockchain and the old blockchain, which can still be validated by the new codes. Unlike hard forks, soft forks are backward compliant, meaning old nodes can still be validated by the new version and consensus reached.
A soft fork can be used to add new features and functions that do not change the rules a blockchain must follow. Soft forks are often used to implement new features at a programming level.
The first-ever bitcoin fork
The first bitcoin fork occurred in 2017 when bitcoin was split into the original bitcoin blockchain and the new version, Bitcoin Cash, which was a hard fork of bitcoin. The Bitcoin Cash fork was an attempt to solve one of Bitcoin’s underlying problems: scalability. The fork was created after a lot of arguments within the bitcoin community. The Bitcoin Cash supporters wanted to increase the block size of the blockchain, while the opponents disagreed with the change.
Segwit2x hard fork
Segwit2x was a proposed hard fork designed to scale the bitcoin network. It proposed the increment of the block size from 1 MB to 2 MB on Bitcoin’s network. It was released in May 2017 and set to be implemented in August 2017, but the implementation was suspended following several disagreements within the bitcoin community. It was reported that the Bitcoin Core developers, miners, and full nodes did not reach a consensus on the decision to develop and implement the SegWit 2x hard fork.
After Segwit, the Taproot upgrade was one of the most anticipated upgrades on the bitcoin network. It is thought to be the upgrade that will address Bitcoin’s scaling issues, lack of privacy, and other issues. The Taproot is a soft fork that was implemented on November 14, 2021, that improves Bitcoin’s scripts to increase privacy, efficiency, and the network’s ability to process smart contracts. The taproot upgrade consists of 3 major Bitcoin Improvement Proposals (BIP), which are taproot, tapscript, and the new digital signature scheme called Schnorr signatures.
Forks allow blockchains to be updated and improved to maintain their decentralization and achieve the goal of eliminating the need for a centralized authority to control the blockchain and how it functions. As blockchains and cryptocurrencies evolve, forks enable them to incorporate new features. Otherwise, we’d be stuck with the same set of rules for the duration of the protocol.