Coinbase maturity of 100 transactions 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?
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.