Forks are a big deal for cryptocurrencies like Bitcoin. They can split communities, play havoc with prices, and determine the future path of a cryptocurrency. Software ‘forks’ are a completely new concept for most of us and go against our intuition of how traditional software products develop. This can leave you at a disadvantage in the Bitcoin market.
So, what exactly is a Bitcoin fork? For most of us, knowing the technical details of hard forks and soft forks probably isn’t necessary. But having a clear picture of what forks are, what they mean for the Bitcoin price, and how they might affect you will come in very handy.
Software applications need upgrading regularly. Sometimes bugs need to be fixed, updates are required for new innovations, or core changes are needed for better performance. These upgrades require changing the source code of the software. For traditional software systems, this is quite straightforward. Whoever is running software just upgrades their system. Or, in the case of a consumer software application, sends an upgrade to all their customers (e.g. updating your phone).
Upgrading a Network Protocol
With Bitcoin, it’s a little more complicated. Bitcoin is a protocol, meaning it is a set of rules that a network of Bitcoin users should follow in order to come to an agreement about who owns how much Bitcoin on the network. Upgrading the Bitcoin software means upgrading this set of rules.
As Bitcoin operates as a decentralized network with no central authority, things get complicated pretty quickly. As soon as you think about upgrading the protocol, some difficult questions quickly arise. Things like:
- Who writes the code for the upgrades?
- Does everyone have to upgrade at the same time?
- What if they don’t?
When it comes to Bitcoin, these questions don’t have easy answers. Firstly, anyone can, theoretically, write a code for Bitcoin upgrades (even you!). Lots of people have done it. As long as you have a great idea and can get it out to the community, you can be a part of the process.
The difficult task, though, is getting everyone to agree to the upgrade. Bitcoin has around 3-6 million users. Getting large groups of people to agree on anything is extremely difficult.
In practice, the best the Bitcoin Network can do is get ‘some’ or ‘most’ people to upgrade their Bitcoin protocol. When they do, you end up with two groups of users: those who have upgraded their software, and those who haven’t.
Tip! Use this tool to self-destructing create picture messages
Fork in the Road: Bitcoin Forks
This point is where the Bitcoin Forks happens. Some proportion of the users has upgraded their Bitcoin software, and the rest haven’t. You can imagine the network as splitting, or forking, at that moment in time, from one group with everyone running the same version of the software, to two groups running different versions.
If the new software upgrade is incompatible with the old software, a hard fork occurs. The two groups can no longer reach an agreement on valid Bitcoin transactions. The computers running the old software see transactions from the upgraded ones as invalid. This essentially leaves you with two separate networks that share a history up until the point of the fork, then never agree with each other again.
An example of a hard fork is the Bitcoin Cash. Some section of the Bitcoin community believed that it was necessary to increase the number of transactions the Bitcoin network could handle by increasing the size of each ‘block’ in the Bitcoin blockchain. Some developers created a patch and proposed it to the wider Bitcoin community. Most of the Bitcoin network disagreed and thought increasing the block size was a bad idea for a number of reasons. They refused to upgrade, and when the update happened, there was a hard fork in the Bitcoin network.
Not all protocol upgrades make the new and old versions of software incompatible with one another. If the new changes restrict or tighten the rules, then transactions from newly upgraded nodes will be within the bounds of the old, more relaxed rules.
For example, imagine an upgrade that’s the opposite of Bitcoin Cash, where the network tries to decrease the block size from 1MB to 0.5MB. All new blocks created by the upgraded nodes will be under 0.5MB, which is also under 1MB, and valid under the old rules too. Even if you haven’t upgraded, you can still participate in the network.
The only catch is that blocks generated by the old nodes will be rejected by the ones that have upgraded. This is why you still need a majority of miners (a miner-generated soft fork) or users (a user-generated soft fork) to have a successful soft fork.
In general, soft forks are less risky and easier to pull off than hard forks, but hard forks have more potential to make big changes to the protocol.
Why Forks Are Necessary
Upgrading the rules of the Bitcoin network is a difficult but necessary process. New ideas come along, better technology is developed, and the needs of users change. When they do, these changes need to be implemented in the form of forks. Otherwise, the Bitcoin protocol would never change and never update. We’d be stuck with the same transaction rate, the same scalability and the same features forever.
What Forks Mean for Regular Users
Forks have all sorts of effects on Bitcoin. Firstly, they affect price. When a big fork is coming up, there’s always a risk it might fail and buyers get nervous. You can never be sure that enough users or miners will upgrade to ensure success.
Then there’s the fact that hard forks create two parallel versions of the Bitcoin blockchain, and anyone that owns Bitcoin will end up with two different coins. If you owned Bitcoin before the Bitcoin Cash hard fork, you ended up with equal amounts of Bitcoin and Bitcoin Cash after the fork.
Forks are extremely important to Bitcoin’s development. Don’t be afraid next time you hear of one, you may well end up with a new type of cryptocurrency for free!