The difficulty expresses how many hashes are expected to mine a block, as a multiple of the number of hashes expected for a minimum-difficulty block.
A minimum difficulty block needs 2256 / (65535 * 2208 + 1) ≈ 4295032833.000015… hashes on average. This corresponds to an internal target of 65535 * 2208 (value which the block hash cannot exceed). This was the target of the genesis block, and Bitcoin’s consensus rules do not allow the target to go any higher (or, in other words, do not allow the difficulty to drop below 1).
As of writing, the latest block is block 885202. It has difficulty 110568428300952.69. This means the number of hashes per block is on average 474895029845799917243854.3. That value is approximately 278.652, or 1619.662, so it indeed corresponds to roughly 20 hexadecimal zeroes in the hash, or 80 bits.
So:
- 1.a. No.
- 1.b. The difficulty is not the expected number of hashes itself, but how many times more difficult the block is than the easiest blocks.
- 1.c. The number of hashes is roughly 4295032833 times the difficulty.
-
- The block header has a 32-bit nonce, but it is far from the only thing a miner can vary. There is also a timestamp in the header (which can be incremented every second), and the coinbase transaction is allowed to include a variable-size “extranonce”. Finally, miners can vary the composition of transactions in the block. All of these aspects get hashed into the block, and thus any of these variations are effectively equivalent to having more nonce place. The actual 32-bit block header nonce would overflow more than once per millisecond on a mining ASIC if it weren’t for these additional aspects.










