The nonce field of a block header is 4 bytes, so the max nonce is: 4,294,967,295. That could be computed in a few seconds with a reasonable rig (solo mining) or much quicker on large pools. What happens at that point? I assume you'd change the timestamp and start over, but on extremely powerful pools, I'm sure it's feasible to compute all 4,294,967,295 nonces for every second of the timestamp, so what happens in that eventuality?

  • Remember that each transaction added to a block changes the block and thus all nonces previously used become untested for the new block yet again. Aug 27, 2013 at 20:30

1 Answer 1


Changing the timestamp is one way, but the more scalable method is to change the "extraNonce" field of the generation transaction, which changes the block header's Merkle root.

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.