Since the difficulty adjustment is based on a 2016 block window from the past, if we assume that the hashrate of the network is steadily increasing over time (up to temporary disturbances), why do people say that a block is created approximately every 10 minutes?

In my opinion there should be a bias towards of the blocktime towards less than 10 minutes because for the past blocks taken for reference in the difficulty adjustment, the hashrate was probably a bit lower than now. Is there a method to account for this bias? Or is it just very small? Or am I missing something?


you are right, there is a bias. You can easily see it in the time between halvings:

  • 3 years, 10 months, 19 days for the first epoch
  • 3 years, 7 months, 12 days for the second epoch
  • 3 years, 10 months, 2 days for the third epoch

all considerably shorter than the expected time of 3 years, 11 months, 29 days.

You can also take the time elapsed from genesis block and divide by the number of mined blocks so far. At time of writing the average block time is 9 minutes 31 seconds, so about 5% off from theoretical value.

There is really no easy way to compensate for that in a deterministic way as the generation time is a convolution of stochastic events (nonce finding) and non linear events (market price <-> hash rate available).

The hash rate in facts is not growing linearly but can go up and down by large amounts in relatively short amount of time depending for example of Bitcoin market value as well as unexpected events like weather catastrophes affecting large areas where miners are located or political facts such as China mining ban that recently (mid 2021) caused relocation of big miners to other jurisdictions with related down-time.

On top of that also consider that the algorithm used for difficulty adjustment is affected by a off-by-1 bug (by some definition of bug) where the actual time passed in creating the 2016 blocks is divided by 2015 instead of 2016, causing a tiny systematic drift.

In all cases both the bug and the probabilistic bias do not pose a problem for Bitcoin and are not and will not be addressed in any foreseeable future, according to my humble opinion.

Hope this answers your doubt. -E-

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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