What is a fork?

Gemma says…

A fork is a software upgrade that brings new technical features to a blockchain.

Within cryptocurrency, a fork refers to an upgrade to a blockchain network. Forks have become an important and recurring phenomenon because networks are constantly evolving and adding new technological features like privacy and scaling solutions.

Forks are frequently a result of protocol disagreements within a community, but can also be an effort to revert the blockchain history to a point prior to a hack or malicious bug. The most common forks occur when a blockchain network’s most influential stakeholders — mainly miners and developers — cannot agree on updates to the protocol. The most infamous example of this type of fork was when Bitcoin and Bitcoin Cash split in 2017. What resulted was two blockchains competing for the same Bitcoin brand, effectively splitting the community into two distinct ideologies.

When everyone in a network is onboard with a fork, they are said to be in “consensus.” Ethereum’s Constantinople Hard Fork is a great example of this. The entire community in onboard with the changes because they believe the upgrade will have a positive effect on the network. The core developers will add in a number of upgrades on February 27th, 2019.

More formally, these two types of forks are called hard and soft forks. Both have very different implications that are important to understand.

Hard Forks

A hard fork is a permanent split from the previous version of the blockchain, where nodes running the older version will no longer accept transactions created on the new version. This creates two different versions of the blockchain, with one version continuing to run on the old blockchain, and one version operating on the new path. A hard fork is essentially the creation of a new cryptocurrency, with holders of the original currency during the time of the fork getting an equal amount of the new currency.

There have been dozens of hard forks, with the most prominent one being the Bitcoin/Bitcoin Cash hard fork that occurred on August 1, 2017. Many developers and miners were looking to improve the Bitcoin network’s scalability so it could be more of a transactional currency. At the time, fees were higher than optimum and transactions were not being efficiently approved. They proposed that the blocksize of the Bitcoin blockchain had to be increased to allow more transactions to be included in each block. However, a faction within the Bitcoin community did not agree with this, and refused to support the update, resulting in the hard fork. During this fork, Bitcoin continued to operate with the old protocol, and Bitcoin Cash was created with a larger block size.

Soft Forks

In contrast, a soft fork occurs when the code is updated, but nodes running the older version can still approve new blocks. Therefore, instead of two different blockchains (and a whole new cryptocurrency) being created like in a hard fork, new blocks added to the blockchain can still be approved by older nodes. Eventually all older nodes may upgrade, but they do not have to. It is important to note that in both cases, the shared blockchain history will be the same up until the fork.