Since nonce is a 32 bit number, the maximum value of nonce can only be 4,294,967,296. So, if a miner doesn't find the target hash within this number, what happens?
The miner can change the block header hash several different ways:
- Change the timestamp. This is the least intrusive, but works just fine. If you can do more than 4 Th/s, this starts to become a problem.
- Add transactions. Adding any new transaction changes the Merkle root, so this gives you entirely new nonce spaces.
- Change the coinbase transaction. This is the most common method. 32 bits are typically used to act as an additional nonce.