In the world of open source software, anyone can copy someone’s code, make changes to it and release it themselves as a new version. Like a fork in the road, “forking code” takes software in a new direction.
This practice of forking software encourages rapid evolution and innovation in software. It’s also one of the reasons the crypto industry is going so many directions at once. There are a few different types of forks:
- Upgrade Forks
- Project Forks
- Contentious Forks
Nodes are not required to upgrade when a new version of the software is released. Major software upgrades may result in some nodes being incompatible with one another thus causing a fork in the network.
There are two types of upgrade forks:
- Soft Forks – Upgrade in a way that’s forward compatible. Bitcoin nodes running the old software will accept blocks created by nodes running the new software. Only miners need to upgrade their nodes.
- Hard Forks – Upgrade which modifies the rules in a way that old nodes don’t understand. Everyone on the network including users, validating nodes and mining nodes need to upgrade.
In Bitcoin, hard forks are avoided at all costs as they are seen as to risky. Other cryptocurrencies such as Monero and Ethereum schedule their hard forks and fork regularly.
Now we get into the fun stuff! Project forks is how we ended up with the first altcoins (aka any cryptocurrency which isn’t Bitcoin). Most hardcore bitcoiners call them shitcoins 😉
For example, in 2011 Charlie Lee downloaded a copy of the Bitcoin source code, made a few changes including: shortening the average block time from 10 minutes to 2.5 minutes, increased the supply from 21 million to 84 million coins, etc. and re-launched it as Litecoin!
Litecoin was pitched as a faster Bitcoin, the silver to Bitcoin’s gold. Litecoin’s blockchain started from scratch and Charlie had to attract an entirely new network of miners to participate.
Not every altcoin is a project fork. Ethereum for example was coded from scratch but incorporates similar Bitcoin concepts like blockchain and Nakamoto Consensus.
So what happens if members of the Bitcoin community disagree on how Bitcoin should work?
This happened in 2017 when a group of Bitcoin users believed that increasing the size of the blocks would make Bitcoin faster and cheaper to use. This change would require a hard fork which most of the community disagreed with, but the group referring to themselves as Bitcoin Cash proceeded to make the change and release the modified software anyway.
Bitcoin Cash continued using the Bitcoin blockchain, except nodes running Bitcoin Cash software allowed larger blocks to be created causing the chain to split in two. Both chains now contained the same transaction history but all new transactions had to choose which chain they wanted to transact on.
When the dust settled, everyone who had Bitcoin before the chain split now also had the same amount of Bitcoin Cash. Strangely, Bitcoin Cash began trading at roughly $240, and the price of Bitcoin didn’t change all that much. It seemed as if a chain split caused new money to appear out of thin air! Which led to a flurry of worthless Bitcoin forks.
Chain splits are one reason it’s important to hodl your crypto in a wallet where YOU control the private keys. If your crypto is on an exchange when a split occurs, you have to rely on the exchange to give you the new coins. Sometimes this takes months, years, or never depending on the circumstance of the split.
Contentious forks are not only a Bitcoin phenomenon. The Ethereum blockchain split into two after a hacker stole $50m worth of ETH from a project called The DAO. The ETH fork happened for the opposite reason of the Bitcoin fork. This time, the core Ethereum community patched the bug which caused the hack and then rolled back the blockchain to a point before the hack occurred. A group referring to themselves as Ethereum Classic continue to mine the hacked chain because they believe the history shouldn’t be manually modified. Both the ETH and ETC chains continue to this day and can be traded on most crypto exchanges.