Post
Topic
Board Development & Technical Discussion
Re: What's the rationale behind difficulty adjustment after every 2016 blocks?
by
ranochigo
on 03/07/2021, 09:15:07 UTC
If you chose a really shorter distance between difficulty adjustments, like every 100 blocks, you wouldn't estimate the hashrate properly. Take China as an example; the hashrate dropped by 69% within 1-3 days, but the difficulty won't be reduced that much. And it, indeed, shouldn't. That drop is clearly temporary. Once they setup their mining rigs again, the estimation for the last 2016 blocks would be properer than the last 100.
Which is the problem. In the scenario where a drastic drop in hashrate occurs, the block interval rises quite substantially and making the difficulty epoch even longer, thus prolonging the situation. The caveat being that difficulty lags behind the actual situation quite a bit, which isn't the best for the network. Some altcoins did adopt KGW previously to deal with wild fluctuation from Multipools switching to them. Schemes like that are far more responsive but with some security tradeoff.

Ideally, the difficulty adjustment should be long enough that variance is eliminated sufficiently while still making it prohibitively expensive or difficulty for possible partition attacks. Bitcoin doesn't need to change from the seemingly arbitrary number of blocks that Satoshi decided on. While we've had quite a few instances where the block interval was prolonged quite a bit, it isn't that big of an issue and would be more complicated to change the retargetting parameters.