A “fork” refers to a divergence in the blockchain network. When a fork is initiated, node operators, machines that validate transactions on the blockchain, must upgrade to the latest version of the protocol. Each node has a copy of the blockchain, which ensures that new transactions are not in contradiction with its history.
There are two types of forks: soft and hard. Both types of forks create a split in the blockchain’s transaction history, but they do so in different manners with differing implications for the network. A soft fork is a software upgrade to the blockchain that does not split the chain in two as long as most nodes on the network adopt the upgrade in question.
A hard fork is a change to the blockchain protocol that is not backward compatible. Every node must upgrade its systems to the latest version to remain active in the network. In instances where consensus on the new rules isn’t unanimous, it can result in the blockchain dividing into two distinct paths, each progressing independently with its respective ledger of transactions from the point of division onward.
Compared to hard forks, soft forks are considered a more prudent and safer alternative as they are backward compatible. This means nodes that do not upgrade to the newer version of the protocol will still see the chain as valid. Soft forks can add new features and functions that do not change the rules followed by the blockchain. These types of forks are often used to implement new features on a programming level.
The split between Ethereum and Ethereum Classic is an example of a hard fork. The fork happened due to disagreement over the decision to reverse transactions following the DAO hack. On the other hand, Bitcoin’s SegWit sidechain integration, which went live in August 2017, is an example of a soft fork.