Bitcoin is an open source protocol. That means its code is freely available for anyone to read, modify or run. As such, it is constantly evolving, be it due to bug fixes, the adding of features or a change of direction in the project.
Like in any open source software project, changes are determined by consensus reached amongst its developer base. Due to this collective nature, sometimes a proposed change in a project can bring its developer community to diverge and part of the group might choose to fork (split) the source code, effectively leading to two independent implementations.
In the context of Bitcoin and other public blockchains, there are two categories of such intentional forks: soft and hard.
What is a soft fork?
In the Bitcoin network, a soft fork means that blocks created following the new rules are considered valid by nodes using both versions of the software, although not all blocks created by the old version are valid to the updated nodes.
A soft fork requires less coordination to avoid a chain split, since only a majority of block creators (miners) are required to update their software in order to keep chain integrity. Regular validating nodes do not require to immediately update, as they will accept both block types as valid.
However, a miner using the old rules risks having her block rejected by part of the network if the soft fork is widely adopted, leading to a temporarily split chain. Since there have costly implications, miners have the economic incentive to reach consensus and coordinate to quickly implement a popular proposal.
In Bitcoin, for example, the Segwit upgrade was a soft fork - nodes running the old version of the software still recognise blocks generated by the new rules as valid. Since at the time the overwhelming majority of miners implemented the changes, no invalid blocks were created and thus the blockchain remained unified.
What is a hard fork?
When the change is such that blocks created by the upgraded version would be considered invalid to older versions, then it is called a hard fork. In this case, the new rules are incompatible with the old ones. New blocks are automatically rejected by all non-updated participants, leading to a chain split between implementations. For that reason, hard forks require a great deal of coordination to keep the whole network committed to a single chain.
Hard forks can potentially lead to completely independent blockchains - and sometimes that is the intended result, as in the case of Litecoin and Bitcoin Cash.
In these cases, a considerable number of Bitcoin nodes agreed to split from the main blockchain and the resulting chains became effectively new currencies. They share their transaction history with Bitcoin up until the fork, but moving onto their independent blockchains afterwards.
Such splits, if not properly implemented, can lead to security problems like replay attacks, where a user’s spending in one blockchain can be copied and broadcast to the forked one by a malicious actor, potentially resulting in loss of funds.
What is Bitcoin Cash?
Bitcoin Cash, as the name suggests, was created with payments in mind. You can read more about Bitcoin Cash in our blog, but in essence this fork was a result of the efforts led by a group of miners that aimed to achieve faster, cheaper transactions. How would they do this? By increasing the block size.
Bitcoin blocks had originally no size limit, but in 2010 its main contributors implemented the 1MB maximum that stands today. Though no reasons were explicitly stated, there is a general agreement that smaller a block size would help protect against spam in the network.
But why is block size an issue? Simply put, blocks size determine how many transactions are validated in every block time, the time it takes in average for a block to be confirmed by miners (around ten minutes for Bitcoin). Since each transaction has a size in bytes, a block can only hold so many. That means that if a block is ‘full’, the remaining transactions will remain in queue, waiting for confirmation.
Since miners are incentivised by a variable fee for every confirmed transaction, such a network congestion leads to expensive, slow payments, with lower-paying transactions taking days to clear during peak times, and very high fees being charged for quick settlement. It’s not ideal to pay for a $5 coffee when the fee amounts to $15.
A group of participants, feeling that was hindering Bitcoin’s adoption as a means of payment, proposed that an 8MB block size would great increase the transaction rates, unclogging the network and offering much lower fees. So, on the 4th of August, 2017, Bitcoin Cash was born.
A fork can also cut both ways. Less than a year later, in early May 2018, Bitcoin Cash itself went through a hard fork. This increased the block size to 32MB and added the support for smart contracts, a feature that was also an early part of Bitcoin.
This move was carried out with the support of virtually all developers on Bitcoin Cash, and pretty much overnight the majority of the network had adopted the changes.
While such a seemingly heavy-handed approach may add to the chorus of protests against the currency’s centralisation, Bitcoin Cash’s proponents argue that this is an overall positive feature, since beneficial decisions can be carried out much more quickly.
The jury is still out as to which of the different approaches (if any) will prove more effective in the long run, but in the meanwhile Bitcoin Cash is proving itself quite successful.
Will there be more forks in Bitcoin Cash?
Bitcoin Cash, like Bitcoin, is open source, so anyone is free to change and run their own version of the code. However, as with all networks, cryptocurrencies are only as valuable as their user base - so any forked version would have to earn considerable support from both developers and end users to stand a chance to survive.
Given Bitcoin Cash’s short history and internal politics, it’s unlikely any changes would take place outside its established order. However, as proven by the May 2018 event, a fork can happen in very short notice.
Cryptocurrencies are in their infancy and are evolving constantly, so this is unlikely to be the last iteration of Bitcoin Cash. What kind of change will it undertake, and when will it take place is anyone’s guess. Ultimately, though, it will always come down to successfully bringing in and holding onto its users, and so far Bitcoin Cash has proven to have the kind of staying power to do just that.
You can use both Bitcoin and Bitcoin Cash to start betting on Cloudbet.com.