A couple of articles describing the process of mining do say that the more miners are in the network, the more 0 numbers are included in the encoded hash of the particular block. I cannot find an answer to the following question: why does adding more zeros at the beginning of the hash make it more difficult to calculate?


Adding more zeroes (more precisely as a prefix) to the required block hash (which is the hash of block header) makes it more difficult because you need to keep hashing the block header until you find a hash value that is less than the required maximum numeric hash value (you update the block header everytime by incrementing the nonce in it which changes the block header. Presently because of ASICs this field is too small, so the extra nonce is stored in unused locking script of Coinbase transaction, which as a result changes Merkle root which is part of the block header). Here is a documentation of what goes into block header:


Mathematically to make sense of it, think of it this way, if I ask you find a number at random from 0 to 100 less than 90, how many times do you have to try before you get a number for sure less than equal to 90? It is exactly 10 times. This same principle applies to SHA-256 of the block header.


I've got the answer http://www.righto.com/2014/02/bitcoin-mining-hard-way-algorithms.html:

The key point is that each nonce generates a basically-random hash value. 
To get a lot of zeroes, you need to try an exponentially large number of nonces.

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.