Early blocks contain OP_PUSHBYTES sequences in the coinbase input ScriptSig:

  • Block 1: OP_PUSHBYTES_4 ffff001d OP_PUSHBYTES_1 04
  • Block 2: OP_PUSHBYTES_4 ffff001d OP_PUSHBYTES_1 0b
  • Block 3: OP_PUSHBYTES_4 ffff001d OP_PUSHBYTES_1 0e
  • Block 4: OP_PUSHBYTES_4 ffff001d OP_PUSHBYTES_1 1a

Do we know why?

1 Answer 1


As mentioned here, ffff001d is the "bits" (representing the current difficulty target), and the rest is called the "extra nonce", used to add more possibilities for mining than just the nonce field. This is also discuss here: ScriptSig (coinbase) structure of the Genesis Block

Later, BIP 34 required that the coinbase include the block height, but this doesn't happen until after block 227,835.

  • I'm really surprised to learn that the very first block had extra nonce space, I always assumed that the extra nonce space was needed later, when the difficulty got very high. It makes me wonder why satoshi didn't allocate another few bytes in the header to nonce space. Does anyone know why the difficulty target was included? Jan 25, 2022 at 17:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.