Blockchain has become a quite popular trend. Almost everyone is speaking about it. And while there are many people trying to become a blockchain professional, only some make it. To help promote blockchain and its concepts for easy digest, today, I’ll be explaining the scariest topic it offers. Yes! Blockchain forking it is. So, let’s stop the wait and deep dive into it.
Before we start, here’s a short video to help you grasp the concept.
Table of Contents
Introduction: Blockchain Forks
Fundamentally, Forking in Blockchain refers to a situation where a cryptocurrency or token project needs to make technical updates to its own code. The following updates are either applied to the backend of a project with no major changes in service, or they are completely changing the scope of the original project.
To explain over better terms, have you ever thought why is there bitcoin, bitcoin cash, bitcoin gold, bitcoin unlimited, bitcoin Exxt and many more other versions of bitcoin. But Why? As they all seem to be the same coin at the end of the day. Well, to make sense of this question, let’s take up a scenario and talk about the scalability debate of any cryptocurrency.
At the core, blockchain miners use their computing power to look for new blocks to add to the blockchain. And as you all know, for a transaction to be valid, it must be added to a block in a chain. But this is where the problem really arises.
That’s because, primarily, every block has a size limit of 1 MB and only a limited number of transactions can go at once. In the early days of bitcoin, it was manageable. But now, as bitcoin has become popular, block size has become a greater issue for both, users & miners across the globe. The reason being that bitcoin, in its current block size, can handle only 4.4 transactions per second (or 4.4 TPS), whereas big credit card companies like AMEX, Citi Cards can clock at the rate of 1400 transactions per second (1400 TPS).
So, in case tomorrow, a mass adaptation of bitcoin happens, it would clearly not become an ideal choice. As most of the time, your transactions won’t just go through in real-time. Yes! you heard it right. It would be the case if there’s no solution to managing transactions. The good news is that there’s something to help solve this problem.
It’s is called the “Replaced by Fee” system. For instance, let’s say ‘John’ needs to send 10 BTC to ‘Brian’, but unfortunately, the transaction is not going through because of an existing backlog. Now, John cannot delete the transaction simply because of a simple rule that bitcoin once spent cannot come back.
However, if John does another transaction of 10 BTC to Brian. But this time, with a transaction fee high enough to incentivize miners, what will happen now is that the previous transaction will be overridden with the new one. Primarily, the one with the transaction fee would be added to the block and recorded onto the ledger.
Good, right? Well, certainly not. Because while this ‘Replace by Fee’ system is quite profitable for miners, not many users are much comfortable with it. As even when you pay the lowest transaction fee possible, still your transaction might be processed in about a median time of 10 minutes, which in many situations accounts for a lot of time in terms of a transaction.
Now the debate starts. If there is a larger block size, it will fetch more processed transactions, which in turn, will fetch more fees to the miners, i.e.,
Larger Block size = More processed transactions = More Fees
However, it does sounds lucrative, but still, some miners believe that they would be losing a large portion of the block pool and it will result in less opportunity for the replace by fee system. Mainly due to the reason as individual transactions will decrease over increased volume. To solve this dilemma, forking is something that comes as an ideal solution.
Consider forking to be any divergence in Blockchain, be it temporary or permanent. In a nutshell, forking is said to happen when a Blockchain splits into two branches. And it can happen as a result of a change in the consensus algorithm or any other software changes in the blockchain.
Types of Blockchain Forks
Further, depending on the nature of change, the fork can be categorized into Hard Fork and Soft Fork.
What is a Hard Fork
It is regarded as a permanent divergence from the previous version of the Blockchain. Here, the nodes running previous versions will no longer be accepted by the newest version of the chain. Executing such a fork in the protocol makes previously valid blocks or transactions invalid. So, any transaction on the forked (newer) chain will not be valid on the older chain as well. To reaccess, all nodes and miners will have to upgrade to the latest version of the protocol software if they wish to be on the new forked chain.
A hard fork requires the user of the chain to make a choice between one chain or the other one. But do keep in mind that a hard fork is usually done only when there is enough support from the mining community. In any typical case, the support should come from 90 to 95 percent of the miners on the network.
Example of Hard Fork
A good example of a Hard Fork was when Bitcoin Cash was born. Previously, Bitcoin owned the majority in the cryptocurrency game. But as transaction times slowed down and single transaction fees started to rise up, the future of Bitcoin came into question. Thus, Bitcoin cash was made as a solution by the community. And while both of them are bitcoin, the major difference between the two is the size of the block, Bitcoin cash (BCH) has a block size of 8MB where as Bitcoin has a block size of 1 MB.
What is a Soft Fork
A soft fork is when a change to the software protocol happens, but also keeps it backward compatible. This means that the new (forked) chain will follow the new rules and will also honor the old rules on the network. The original chain will continue to follow the old rules. A soft fork requires only a majority of the miners upgrading to enforce the new rules (more than 51%); as opposed to a hard fork which requires (almost) all nodes to upgrade and agree on the new version.
For example, you can think of a soft fork as a basic security update for your computer.
Lastly, remember that blockchain forks can occur for many reasons. Be it cultural differences, technical enhancements, or simply what different developers value. In an ideal world, soft forks would allow the network to remain intact while constantly adding new features but in case of a major difference like bitcoin and bitcoin cash, it may be the best possible scenario. If you are someone who is keen to learn blockchain technology or is a practitioner but seeking recognition. I’ll recommend you to take up this blockchain certification program to enhance your influence in your industry.
You may also like,