From what I learned, the coinbase field in the block reward transaction can carry any data (As long as smaller than 100b).

Why that actually? Was it easier to implement in the beginning? I would just have defined that the coinbase transaction may have no input. I know it is useful now to carry more information (see BIP34). I'm just not sure what was Satoshi's intention here, although he included himself the famous

The Times 03/Jan/2009 Chancellor on brink of second bailout for banks

Further it seems that this is missing in the transaction db and is unspendable, but I may confuse things here.

1 Answer 1


They wanted to rule out possibility that the same transaction ID would appear in different block, as a different coinbase.

There have been such in the history, but only twice, and it complicates the unspent DB application, so they just decided one day that same ID would not be distinguishable as a different transaction anymore. Thus added a protection against it, in block format version 2, so no miner can accidentally end up anymore with a non-unique ID for his coinbase transaction.

  • Ok, I see, that's the reason: the transaction ID is calculated from the data of the transaction, and if there would be just a normal bitcoin address as 'out' but nothing as 'in', collisions would be likely.
    – Borph
    Commented May 31, 2013 at 8:50
  • are you referring to bip 0034? Commented Mar 11, 2014 at 9:36
  • 2
    This answer explains how it is used now (as of BIP 34), not the original reason for having the coinbase field. Commented Apr 1, 2014 at 8:33
  • 1
    agreed with @PieterWuille . This doesn't answer the motivation of having the coinbase field in the first place. If unique transaction ID was required a sequence field would have been added instead of allowing arbitrary data Commented Jul 1, 2020 at 9:04

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.