While the price of Bitcoin Cash was on the rise over the weekend, plans were consolidated to repair the broken difficulty adjustment with a hard fork on November 13. If the cryptocurrency aims to be taken seriously, this is needed badly.
On the weekend the price of Bitcoin Cash jumped from $320 to more than $460, or from 0.054 to 0.071 BTC. The massive rise was orchestrated by the growing likelihood of the SegWit2x hard fork to fail and the idea of Bitcoin.com that Bitcoin Cash is the real Bitcoin.
All of this ignores that the difficulty algorithm of Bitcoin Cash is terribly broken. To understand why, we need to reach back a bit; Bitcoin adjusts the difficulty of mining for each sequence of 2016 blocks – which is about every two weeks – so that a new block is generated every ten minutes. So far, so good.
However, if two coins have the same mining algorithm, they compete for the same hash power. This has terrible implications for the weaker, and usually, cheaper coin; while the miners migrate to the more profitable coin, the difficulty remains the same for 2016 blocks, and the network needs more and more time to add new blocks. The blockchain freezes, and, as a final consequence, completely grind to a halt.
Bitcoin Cash Survived but Paid a High Price
To protect Bitcoin Cash against the risk of dying by chain stagnation, the developers implemented a so-called EDA – an Emergency Difficulty Adjustment. Whenever the miners have needed more than 12 hours to find six blocks, mining difficulty is reduced by 20 percent.
The EDA has been successful in helping Bitcoin Cash to survive as a minority chain of Bitcoin’s SHA 256 mining algorithm. However, it was a complete failure to stabilize the block intervals. Since the birth of Bitcoin Cash on August 1, there is a constant switch between periods of ice ages, in which only one block is found in some hours, and periods of rapid block productions, which are induced by a series of EDAs. These adjustments drastically reduce difficulty and result in up to 90 blocks per hour. As an unwanted side effect, the Bitcoin Cash blockchain has added nearly 8,000 blocks more than the Bitcoin blockchain, increasing the production of monetary units by 100,000. Hence, Bitcoin Cash has a significantly higher inflation schedule than Bitcoin.
A Hard Fork to Fix the EDA
To fix this disaster, the Bitcoin Cash developers have planned to do another hard fork on November 13 to change the difficulty algorithm. At the time of writing, they have not decided which proposal will be implemented. There are proposals from Tom Zander (Bitcoin Classic), Amaury Séchet (Bitcoin ABC), Neil Booth (Bitcoin Unlimited), and Tom Harding (Bitcoin XT), representing each team involved in Bitcoin Cash’s development.
The concrete proposals consist mostly of mathematical formulas. Their goal is to reach a stable block interval of 600 seconds, which is flexibly adjusted to hash rate fluctuations, but not too complex to be understood by SPV wallets. The basic problem is to find a good tradeoff between flexibility and stability. Detailed explanations of the proposals of Amaury Séchet, Neil Booth, and Tom Harding are available. Simulations conducted with different software developed by Tom Zander, Tom Harding, and Neil Booth have also been presented. They indicate that Tom Harding’s proposal provides the best results, combining the flexibility of Séchets proposal and the stability of Booth’s algorithm.
The same conclusion found the developer Scott Roberts. He already worked with flexible difficulty algorithms of altcoins and was asked by Tom Harding (Degnr8) to examine his proposal. Roberts wanted to explain that the world’s best flexible difficulty algorithm is an adjusted version of Digishield v3 – but realized that Harding’s algorithm is even better. “Degnr8 has struck gold. I hope all the devs will agree ‘this is it.’”
After being tested by nChain and BitPrim, Bitcoin ABC decided to implement Séchet’s proposal. “We acknowledge that D601 (proposal from Amaury Sechet) may not necessarily have the highest performance, but since all three had similar performance, D601 was selected because it appears to have the least risk.” The software implementing the new algorithm is planned to be released on November 1, 2017.
If Bitcoin Cash succeeds with this – if the developers manage to implement a working flexible new difficulty adjustment algorithm in November – the currency has good chances to benefit from the chaos and disruption induced by a failed SegWit2x hard fork.