In simple terms, a fork occurs when a change is made to a cryptocurrency’s underlying code that causes it to split into two versions.
Forks occur most often when a new feature, update or protocol change is implemented (commonly known as a “planned fork”), or because users are divided on how to proceed using a blockchain (known as a “contentious fork”), resulting in two versions existing: one with and one without the proposed changes.
Forks come in two forms: ‘soft’ and ‘hard’. A soft fork occurs when a change is made that doesn’t prevent the blockchain from still recognizing blocks created before the fork. This means both the old and new versions remain compatible. Think of it like being able to open a .doc file on Word after the release of the .docx format.
Soft forks require a majority of nodes and users to operate using the new version in order for the change to be recognized, eventually leading to the older version falling into disuse. It also allows nodes that haven’t made the upgrade to continue to produce blocks, as long as they don’t break the rules of the new fork.
In comparison, a hard fork is a permanent change to a blockchain that requires all users and nodes to upgrade to in order to operate on it, and is not backwards compatible. To use the same analogy, it would be like trying to open a .docx file on Word 97 (i.e. you can’t).
Following a hard fork, previous rules are made obsolete and a new version of the blockchain exists going forward, creating two distinct versions of said blockchain that are not compatible.
Soft Fork: The Bitcoin Improvement Proposal (BIP) 66 was a soft fork on Bitcoin’s signature validation.
Hard Fork (planned): Monero implemented a hard fork in 2017 in order to add a new security feature known as Ring Confidential Transactions (RingCT).
Hard Fork (contentious): Bitcoin Cash is a fork of Bitcoin and was created after members of the community believed that increasing block size from 1MB to 8MB would increase transaction processing time.