5

I have heard in many places that mining difficulty is increasing, meaning that the hardware used to mine new coins will need to be more and more powerful as time goes on.

What is pushing mining difficulty upward? Is it related the number of people mining (a supply and demand kind of thing), the size of the blockchain, an intentional system design?

I found two related questions 1 2, but they are not exactly the same. I am more interested in what factors affect the difficulty and how. For bonus points, include predictions about future conditions.

3 Answers 3

5

The mining difficulty directly reflects the amount of computing power that the Bitcoin network has. This is adjusted on a periodic basis so that the average block solution time is 10 minutes (Bitcoin clients recalculate the difficulty every 2016 blocks). The difficulty can go up or down depending on how much effort people are putting into mining.

More information about difficulty can be found on the Bitcoin wiki.

4
  • So it is by system design?
    – frеdsbend
    Mar 6, 2014 at 15:19
  • The goal is that a single block is mined every 10 minutes? So if half the miners dropped out, the difficulty would drop too?
    – frеdsbend
    Mar 6, 2014 at 15:28
  • Yes, if a large number of miners dropped out, then the difficulty would decrease. See What would happen if 90% of the Bitcoin miners suddenly stopped mining? for more discussion about that. Mar 6, 2014 at 20:11
  • 1
    Just to clarify a point, the difficulty does not decrease immediately. So if half the miners dropped out, the immediate effect would be that a block is solved every 20 minutes on average. However, at a difficulty retarget time, the difficulty is reset to give a 10 minute average time.
    – Tony
    Mar 11, 2014 at 3:39
2

A bit more info, the difficulty adjustment is a scripted algorithm in the Bitcoin core code. It runs after every 2016 blocks and compares the actual time it took to add those blocks with 20160 minutes (two weeks). To prevent big fluctuations in difficulty, the maximum adjustment is a factor of four. When there are very large increases in performance, such as the introduction of ASICs, it takes several adjustments every two weeks to re-establish the ten minute average time to add blocks. This restricts the supply of new bitcoins to a predictable rate and supports the emergent consensus security trust model. Thus playing a part in preventing double-spends and denial of service attacks.

If there were a large decrease in mining performance, the decrease in difficulty (actually an increase in the hash difficulty target value to make SHA-256 hashing easier) would be adjusted accordingly. Think of rolling two dice. Getting a score less than twelve is easy. Getting a score less than three is hard. Same goes for finding a hash of the header (including new nonce) with a low numeric value.

1

Mining difficulty is periodically adjusted to ensure that block time stays at about 10 minutes. As more mining capability is brought online, difficulty will increase accordingly.

Your Answer

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

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