This question already has an answer here:

The protocol rules state that

For each input, if the referenced output transaction is coinbase (i.e. only 1 input, with hash=0, n=-1), it must have at least COINBASE_MATURITY (100) confirmations; else reject this transaction

Why should coinbase transactions with less than 100 confirmations be unspendable? What is the point of the rule?

marked as duplicate by Nate Eldredge, Salvador Dali, Murch, John T, dchapes Feb 25 '14 at 19:01

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • The answer to this question is the second answer in the above linked question. – John T Feb 23 '14 at 5:26

The reason for this is that if a fork were to occur, some blocks will be orphaned and not have any coins which can be rebroadcast. If a block containing a transaction you send me gets orphaned, I can still get my coins, but if the block you are sending me coins from gets orphaned, I can not rebroadcast since the coinbase no longer exists on the valid chain.

  • But the chances of such a massive fork is basically zero. – Matthew Mitchell Apr 10 '14 at 13:53
  • 1
    You say that now ;) – jason328 Dec 12 '17 at 18:50

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