A fork is a collectively agreed upon software update to a cryptocurrency built on blockchain. In order for a proposed update to any cryptocurrency, such as Bitcoin, to be implemented, there must be consensus among members of the Bitcoin community, which includes Bitcoin developers, miners and nodes.
An upgrade is generally proposed by Bitcoin developers, which is then accepted or rejected by Bitcoin miners, who vote yay by upgrading their software and starting to mine blocks in the updated blockchain, and nay by not running the new software.
Soft and hard forks
When the majority of users on the blockchain accept the upgrade and miners continue to mine blocks in that updated chain, it’s known as a soft fork. But if certain developers are unhappy with the confirmed changes, they can jump ship and create a new blockchain. The chain duplicates and splits, and the two communities go their separate ways, implementing their own design solutions. This is called a hard fork. Bitcoin Cash, for example, is a result of the so-called ‘SegWit’ Bitcoin upgrade in 2017. The developers who disagreed with the SegWit soft fork created their own Bitcoin Cash blockchain while those happy with the SegWit upgrade continued on the original Bitcoin blockchain.
The Bitcoin network sees continual upgrades, which are executed by a global web of developers. These minor changes to the network differ from consensus code changes, which are structural rather than mere surface tweaks, and require a soft fork.
Forks are the digital equivalent of a spring clean, which is a healthy extension of any functioning blockchain.