What is a soft fork?
The moment you use a computer or smartphone, you will need to update it regularly. The software company makes sure the update is available on your device. You can then choose whether to install the update or not. You can base your choice on various arguments.
This also happens with the blockchain. The nodes in the blockchain network will have to update themselves regularly. Such an update can be done through a soft fork, which we will explain more about in this article.
What’s a fork in crypto-terms?
Before we go into more detail about the soft fork and other types of forks, it is important to give more information about a fork. This is because it is not what most people think it is.
The blockchain is a chain of different blocks. In these blocks, all kinds of information are stored. Think for example of transactions, but also of files, photos, or other data. Because each block contains the code of the previous block, it creates a chain of blocks that are connected to each other. Hence the name: blockchain.
Before a block can be added to the blockchain, it will first have to be validated by the network. The network consists of several computers, called nodes. They check if transactions are valid, but also check if other nodes are doing their job correctly.
There are different types of blockchains. These blockchains can also be created in different ways. For example, a blockchain can be built from scratch, while it is also possible to duplicate an existing blockchain in order to adapt it to a new blockchain.
In this case, we speak of a fork. The blockchain is split into a blockchain that runs parallel to the original one. Such a fork can be permanent, although it is also possible that it is a temporary fork.
What is a hard fork?
A group of miners or nodes can decide to continue completely independently. In other words, they then split off from the original blockchain for good, which means that you end up with two different versions that don't get back together.
It also means that you have two different networks of nodes. So the nodes will have to choose which network they want to belong to. In this case we talk about a hard fork, which is the opposite of a soft fork.
There are three different types of hard forks:
- Planned hard fork. This is already planned in advance by the developers to perform an update, for example. For example, consider Ethereum 2.0.
- Contested hard fork. This type of fork occurs when the community does not agree on how to proceed. Bitcoin Cash and Ethereum Classic are examples of this.
- Launch of a new cryptocurrency. Because the blockchain is open source, people can also decide to copy the blockchain so they can start their own cryptocurrency. This was the case, for example, with Dogecoin, which uses the code of the Bitcoin blockchain.
What is a soft fork?
A moment ago, we talked about the hard fork. There are several situations where a hard fork has taken place. However, a hard fork does not always have to take place. It is also possible that a soft fork takes place.
It is important to know that we speak of a soft fork when the blockchain eventually comes back together. Thus, the separation was only temporary, and a permanent different version of the blockchain is not created. There are a number of situations that can lead to a soft fork.
Finishing the same block at the same time
Miners are constantly validating transactions in order to add blocks to the blockchain. Often there are thousands, if not millions of miners working to add blocks to the blockchain. The chance that multiple miners will have a block ready at the same time is therefore quite realistic,
The moment this happens, the blockchain splits itself into multiple blockchains, until the next block is discovered within one of these blockchains. The block is then added to that, after which this blockchain is longer than the other blockchains. The network will then consider this blockchain to be the real blockchain. After that, everything will be as it was before.
In the introduction, we already talked briefly about updating your software. This also happens within the blockchain, where nodes need to update their code to keep up. For example, new features are sometimes added to the blockchain.
The nodes that will update their software will also be able to use the new features. The nodes that do not update their software will not be able to. For example, consider the SegWit update of Bitcoin. Here, there are still some nodes that have not updated their software to this version, so they cannot use SegWit.
So, this does not always have to lead to a hard fork. A hard fork only takes place when a group of nodes decides to actually continue as an independent blockchain.
The SegWit update of Bitcoin
The best-known soft fork is Bitcoin's SegWit update. This update was supposed to solve the scaling problem that Bitcoin's blockchain was facing. It did so by increasing the block size from 1MB to 4MB. This meant that significantly more transactions could be processed.
However, not all nodes were happy with this update, which was mainly nodes from China. They therefore decided not to implement this SegWit update. This created a group of miners within the Bitcoin blockchain who completed their work according to the SegWit protocol, while another group did not.
By early 2021, the number of miners who completed their work according to the SegWit protocol was between 50% and 60%. This is also referred to as the SegWit Adoption Ratio. As China banned Bitcoin mining in mid-2021, this ratio shot up to nearly 80%.
We’re talking about a fork when a blockchain is split. Such a split is not necessarily a bad thing. For example, a hard fork can occur, where the split is permanent. When a community does not agree on certain issues, they can opt for a hard fork. It may also be the case that someone wants to start their own cryptocurrency, and for this purpose duplicates the code of an existing blockchain. This is allowed, because the (public) blockchain is always open source.
A fork does not always have to be permanent. In that case we speak of a soft fork. This is a fork that is only temporary in nature. It can occur when several blocks are ready at the same time. In that case, several blockchains will run in parallel until the next block is added.
A soft fork is also possible when a software update has been released. The best-known soft fork is such a fork, and involves the SegWit update. Not all miners on the Bitcoin network chose to use the SegWit update, which causes different software to be used within a blockchain. This is not a problem, although miners who have the latest software are more likely to be allowed to add a new block.