The definitive way

While the previous methods are effective, they do not really destroy bitcoins. You can still see them in the blockchain, it’s just that no one can spend them. However, there’s a way to effectively destroy bitcoins by removing them from the blockchain.

When I was building the new version of p2sh.info, I made sure that I had not missed any transaction data so that the database was consistent. As a part of this process, I computed the number of existing bitcoins as the sum of bitcoins held in unspent, but confirmed, outputs. If everything is right, this sum should add up to the number of bitcoins in existence (and this number can be computed only by knowing the number of blocks in the main chain of the blockchain).

However, I found out that 10.19768818 BTC were missing… At first, I thought I had missed some transactions or that there was a bug in my code. Upon further inspection, I found out that I was right: 1031 blocks did not redeem all of the block reward they were entitled to. The block reward is the combination of the generated coins (50BTC at the beginning of Bitcoin, halving every 210,000 blocks) and the fees contained in the block’s transactions.

These discrepancies may be due to the fact that miners missed some transactions’ fees or that a superfluous transaction fee was paid for the coinbase transaction itself and not included in the miner’s transaction output value or it may even be intentional, who knows.

The first of these blocks dates back to May 18th, 2011 and the last one occured on August 15th, 2015 (it had only 1 satoshi missing and was apparently mined using CoiniumServ). The majority of these blocks was mined between January 2012 and March 2013.

Several pools mined blocks not claiming all of the block reward. According to Blocktrail API, EclipseMC and Eligius were those that mined more than half of these blocks. What’s interesting to notice is that these two pools started mining them at the same time, suggesting they may have been using the same pool software. However, EclipseMC stopped mining them in September 2012 while Eligius didn’t (they stopped in January 2013) suggesting a split in pool software at that time. Other pools, like Slush, P2Pool, also mined such blocks, but only a few ones.

These missing bitcoins are definitively lost. Sending bitcoins to bogus addresses or spending them in unspendable outputs does not make them disappear, you can still see them in the blockchain. Not redeeming all the block reward makes bitcoins really disappear: there is no way to see them in the blockchain. Looking at the bitcoind source, the only check on the block reward’s value is that it does not exceed its maximum value, thus it seems that you could even destroy all of the block reward, including generated coins, this way.