Wednesday, August 2, 2017

It all started as a discussion about how to change Bitcoin. Something was needed to help it cope better with the increasing number of people using the cryptocurrency.

After years of debate, however, two different ideological camps arose with opposing views. This has resulted in the “forking” of Bitcoin into two versions: Bitcoin, as it is now, but with some evolutionary changes to make it more efficient, and Bitcoin Cash, a clone of Bitcoin but with a number of technical differences.

The disagreement is highly technical in nature, but the fact that it came about at all is a reflection of the nature of Bitcoin.

Unlike other software, the developers can’t simply make changes unilaterally – they need to have the agreement of the groups and companies that are responsible for “creating” Bitcoin. In other words, the Bitcoin miners and the groups running the exchanges that allow Bitcoin to be bought and sold.

What was the argument?

The argument about how to scale Bitcoin has centred around restrictions imposed by the original design of Bitcoin. These limited the way in which transactions were processed and put into the public ledger of transactions, called the blockchain.

The rationale for this was to put the security of the system ahead of functionality which, given the small number of people using Bitcoin in those early days, wasn’t an issue.

The options for lifting this restriction however became a sticking point between different groups of developers and their various supporters. One group, consisting of the Bitcoin core developers, decided on a gradual approach that would first make more space in the ledger by shuffling how things were stored. And then as a second step, increase the size of the “blocks” or groups of transactions that were added to the blockchain (the ledger that records all of Bitcoin’s transactions).

Another group of developers lead by ex-Facebook developer Amaury Séchet, however, disagreed with this approach. They didn’t believe it would actually go ahead and so came up with a different design.

They decided to go ahead with this new design, which essentially meant diverging from the existing Bitcoin blockchain and creating their own version. The only way they saw of implementing this design was to set a time and then start creating their own version of Bitcoin, Bitcoin Cash.

The argument has not just been about technology. There are ideological and commercial interests driving the various players.

What was the Bitcoin upgrade solution?

To understand what the Bitcoin core developers were proposing, imagine transactions being written on a piece of paper: the sheet of paper lists all of the individual sending of bitcoin from one address to another. It also contains a signature from the sender declaring that the sender actually owns the funds that she is sending, and another signature to say she now wants to spend some of those funds. These signatures takes up quite a lot of space on the paper.

Bitcoin allows one piece of paper to be filed in the filing cabinet (the blockchain) every 10 minutes, and so if the piece of paper is full of transaction details, any new transactions have to wait to be put on the next bit of paper.

The proposal of the Bitcoin core developers called SegWit2x wanted to improve the way Bitcoin worked by saying that signatures could be moved to a separate piece of paper, one that is filed along with the sheet containing the transaction information.

Because there is more room on the paper, more transactions can be written down. The other proposal was to set a timeline through which the system would allow two sheets of transactions instead of just one.

What did the Bitcoin cash people want?

The developers behind Bitcoin cash didn’t agree with the idea of separating the signatures from the transaction. They thought this was a “hack”.

Bitcoin cash doesn’t use this approach, and instead of simply allowing a two times increase in the block size, Bitcoin cash can grow to eight times. They also changed the way signatures were used to better suit specific types of hardware used to store bitcoin.

What happens now?

Everyone who had Bitcoin before this date theoretically has access to the same number of Bitcoin cash. The current price at the time of writing was US$358 per bitcoin cash. This was about 20% of the price of Bitcoin, which was trading at US$2,715.

Since the launch of Bitcoin cash, other exchanges have said they will support it, and so it seems to be gathering momentum.

Having two different Bitcoins shouldn’t really pose too much of a problem for casual investors, given that they may have different characteristics and their price will start moving independently fairly quickly.

Whether there will be an eventual winner will depend on how the changes actually work in practice and for that, we will have to wait and see.