How to Destroy Bitcoins
2019 July 6
Bitcoin is designed to have a limited supply. Bitcoins would be added to the total supply at a decreasing rate through mining, and when that rate reached zero, only 21,000,000 bitcoins could exist (at maximum). (The rate will reach 0 around the year 2140.)
In practice, there are fewer bitcoins than this. Through three different means the effective number of bitcoins in circulation can be decreased (or not increased by as much).
1. Assign bitcoins to a script that no one knows how to spend.
This is easy. Just send some bitcoins to an unknown address that's never been used before. In this type of situation, it's entirely possible that someone will generate that address. But probably not. If we're just talking about P2PKH, there are 2160 possible addresses. This means that by randomly generating new keys, each key has a 1 in 1461501637330902918203684832716283019655932542976 chance of yielding that address. Thus, sending bitcoins to an unknown address renders them effectively destroyed. It's like burying your coins somewhere very hard to find and yourself forgetting where you buried them. However, they still exist and could theoretically still be spent.
2. Assign bitcoins to a script that cannot be spent.
You can instead use a script that can never be spent. For example, outputs with scripts that execute the OP_RETURN op code are "provably unspendable". This has important implications. Unlike coins "destroyed" with method 1, provably unspendable UTXOs (unspent transaction outputs) do not need to be tracked by nodes. The coins still exist, but we know they can't be spent. This is like marking your coins as void. The fact that they don't need to be tracked is relevant to the discusion of data storage.
3. Don't claim mining rewards/fees.
When a miner mines a block, they can claim a block reward, as well as fees from the transactions in that block. Emphasis on can. Interestingly enough, the miner may claim less than their share of the block reward + transaction fees, thus preventing those coins from even existing. It's like preventing coins from being minted.