One term you will hear a lot in cryptocurrency is “fork”.
There’s a reason for this:
In August of 2017, there was a major “fork” of Bitcoin that created Bitcoin Cash. In 2016, there was a fork of Ethereum, forming a new Ethereum cryptocurrency and separating it from Ethereum classic.
This article will explain what exactly forks are and how they impact cryptocurrency.
Blockchain platforms run on protocols, which are agreed upon and verified by the nodes on the blockchain.
Transactions between two parties create a block, which is sent out on the distributed ledger, the network confirms the transaction, and the block is added to the network.
A key element of the blockchain platform that relates to forks is the blockchain protocol.
The protocol governs how the blockchain works: what size blocks are, rewards miners receive, how fees are calculated and a variety of other things.
Blockchain platforms are always evolving. In the way that Windows and Apple update their software, so too, do blockchain platforms update and change.
Sometimes groups of developers disagree on how to update the blockchain or how a blockchain platform should evolve.
Some might want bigger blocks, some might want different rewards for miners, some might want a change in fees.
Because developers and miners are working together on the blockchain and know and understand the technology, they have the ability to evolve the blockchain or take it in a new direction.
And that is what a fork is: a segment of the blockchain heading in a new and different direction, like a fork in a road.
What is a fork?
A fork in a blockchain is an instance of developers creating a new blockchain protocol (although one related to the existing blockchain protocol) to allow for a different and new version of the blockchain.
To create a fork, developers copy the existing blockchain protocol, then modify it to add the new protocol that they want to implement.
To execute the fork, they choose a point in time in the future, usually a specific block number that is yet to be created, and determine that as the point in time at which the fork will take place.
Forks are often implemented for one of the following reasons:
- To fix security problems in the existing blockchain.
- To add new functionality (like block size).
- To reverse transactions.
Keep in mind that consensus is a key aspect of a blockchain protocol. Developers and miners need to have consensus about the protocol on the blockchain.
When a group of developers want a change to the block, say the size of blocks (the larger the block, the more transactions are possible), they need to form a consensus as to whether make the change.
If the community cannot arrive at a consensus and two groups want to take the blockchain in differing ways, then the one group can fork the blockchain and take it in a new direction.
To add another layer of complexity to how all this works, there are two types of forks: hard forks and soft forks.
What is a hard fork?
A hard fork is a change to the original blockchain that makes the new blockchain incompatible with it.
With a hard fork, the “nodes” on the new blockchain will not interact with or acknowledge transactions or nodes on the old blockchain.
Hard forks are a major change in a blockchain. Any transaction that occurs on the new blockchain cannot be compatible with the old blockchain, and vice versa.
Nodes on the old blockchain will see transactions on the new blockchain as invalid.
The changes affect miners, too. For a miner to mine blocks on the new blockchain, all the nodes on the blockchain need to be updated to be compatible to the new protocol.
Probably the most well-known recent example of a hard fork is the creation of Bitcoin Cash in August 2017.
A group of developers, investors and miners wanted to increase the size of Bitcoin’s blocks from 1MB to 8MB, which would help with the scalability of the blockchain and enable more transactions.
But the proposal created conflict in the Bitcoin community.
One primary reason is that small miners used to working on the traditional blockchain network would struggle to mine the larger blocks.
The concern was that without small miners working the blocks, power in the community might be consolidated amongst larger miners.
But those pushing for the change maintained their desire to create larger blocks, and so on August 1, 2017, they launched a new protocol that created a fork in the blockchain to create Bitcoin Cash.
Another recent example of a hard fork was the formation of Ethereum Classic in 2016, which came about in an attempt to reverse the affects of a hack.
The hack was on the Decentralized Autonomous Organization (DAO) in the Ethereum blockchain, which siphoned tens of millions of dollars worth of currency to an unknown hacker.
Due to the severity of the hack and its impact, the Ethereum community voted nearly unanimously to create a hard fork to roll back transactions, allowing DAO token holders to have their currency returned to them.
However, even in this case, certain developers decided to continue working on the “old” Ethereum blockchain.
So now there are two Ethereum blockchains: Ethereum and Ethereum Classic.
What is a soft fork?
While in a hard fork nodes on the new blockchain are not compatible with the old blockchain, a soft fork is considered “backwards compatible”.
The nodes on the old blockchain can recognize the transactions on the new blockchain, so they can follow the new protocol while also honoring the old one.
This means that users of the blockchain who did not upgrade to the new protocol can still verify transactions on the blockchain.
Most often, the aim of a soft fork is to evolve the existing blockchain, maintaining a single blockchain rather than creating two.
One specific problem with soft forks is that if the majority of nodes mining blocks do so on the old blockchain, those blocks will be rejected by the upgraded nodes.
As a result, a soft fork requires the majority of the network’s hash power to function. If the soft fork does not receive an adequate amount of hash power, it can be orphaned by the network.
The good and bad of forks
For cryptocurrency investors, one of the potential benefits of a fork in a blockchain is that when the blockchain forks, anyone who holds that currency receives an equal number of coins of the new blockchain for free.
In the case of Bitcoin, when the Bitcoin Cash fork occurred, anyone who owned Bitcoin received Bitcoin Cash tokens at a ration of 1:1. This had a huge financial reward for Bitcoin investors.
Of course, not every new currency that is formed has the kind of value that Bitcoin Cash has, let alone much value at all.
But hard forks do not come about easily. The proposal of one can often lead to significant conflict in a blockchain community.
This was the case when the Bitcoin Segwit2X hard fork was proposed in 2017. The intent of Segwit2X was to increase the size of blocks on the Bitcoin network from 1MB to 2MB, but the proposal was so controversial that a consensus about it was not agreed on, and the protocol was never developed.
Forks are a natural way for blockchains to evolve and there will be more in the future.