How does one prove that they sent some BTC to an address that no one has the private keys for? Is there an address that one can send to? Basically proof of burn.
Another example that is similar to @JBaczuk's 3rd point, is a Bitcoin address that would be nearly impossible to know the private key or public key for. Note that this address isn't provably unspendable, it is just super duper unlikely that someone knows the private key for it.
For example, see 1BitcoinEaterAddressDontSendf59kuE.
Addresses are encoded in base58, so searching for an exact sequence of characters has the probability of
58^(the number of characters you are searching). The 1BitcoinEater... address has 27 characters, so on average, you'll have to search through
58^27 addresses before finding a match.
This is equivalent to
4.1 *10^47, an obviously huge number, that no number of computers on earth are capable of running through. So, we can be quite sure that nobody knows the key for this address.
Essentially you must send coins to an address that is provably unspendable. There are many ways to do this.
- Put the coins in an
OP_RETURNoutput. These outputs are provably unspendable because the consensus rules prevent it.
- Send coins to any script which resolves to false.
- Since addresses are encoded hashes, start with a hash, of which it would be nearly impossible to find the pre-image, e.g. assume a script hash of
0000000000000000000000000000000000000000. Encode that into a valid address:
bs58 -c 050000000000000000000000000000000000000000 31h1vYVSYuKP6AhS86fbRdMw9XHieotbST
This address has actually had Bitcoin sent to it, but never from it: https://blockstream.info/address/31h1vYVSYuKP6AhS86fbRdMw9XHieotbST