8

From the developer guide:

The UTXO of a coinbase transaction has the special condition that it cannot be spent (used as an input) for at least 100 blocks. This temporarily prevents a miner from spending the transaction fees and block reward from a block that may later be determined to be stale (and therefore the coinbase transaction destroyed) after a block chain fork.

Can someone please explain why this constraint is necessary? I mean, how is the output of a coinbase transaction (plus block's transaction fees) different than the outputs of any other transaction?

Or, put differently, if coinbase transactions require a 100-block cooldown period, all other transactions do too, no?

1

1 Answer 1

12

how is the output of a coinbase transaction (plus block's transaction fees) different than the outputs of any other transaction?

Because it's validity is tied to WHICH block it is included in. You can't take a coinbase transaction and include it as if it were a standard transaction in another block, because it creates more bitcoins than it spends, which is not allowed for normal bitcoin transactions.

This issue is called being reorg-safe (reorganization-safe). It is a general principal of the blockchain, and it means that if a fork happens and you have to undo the latest block or two to replace them with different blocks, that shouldn't change which transactions are valid. With normal transactions, it's pretty easy to just add them to block X instead of block Y when a fork happens.

But if you have transactions that depend on a recent coinbase transaction, then you can't take those transactions and put them in another block easily. So the 100 block rule is to keep the blockchain reorg-safe, so nothing bad happens in the case of a small fork.

1
  • 2
    A nice side effect is that it forces miners to have a slightly longer-term interest in Bitcoin. Although I guess 16.6 hours is not that much of a difference. Proposals have been made to make the delay much longer, like months (for example for half of the reward).
    – Jannes
    Sep 24, 2015 at 18:11

Your Answer

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

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