Bitcoin Forking – what’s the fuss about
Bitcoin forking has been talk of the town of late.
What is forking?
Types of forking…..
Effect of forking…….
Long term consequences of forking….
All these we need to study and understand here .
What is Bitcoin Forking
Forking is basically updating a software. All of us update software and apps in our mobiles every now and then. This Updating simply means changes in software to work in better way.
Now let us analyse what’s the need of updating in case of Bitcoins.
Why Bitcoin Forking Needed
We all know that for Bitcoin transactions to complete we need confirmation from 6 nodes. Currently there are approx 300,000 bitcoin transactions per day. This comes out to be approx 3.5 in a second. Against this visa credit card handles 1667 and pay pal 193 transactions per second as per 2016 data. As awareness of Bitcoin is going up how do we ensure timely confirmation from nodes. This time to confirm had gone up tremendously. Whereas earlier it used to be hardly few seconds to 2-3 min, it increased to several hours. At times transactions takes even more than 24 hours to confirm. This became a major bottleneck for bitcoin transactions and were considered as a hindrance in routine bitcoin transactions. Number of transactions were increasing day by day but the software was not able to accommodate all transactions. During June’17 confirmation time went as high as 2500 minutes as shown by blockchain.info. Hence people’s perception of this wonder currency started to diminish as they realized that this wonder currency cannot be future global currency since the software is incapable of handling very high number of transactions. The comparison was now with the number of transactions we do on credit cards or paypal.
While the limitation of Bitcoin Software to process very large number of transactions was very obvious, there were software engineers and developers who were thinking out of the window and trying to find out a way to this problem. Meanwhile due to this limitation, the price of Bitcoin also go effected and this was certain that until and unless some solution is worked out, Bitcoin will burst like a bubble and in no case could be considered as global currency of future. The software engineers and developers came up with the solution of forking the software.
Forking the software simply meant up-gradation of Bitcoin software. However this could mean that some changes have to be done in the original software and by doing so the bitcoin software may not remain same and there might be threat to existing bitcoin network. This need of having some changes in Bitcoin Software gave the need for bitcoin forking.
Types of Forking
Forking are of two types :
- Soft Fork and
- Hard Fork
Soft Fork :
As a lay man one need to understand that Soft Fork means upgrading any software to the extent that basic software remain same, changes are small and even if one wants to return to initial software one can do. The perfect example is the updating of basic apps in our mobile which keeps upgrading. At any points if we delete the upgrades, still the system works on original app without upgrades, although not with right efficiency.
Thus in case of Soft Fork,
- The software update doesn’t conflict with the original software.
- The software update takes place on the go. The new features of forking are adopted by the network and system during normal running of software.
- The forking is not mandatory and any user can switch back to the original version if he wishes to. Hence it is reversible.
The hard fork is a major change in software. One has to update software in order to run it. Without updating software, one cannot continue running on old version. It is not reversible. The program doesn’t run if a user doesn’t upgrade it. If for any reason, a bug is found after hard fork creating problem in smooth functioning of the software, only solution is to create another hard fork to reach earlier version.
Thus in case of Hard Fork,
- The software update conflicts with the original version.
- Updating software is mandatory. Without updating software, you cannot run it.
- It is irreversible. Once software is updated, you cannot go back to previous version.
Most Programs usually update with a soft fork. Gradually when most of the software have been updated, then system goes for a hard fork after which you cannot run on older version. This is possible because most of the software or programs are owned by an entity who has a command on its decisions. For Example android comes up with updates and it is advisable to update them. Even if you do not update you can continue using the software (soft fork). It is still advisable to update since after some time you may not be able to use very old version (hard fork).
Forking problem with Bitcoin
Problem with Bitcoin is that there is no ownership. It is decentralized. Hence no one has authority to decide and control the software. Only when most of its user give consensus to make a change in software then only this could be done. This lead to a debate among the Bitcoin community – some said they wanted to have a soft fork while some said they wanted to have hard fork. Both Soft fork and Hard Fork has their own limitations. Some people are even thinking that in case of Hard Fork, whether old bitcoins will transact as earlier or not. Hence Forking Bitcoin became a big challenge.
Forking finally happened on 1st August 2017 after lots of debate and arguments. It was a Hard Fork. This also resulted in a new digital currency “Bitcoin Cash”. Now both Bitcoin and Bitcoin Cash are being mined and traded as separate currency.