The Bitcoin fork: A good problem to have
Despite all odds, and challenging 20 years of failures in various electronic cash schemes before it, Bitcoin succeeded probably way beyond the intentions of its original inventor, who wisely chose to remain anonymous and is known to us only as Satoshi Nakamoto.
In the past seven years, the value of a Bitcoin climbed from less than a US Dollar to $380 at the time of writing these lines. In 2015, over 12 months, six million users became 20 million. The network is used every day to move more than $100 million between bitcoin addresses, with a spike in November at almost $350 millions. These numbers are staggering.
The number of users and the usage of the network is growing so fast that some people have started seriously worrying about the limits of the current version of Bitcoin. Indeed, the current version can "only" handle seven transactions per second, or 25,200 transactions per hour. This is now a hot topic in the Bitcoin industry, generally discussed under the term "Scaling Bitcoin."
Well, continuously reaching this level of transactions would be a fantastic achievement for the technology, and we still have some time ahead of us. That is the first good news. The second good news is that the technology degrades gracefully as it is, and at peak time, transactions would just take a bit longer to process.
The third good news is that users with important transactions can increase the fee they choose to pay if their transaction is time critical, to get ahead of other ones. Current transaction fees are around five cents. Thus the network can definitely keep operating for a long time and solve real user demand to move money around, without any change.
Bitcoin is, however, a constantly evolving technology. Like your iPhone updating its version, the companies running so-called Bitcoin nodes or performing Bitcoin mining regularly update their software version. Most new versions are adopted without any media attention, and rightly so. They solve some minor bugs, improve security and reliability and introduce new features. The companies running this software get their new versions from a self-formed group of developers, called Bitcoin Core. It is in everyone’s best interest to reach a consensus about what should get into Bitcoin’s next version.
Recently, we have seen difficulties in reaching this consensus, especially regarding scaling. Business interests drive technology changes, and the next changes may push the technology in different directions. In particular, three solutions have been proposed to help Bitcoin handle more transactions.
Segregated witness is a clever modification of the Bitcoin protocol that increases transaction limit almost by accident. Its original goal was to improve security, by eliminating something called transaction malleability. It does so by reorganizing how transaction data is stored in the blockchain, making transactions appear smaller.
There is broad agreement among Bitcoin businesses and developers that segregated witness improves the quality of the Bitcoin software, at minimal cost to all. Thus segregated witness will be adopted sometime in 2016, and will probably double the maximum transaction rate to 14 per second. Segregated witness is a complex technical development and it is difficult to estimate precisely by how much it will increase the transaction rate.
However, many Bitcoin businesses want more clarity into Bitcoin’s future, and have been disappointed by the way Bitcoin Core, the group of developers behind the Bitcoin software, has been handling this process. They simply want the network to double the block size, a one line change, that guarantees to double the maximum transaction rate. That is why they came up with Bitcoin Classic, a slightly different version of the Bitcoin software. Some are now afraid that there will be a split in the Bitoin network, breaking it into two.
A Bitcoin fork is difficult to visualize.
Well, if Bitcoin Classic were to replace Bitcoin Core, by design, it will only become active when 75% of Bitcoin nodes use it. Therefore only 25% of nodes would have the wrong version. It is very likely that most of these nodes would handle much less than 25% of Bitcoin transaction volumes, and thus most if not all Bitcoin users would not notice anything. Their favorite Bitcoin app would just keep working, as the company that delivers it would make the right choice and connect to the most popular version of Bitcoin.
This is called a hard fork, but there is little to worry about for the end user. It is a bit similar to updating your iPhone. Over time, most iPhone users do it, and during the transition, both old and new versions still get software updates and can make phone calls and text with each other. However, only users with the latest version can use new features like Apple Pay.
It is still possible that these two versions of Bitcoin – Classic and Core – reunite together, and that a hard fork is not needed. Otherwise, we may see a small Bitcoin Core network operating mostly as an academic curiosity, and a large network running Bitcoin Classic, which could adopt any useful improvements developed in Bitcoin Core, as both are open source software.
Meanwhile, last Monday evening I paid my share of a dinner with bitcoin and we did not notice any delay!
Bitcoin "End of Money as We Know It" documentary released
Bitcoin technology to be tested in stock market
Android Pay enters mobile payments fray
Encryption technology against quantum computer attacks identified