Bitcoin [BTC]: Idea of ASIC was not on anybody’s mind when Bitcoin was being built, says Antonopoulos

2019-05-17

Andreas Antonopoulos, the author of Mastering Bitcoin, spoke about why the nonce was so small in the Bitcoin blockchain, i.e., 32-bit, considering that 32-bits produces only 4 billion combinations, during the latest Bitcoin Q&A episode on YouTube.

According to Bitcoin Wiki, a Nonce refers to,

“a 32-bit [4-byte] field whose value is adjusted by miners so that the hash of the block will be less than or equal to the current target of the network. The rest of the fields may not be changed, as they have a defined meaning.”

The author stated that during the inception of Bitcoin, the idea of ASIC was not considered by anybody. The idea that the ASIC industry would successfully drive a profitable industry, create an entire manufacturing sector and also result in people using “cutting-edge silicon manufacturing just to compete” was not imagined, added Antonopoulos.

“[…] So, 32 bits seemed like enough. It obviously wasn’t. Because of the difficulty of changing the block header format that would require hard fork, it would be a very controversial hard fork and because of that we’re stuck with 32 bits so miners go elsewhere to find entropy, the ability to inject entropy into the header […]”

This was followed by the author stating that not all positions in the header were equal, adding that there was a “particular quirk” in SHA-256 algorithm that allows for optimization called ASIC boost. He stated that ASIC boost allows miners to calculate a midstate, which is an efficient calculation of the SHA-256 of the header in a way that it reduces energy consumption by about 20 percent. He stated that a majority of this was completed by making changes to the Merkel tree in the block header and some by making changes to the Coinbase.

[…] there’s covert ASIC boosts and overt ASIC boost and it depends on which part of the header you’re changing because you can’t do it everywhere you have to do it in a specific part of the header. so that’s why the coinbase header is used, that’s why end time rolling is used and that’s why the transactions are reordered in order to shuffle the Merkel route of the transaction Merkel tree […]”