Since the existence of BCH, miners can now switch chains to mine on. Assuming they mine greedily based on price and difficulty. Can the following attack happen and how could it be mitigated:

Assuming BCH has a high market cap, in parity with BTC.

Since it take two weeks to adjust for difficulty most miners would mine BCH when bitcoin difficulty is unprofitable. Then lets say 20% of miners keep mining BTC such that the difficulty adjustment is triggered 1.5 months later and re sets to 1/5 difficulty. Then, miners would jump from BCH to BTC and mine 2 weeks worth of supply in 4 days, leave when difficulty readjusts, and BTC basically dies (because most of the time blocks are solved on average every 50mins rather than the usual 10mins, causing slow confirmation times).

How can this attack be mitigated?


1 Answer 1


Short answer: You can protect with money.

It is an economic problem. First, if the marketcap changes slowly, the difficulty can adopt. Now suppose the marketcap changes suddenly and miners behave rationally for the short term profit.

Since total_reward = block_reward + fee, a sufficient higher fee can attract miners. For example, if the marketcap on one side is double, then the compensation fee should be more than 12.5 BTC. This total fee may seem high, but it had actually happened. During the time lacking miners, there is 13.4 BTC in block #494045, and many other blocks with 11+ BTC. This is around $30 per transaction and people are willing to pay it! Hence, for the "protection", rich people can pay high fee, poor people can make donation transaction, and "irrational" miners can stay by losing profit.

Anyway, you cannot use the blockchain if you cannot pay a high fee. Note that the above strategy is true in both directions: A "protection" on one side is an "attack" on the other side. So the fee on both side may rise exponentially together.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.