Question about nonce

Hey there,

So I have a question about the nonce.
I have checked the nonces in the blockchain explorer and have found that is typically a 10-digit-value like for the sake of this example 1757774931 .
So if 1 miner (Antminer S19 Pro) start trying with nonce = 0, nonce = 1, … until nonce = 1757774931 with a hashrate of 110.00 Th/s this would mean that in 1 second the miner can try all nonces from 0 to 110*10^12 which is way bigger than the nonce I’ve seen inside of the blockchain explorer. So this would mean that 1 single ASIC miner (not even the best one) can hash the new block in a fraction of a second. But in reality that’s not the case. So what am I missunderstanding here?

Thanks already
xela

As the hashrate grew miners started to use other values that they could change in the block to give them more “storage” to change the nonce. First was the timestamp, which can vary about 2 hours for a block. So changing a second in timestamp allowed them to again try changing nonces, which is by itself only 4 bytes in site.
A more general solution used today is to use the extra space in coinbase tx to store extra data which can be changed so that they can recalculate the merkle root that again gives them more space for finding the nonce.
All this allowed them to keep the nonce the same size and keep mining without requiring a hard fork to increase the size of the nonce field in the header. :slight_smile:

https://github.com/bitcoinbook/bitcoinbook/blob/ab539e614a8497099458ddc6d29275fe0f74db78/ch10.asciidoc#structure-of-the-coinbase-transaction

1 Like

Alright. Thank you for that explanation. :pray:t2: