Post
Topic
Board Development & Technical Discussion
Merits 1 from 1 user
Re: [IDEA] A new standard protocol for new or existing chains?
by
DannyHamilton
on 13/09/2017, 13:54:51 UTC
⭐ Merited by ETFbitcoin (1)
The only 100% proven destroyed coins are the one with OP_RETURN outputs.

Not true.  See below.

Not sure how many BTC were destroyed in this way, but I remember an article saying, that there are about 4 BTC lost due to OP_RETURN outputs. Could be higher now, as it was an old article.

It is higher. See below.

All other script outputs may be valid for someone to spend.

Not true.  See below.

There is no way so far I know, to identify if any UTXO is never ever spendable in the future.

Not true.  See below.



Here is an analysis of the blockchain from July 2014 determining which bitcoins were provably unspendable at that time:

In validating a UTXO parser I started looking at various outputs which are provably unspendable.  As of block #305303 2,745.22283996 BTC have been provably lost.  The total number of coins lost is higher potentially much higher but most of those losses can't be proven.   Funds sent to outputs that can never be redeemed can be provably shown to be lost.

Code:
Category       NumOutputs    AmountLost
-----------------------------------------
BugOpFalse            23   2,609.36304319
BugP2Pool            182       0.60280235
BugInvalidOpcode      14       0.04520008
BugInvalidPubKey  17,112       0.00242288
BugParseError          1       0.00040000
ZeroValue *        3,080       0.00000000
MissingFromUTXO **   ---     135.20897146
-----------------------------------------
Total             20,412   2,745.22283996 BTC

* Zero value unprunable outputs are not invalid outputs but they are undesirable.  I was surprised to see there are over three thousand in the UTXO.  In the future the creation of new zero value outputs (with the exception of the prunable OP_RETURN) could be made invalid and potentially even these outputs pruned off by a hard fork.

** As of block 305,303 the coin supply is limited to 12,882,575 BTC.   This is based on the max subsidy per block and the block height.  However the UTXO (set of all unspent outputs) is only 12,882,439.79102854 BTC.  Some of the difference may be due to OP_RETURN outputs (which are unspendable by protocol) having a value set.  This could be accidental or intentional.  Another source of lost coins is due to miners taking less than the maximum block reward which in effect "de-mines" an amount of coins equal to the difference between the allowed reward and the taken reward.