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

<p>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.</p>

CC BY-SA 3.0
2013-05-31T08:50:41.893Z
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
CC BY-SA 3.0
2014-03-11T09:36:41.260Z
are you referring to [bip 0034](https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki)?
Janus Troelsen
CC BY-SA 3.0
2014-04-01T08:33:33.740Z
This answer explains how it is used now (as of BIP 34), not the original reason for having the coinbase field.
Pieter Wuille
CC BY-SA 4.0
2020-07-01T09:04:19.607Z
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
dark knight
CC BY-SA 3.0
2013-05-28T09:39:55.083Z
2013-05-28T09:44:56.560Z
2013-05-28T09:44:56.560Z
Gigi
<p>From what I learned, the coinbase field in the block reward transaction can carry any data (<a href="https://bitcoin.stackexchange.com/a/4991/2324">As long as smaller than 100b</a>).</p>

<p>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 (<a href="https://en.bitcoin.it/wiki/BIP_0034" rel="nofollow noreferrer">see BIP34</a>). I'm just not sure what was Satoshi's intention here, although he included himself the famous</p>

<blockquote>
  <p>The Times 03/Jan/2009 Chancellor on brink of second bailout for banks</p>
</blockquote>

<p>Further it seems that this is missing in the transaction db and is <a href="https://bitcoin.stackexchange.com/questions/10009/why-cant-the-genesis-block-coinbase-be-spent">unspendable</a>, but I may confuse things here.</p>

<protocol><mining-reward><coinbase-transaction>
What was the design decision behind that the coinbase field can have arbitrary data?
Borph
# What was the design decision behind that the coinbase field can have arbitrary data?

(Asked by: username_0 on 2013-05-28)

From what I learned, the coinbase field in the block reward transaction can carry any data ([As long as smaller than 100b](https://bitcoin.stackexchange.com/a/4991/2324)).

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](https://en.bitcoin.it/wiki/BIP_0034)). 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](https://bitcoin.stackexchange.com/questions/10009/why-cant-the-genesis-block-coinbase-be-spent), but I may confuse things here.

**Tags:** protocol, mining-reward, coinbase-transaction


---

## 1 answers

### Answer by username_1 on 2013-05-28. Score: -1 | Accepted answer

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.

> **Comments:**
> **username_0**: 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.  
> **username_2**: are you referring to [bip 0034](https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki)?  
> **username_3**: This answer explains how it is used now (as of BIP 34), not the original reason for having the coinbase field.  
> **username_4**: 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  

---

