On August 1 at 12:20 GMT the Bitcoin blockchain forked and a new coin, Bitcoin Cash, was born. The main blockchain continued as before, but the new branch promises to solve the congestion problem by allowing big 8MB blocks. But two days later the birthing process is not quite complete yet.
The first block on the new chain was mined, as expected, by Bitcoin Cash’s largest proponent, ViaBTC (the mining pool and the exchange of the same name). It was a big block – 1.9MB in size – breaking the old rules that limited Bitcoin to 1MB blocks, and it was celebrated as the beginning of a new era that promised cheaper transaction fees for everyone and bringing Bitcoin back to the masses.
Exchanges that held Bitcoin automatically credited their clients with the same amount in Bitcoin Cash, and trading erupted. The price of Bitcoin Cash (BCH in most places, BCC in some) swung wildly, from 0.09 to 0.48 BTC ($241 to $1,285) per BCH. At the time of writing, the price is 0.26 BTC ($695) and the market cap of BCH lies at $6.8 billion – more than Ripple ($6.7 billion) though some way behind Ethereum ($20 billion) and Bitcoin ($44 billion).
The market cap of Bitcoin and Bitcoin Cash was far in excess of Bitcoin alone, and many declared it a great success and a triumph of common sense over religious, ego-centric, childish cypherpunk developers.
However, things did not quite proceed as planned.
Blocks were not being mined regularly – often with hours passing between blocks – and while people on exchanges had their BCH available to trade, the vast majority had it confined to their computers or hardware wallets. Without new blocks, it was not possible to transfer ownership of BCH. The price in the pools thus reflected a small bubble with vast amounts of BCH not in the pools, waiting to be sold.
Thirty-six hours after the fork, the block height (the number of the latest block) was 478574, or 25 blocks from the first BCH block. Put another way, BCH is 189 blocks behind the main BTC blockchain now. Transactions are stuck and exchanges are unwilling to allow deposits and withdrawal of BCH (and even BTC in the case of Via) until the block time normalizes.
Until a transaction is mined into a block, it should not be trusted. Bitcoin Cash was about lowering the transaction fees so people could buy coffee again. Now it looks like their coffee will be many hours old and cold before the transaction goes through.
It’s all about the timing
It was not supposed to happen this way, but to understand why it’s happening, we need to look at the way Bitcoin blocks are timed.
In the Bitcoin world, the time between blocks is supposed to average ten minutes. This is not centrally planned by someone with a clock – rather, it is set by adjusting the difficulty of finding a block.
Developers of Bitcoin-ABC (the reference software for Bitcoin-Cash) knew that not everyone would follow them to the new blockchain, so they wrote into Bitcoin-ABC new consensus rules that would automatically lower the difficulty if the hashrate dropped significantly. This was so the blockchain would not be stuck as it is now. (Looking back at old messages, many of the developers did not believe this code would ever be needed and they were confident that a significant portion would follow them over. That has not happened, and it seems like around only 1% of hashrate switched over at first.)
The rule, known as REQ-7, will activate only if the hashrate is under 8%, and will retarget the difficulty if the tip of the chain is more than twelve hours away from the time of a block six blocks down. This sounds reasonable to the layperson, and one would think that the code would make sure that the new blockchain does not get stuck by simply lowering the difficulty.
Without the new rule, the retargeting would happen in 2,016 blocks (normally two weeks at 10-minute block intervals). With 1% of the hashrate, it would mean painfully slow blocks – not for two weeks but for two 200 weeks (or about four years).
So what happened? Why has REQ-7 not been activated, and why are blocks still hours and hours apart on Bitcoin Cash?
One theory is that someone has been attacking the Bitcoin Cash blockchain and mining blocks at the minimum rate required to prevent REQ-7 from activating. Many think that he is trying to kill Bitcoin Cash by keeping it stuck for who knows how long – months or maybe even years. That kind of attack does not come cheap, though. In doing this, the attacker is forfeiting his profit from Bitcoin mining: 12.5 BTC or $33,000 per block.
Others think it could be a coincidence and a variance of miners who thought they were helping but inadvertently just nudged it over the 8% threshold.
My own gut feeling is that the distribution of blocks suggests it’s an attack. The blocks that do get mined come in clumps minutes apart, with hours between each clump. But with so few data points, it is admittedly hard to be certain.
If Bitcoin-ABC/Bitcoin Cash needs to roll out a new version of the software to fix the block time issue, it would be tantamount to admitting they lost the argument with Bitcoin-Core that they are capable of carrying out Satoshi Nakamoto’s original vision. One could even say that doing so would be admitting they cannot write proper blockchain software and they don’t understand consensus rules. Even Bitcoin Cash proponents are angry and questioning why this scenario was not anticipated.
It could even lead to a fork of the fork: Bitcoin Cash Classic with the old new rules and Bitcoin Cash with new new rules.
Or the attacker, if there is one at all, might just give up in a few days and let the retargeting happen, perhaps content that he has proven his point and managed to anger Bitcoin Cash holders who have been holding coins they cannot move and sell.