View this post on Hive: Bitcoin Cash averaging less than a block per hour

In March 2020, many Steem users, including @dhimmel, migrated to the Hive blockchain in response to the hostile takeover of Steem. Please use the Hive link when sharing this post and comment on the Hive version to get in touch.

Bitcoin Cash's mining issues have been previously covered by Let's Talk Bitcoin and Bitcoin Magazine. In short, when miners adhere to short-term profit incentives, a failure mode in the Bitcoin Cash difficulty adjustment arises, causing mining difficulty to oscillate drastically.

The heart of the issue is Bitcoin Cash's Emergency Difficulty Adjustment (EDA). As Matthew Haywood explains,

If the last 6 blocks took over 12 hours to mine EDA will drop the network difficulty by 20%. If the next block, found under this lowered difficulty, still results in the last 6 blocks taking over 12 hours the difficulty is dropped by a further 20%. The cumulative effect of this is that after a period of very long block times a very significant drop can be brought about relatively quickly. A key point in understanding the effect EDA has is that it only works to decrease difficulty — the normal 2016 block difficulty re-target periods are the only triggers for an increase in difficulty. When EDA operates over sequential blocks it drastically reduces the network’s mining difficulty. Any miners that then switch their hash power over can find blocks far more frequently that they can mining Bitcoin. Suddenly it can become more profitable to mine than Bitcoin, even though the price of BCash is lower. The amount of coins rewarded over a set time period will be far greater.

On September 21, 2017, Bitcoin Cash is currently in a period of high difficultly with very slow block discovery. The site fork.lol provides nice visualizations of the phenomenon. First, check out the mining difficulty history of Bitcoin and Bitcoin Cash, since the August 1st, 2017 hard fork.

The dashed lines show the mining difficulty. Bitcoin's difficulty retargets every 2,016 blocks, which takes around two weeks. However, with Bitcoin Cash difficulty can retarget downwards (but not upwards) without waiting a full 2,016 blocks. Notice, the major EDAs on August 23rd and 27th that cause the difficulty to drop like a cliff. These dropoffs can make Bitcoin Cash more profitable to mine than Bitcoin (see solid lines showing "Difficulty Adjusted Reward Index") leading to an influx of mining.

Then when the 2,016 block retargeting occurs, difficulty spikes, mining becomes unprofitable, and block times slow to a crawl. We can see this block time oscillation in the average number of blocks per hour:

This leads to periods of growth spurts and stunted growth for the Bitcoin Cash blockchain, as the block height chart shows:

Bitcoin's block height grows in a mostly linear fashion. In other words, the time between blocks stays consistent. On the other hand, Bitcoin Cash's height explodes and then flattens. The result is a usability crisis when block times increase. Bitcoin Cash is currently averaging over an hour per new block! Furthermore, since coinbase mining rewards result in inflation and the environmentally unfortunate consumption of electricity, blockchains should minimize unnecessary block rewards. Periods where Bitcoin Cash blocks come out every two minutes while still providing a 12.5 BCH coinbase (new coin reward) fall into this undesirable category of block reward.

Some commentators explain the situation as miners gaming the difficulty. However, it appears to me that the situation is far worse! Miners are just behaving according to their self interest. Incentives are what tie distributed ecosystems together. Adversarial systems that are not incentive compatible are doomed. It will be interesting to see how this plays out. I expect another Bitcoin Cash hardfork will be activated to fix the EDA debacle.

It's worth noting that the rushed deployment of the Bitcoin Cash hardfork appears especially foolish given these issues. In the past, other blockchains experienced the same issues. That the Bitcoin Cash developers did not learn from these mistakes reflects negatively on their competence.