For the past couple of days, Bitcoin Cash (Bcash or BCH) has been more profitable to mine than Bitcoin (BTC). This has resulted in miners switching from Bitcoin to Bcash, causing a significant speedup of blocks on the Bcash chain, to the point where several dozens of blocks were found per hour. Meanwhile, the Bitcoin blockchain has slowed down significantly; in some cases only one or two blocks were found each hour.
In the short term, therefore, Bitcoin users were inconvenienced: they had to wait longer for their transactions to confirm, and they had to pay more fees to get them confirmed quickly.
In the longer term, however, this dynamic could make the Bitcoin Cash chain very unstable.
Theory Versus Practice: Assumptions
It should first be noted that this article makes some assumptions that do not quite (or necessarily) hold up to the full extent in reality.
For example, the article will assume that all (or most) miners mainly care about short-term profits, it will assume that miners can switch between different blockchains at no (or little) cost, it won’t take into account that miners need to wait 100 blocks before they can spend their mining rewards, and more.
Perhaps more importantly, the article will also assume that Bitcoin block rewards are more valuable than Bitcoin Cash block rewards. At the time of writing this is the case, by a relatively large margin. Both Bitcoin and Bcash miners are awarded at least 12.5 new coins per block, but BTC is about six times more valuable than BCH. On top of that, Bitcoin blocks contain significantly more fees.
But while the reality of the situation is more complex, the overall dynamic should hold up, at least until and unless Bcash block rewards become more valuable than Bitcoin’s.
Normal Mining Dynamics
Miners mine to turn a profit, or at least that’s the assumption for this article. They invest resources — time, electricity, hardware, and more — in return for coins.
Mining profitability is determined by the value of the block reward, and the “difficulty” to mine a block. If the difficulty is higher, miners need to invest more resources to find a block. If the difficulty is lower, miners need to invest less.
Notably, what doesn’t actually matter for profitability in the short term, is how many other miners (by hash power) are mining on a particular chain. If many miners are, for example, mining on the Bcash chain, it just means that all these miners find Bcash blocks faster for a while.
This situation does self-correct over time, when the difficulty adjusts. On both Bitcoin and Bcash, difficulty adjusts once every 2016 blocks, which is “supposed” to happen every two weeks. If these 2016 blocks are found in less than two weeks, difficulty adjusts upwards, so the next 2016 blocks will be harder to find. If these 2016 blocks are found in more than two weeks, difficulty adjusts downwards, so the next 2016 blocks will be easier to find.
These adjustments happen relative to how much faster or slower blocks were mined than they were “supposed” to, but it can increase or decrease fourfold (x4 or x0.25) at most.
Bitcoin Versus Bcash
Now, since one Bcash block reward is currently worth about seven times less than one Bitcoin block reward, Bcash can only be more profitable to mine if its difficulty is more than seven times lower. (This has been the case for the past few days.)
But if that occurs, something interesting happens. From the very moment that Bcash is more profitable to mine, it immediately becomes more profitable to mine for all miners. In this hypothetical, all miners would immediately abandon the Bitcoin chain, and instead mine Bcash exclusively.
Of course, this can’t go on forever. If there are so many miners on the Bcash chain, the 2016 blocks will be found extremely quickly. (This has been the case for the past few days.) As such, the next difficulty adjustment comes very quickly too; potentially within a day or two. (This just happened.) Importantly, because that’s much too fast, the difficulty now adjusts upward by a lot: probably fourfold. (This just happened.)
That’s where Bcash’s problems start.
At this point, Bcash’s difficulty is so high that Bitcoin’s is once again the most valuable chain to mine on. As such, after a lull of about two days, all miners should now switch back to mining Bitcoin.
Bitcoin’s difficulty, meanwhile, was already pretty high. Once all those miners switch back, the 2016 blocks may or may not be found a bit faster than usual. Nothing out of the ordinary.
As such, even after these 2016 Bitcoin blocks are found, not much changes. Bitcoin would still be more profitable to mine. Profit-maximizing miners would therefore all continue to mine on Bitcoin only.
Once the next difficulty period is over, again, nothing will change. Bitcoin would still be more profitable for all miners.
Meanwhile, on the opposite end of the equation, no miners would mine on Bitcoin Cash whatsoever. The Bcash blockchain should freeze in its tracks.
Bcash does have solutions for this problem — sort of.
First off, Bcash implemented an emergency re-adjustment scheme to deal with situations like these. If, within a time-frame of twelve hours, fewer than six blocks are found, difficulty adjusts downward by 20 percent. This can help get difficulty down to normal levels quicker.
But that’s not a perfect solution in itself. For one, it does still require at least six blocks to be found, and probably more to get back to normal. This means that miners still need to mine on the Bcash chain at a loss, against their short-term interests. Furthermore, miners that are unfriendly toward Bcash could — somewhat ironically — mine on this chain just enough to prevent such a re-adjustment.
And even if some miners do mine on the Bcash chain toward a difficulty adjustment, it would just set the exact same dynamic in motion after a while. The Bcash chain would be more profitable to mine for a couple of days, after which it would freeze in its tracks. Then these miners would have to, once again, mine at a loss to keep the chain alive, only to set the same dynamic in motion again. And again.
Interestingly, this scenario could potentially benefit miners at large. While some miners do need to mine against their short-term interests to reach the required difficulty adjustment, once that difficulty adjustment is reached, all miners get to sweep up massive amounts of block rewards within a day or two.
As long as there are buyers for these coins, such a stop-and-go cycle could be very profitable in the long term.
This is not a new science.
Namecoin, one of the first altcoins, faced similar problems in 2011. After a sudden jump in hash power, its chain got stuck, and it took months for ideologically motivated miners to work toward a next difficulty adjustment. This cycle repeated a couple of times, at which point Namecoin fixed the problem by “merged mining” the coin with Bitcoin. All Bitcoin miners can now automatically mine Namecoin using the same hash power, without needing to switch between chains. Many Bitcoin miners do.
The problem that Namecoin had to face is also a key reason why Litecoin creator, Charlie Lee, decided to implement the Scrypt mining algorithm in Litecoin, another early altcoin. He realized that a secondary cryptocurrency should not compete with Bitcoin for hash power on the SHA256 algorithm at all exactly because of the instability that would result. By picking an entirely different algorithm, miners can’t hop from one chain to another, thus resolving the problem as well.
And many other altcoins, like Ethereum, have much faster difficulty readjustment schemes. While this may technically still require miners to mine at a loss (and could have other detrimental effects), this situation should resolve within hours or days — not weeks or months.
If Bcash chooses to adopt any of these solutions, the coin will probably require another hard fork. Unless, of course, its block rewards becomes more valuable than Bitcoin’s…
Thanks to Litecoin creator Charlie Lee for information and feedback.