Forks occur when there is a split in a blockchain network, forming two different versions. This happens when blockchains wish to have new features added to their chain or to fix known issues.
Since blockchain networks are open-source, they allow for anyone to contribute to the code and make changes and improvements, which can create updates to the blockchain. Additionally, forks also occur if a blockchain has been hacked and must adapt, which is what happened with Ethereum.
Another reason for forks to occur is when there’s disagreement within the project’s community. If an agreement can’t be reached, miners often use forks to create two different versions of the blockchain. These generally are classified either as soft forks or hard forks, depending on how drastic the changes.
A soft fork occurs when new changes or updates are applied that are still compatible with rules already in place, meaning the system is still able to run even with this new upgrade. Old nodes that haven’t undergone the upgrade are still able to communicate with upgraded nodes, and the upgraded nodes are still valid in the eyes of the old nodes. Soft forks are changes that aren’t radical.
Hard forks are different from soft forks because they consist of dramatic changes that affect the network protocol as a whole. They are a permanent change, where all the nodes have to adapt to the new upgrade and rules; however, since not all nodes agree, it essentially forces a split, creating a new blockchain with new blocks and transactions. An example of this is when Bitcoin had a hard fork of Bitcoin and Bitcoin Cash.