user35269: My understanding is that at a certain point, once hardware passed the 4 GH/s level, the 4 billion possible values for the nonce became insufficient in bitcoin mining, because a good rig could exhaust them all in less than a second, and then had to wait until the next second for the timestamp value to change and then try the next 4 billion.
The thing I don't get, though, is why they couldn't adjust the timestamp in increments of less than one second? What about milliseconds and nanoseconds? Why not adjust that input instead of the nonce range?
Edit: Is it that the timestamp has a fixed format that ends at seconds, and changing this would be more difficult / less efficient than simply appropriating space from the coinbase transaction?

user24573: They didn't. Nonce is still 4 bytes [1]. Miners don't have to wait when they run out of nonces. Miners just adjust another nonce (the extraNonce) in the first transaction (i.e., in scriptSig of the coinbase transaction [2]). That gives them another ~4 billion tries for the first nonce.

35269: <p>My understanding is that at a certain point, once hardware passed the 4 GH/s level, the 4 billion possible values for the nonce became insufficient in bitcoin mining, because a good rig could exhaust them all in less than a second, and then had to wait until the next second for the timestamp value to change and then try the next 4 billion.</p>

<p>The thing I don't get, though, is why they couldn't adjust the timestamp in increments of less than one second? What about milliseconds and nanoseconds? Why not adjust that input instead of the nonce range?</p>

<p><strong>Edit:</strong> Is it that the timestamp has a fixed format that ends at seconds, and changing this would be more difficult / less efficient than simply appropriating space from the coinbase transaction?</p>
 24573: <p>They didn't. Nonce is still 4 bytes <a href="https://bitcoin.org/en/developer-reference#block-headers" rel="nofollow">[1]</a>. Miners don't have to wait when they run out of nonces. Miners just adjust another nonce (the <a href="https://bitcoin.stackexchange.com/q/36455/4334">extraNonce</a>) in the first transaction (i.e., in <code>scriptSig</code> of the coinbase transaction <a href="https://en.bitcoin.it/wiki/Transaction#Generation" rel="nofollow">[2]</a>). That gives them another ~4 billion tries for the first nonce.</p>
