15

Suppose that a miner for some reason has the generation transaction of their blocks not take all the possible coins. This can happen for a variety of reasons, almost all of which are bugs:

  • An off-by-one error makes them think that their block should generate only 25 BTC when we're still at 50 BTC per block
  • Some bug prevents them from noticing a transaction fee; perhaps they were mining and updating the block in parallel using non-thread-safe code.
  • Depending on the answer to this question, they may actually decide to do this on purpose (though I can't think of an answer that would cause this in the vast majority of cases)

I can think of a few possible ways the network would respond, and none really seem ideal.

  • The block could be rejected, just as it would be if it had too much generated.
  • The block could be accepted and the extra coins available for whoever mines the next block (in which case, somebody may do this on purpose to encourage others to mine).
  • The block could be accepted and the extra coins lost.

What actually happens?

22

The block is accepted, and the coins are lost. Poor miner.

Here is a link to the part of the 0.6.3 source which checks this: https://github.com/bitcoin/bitcoin/blob/v0.6.3/src/main.cpp#L1362

Also, this has effectively happened before; block #124724 claimed one satoshi less it than could have.

  • Do you have a source on this, such as the standard client code or documentation? – Daniel H Aug 28 '12 at 4:12
  • 3
    If you look at the client code, you'll see it only checks to make sure the output isn't more than the total of all fees plus the block reward. No other checks of the amount are made. – David Schwartz Aug 28 '12 at 7:14
  • 1
    Updated my answer with a link to the source. – Pieter Wuille Aug 28 '12 at 14:31
  • Wouldn't the coins still be available to be collected by later blocks, as they aren't assigned to any address? – Murch Aug 21 '13 at 15:15
  • 3
    @Murch: No. That would have made sense perhaps, but it's not how the rules are - and changing things at this level is extremely hard. – Pieter Wuille Aug 21 '13 at 21:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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