Thanks for the detailed explanation so each block created currently increases the ledger by a maximum of 12.5BTC.
Correct.
Shouldn't there be a mechanism to reclaim the accidental loss in a block chain and have that available for miners?
Why?
Has anyone tried to total the number of BTC in ledger?
Any time you start up a new instance of Bitcoin Core, it begins with the very first block and processes EVERY transaction. As it does so, it keeps a running list of all the unspent outputs. This is called the Unspent Transaction Output list, and is typically abbreviated to UTXO. This means that every copy of Bitcoin Core on the network verifies that the rules haven't been broken and has a total available. You can see this total with the command:
In addition to the value that was removed from the ledger which I mentioned in my earlier post, there is also a special type of output (OP_RETURN) that is defined as "unspendable". Often users will create an OP_RETURN output with a value of 0 bitcoins which then allows them to store some data in that output (and therefore permanently store data in the bitcoin ledger). Occasionally someone has either accidentally or intentionally sent a value greater than 0 bitcoins to one of these outputs. Because this output is defined as unspendable, Bitcoin Core can treat any such output as "gone from the ledger" and can subtract it from its UTXO. This significantly reduces the load on the Bitcoin Core instance since it doesn't need to permanently keep all these data-storing unspendable outputs in its UTXO. When you run gettxoutsetinfo the information it includes reflects an absence of these OP_RETURN outputs in addition to the value that was lost due to mining errors.
I just ran that command as I was writing this post and it currently returns:
{
"height": 467441,
"bestblock": "000000000000000001240b0fadf761adb7841d1d63c09b1c013f5a63a78a4aa2",
"transactions": 20895539,
"txouts": 51045935,
"bytes_serialized": 2034254597,
"hash_serialized": "df02557657af6ccca7d75affced3dc0da12ee8c53b9058413be6ddb9fa0adf47",
"total_amount": 16342861.10771819
}
You can see here that there are currently 51,045,935 transaction outputs, and that the sum of the values of those outputs is 16,342,861.10771819 BTC
Considering:
- We are currently at block height 467441
- The first 210,000 blocks had a subsidy of 50 BTC
- The next 210,000 blocks had a subsidy of 25 BTC
- The remaining 47,441 blocks had a subsidy of 12.5 BTC
The total bitcoin value of all outputs (if OP_RETURN wasn't subtracted and miners didn't fail to pay themselves their maximum allowable reward) should be:
(210,000 X 50) + (210,000 X 25) + (47,441 X 12.5) = 16,343,012.5
This theoretical total minus the actual total (where OP_RETURN outputs are subtracted) is:
16,343,012.5 - 16,342,861.10771819 = 151.39228181
OP_RETURN is intended to be used when intentionally creating an unspendable output, but there are other outputs that are provably unspendable. Bitcoin Core keeps these other provably unspendable outputs in its UTXO. There have been several efforts to analyze the ledger and find ALL provably unspendable outputs. Here's an analysis that was completed in July 2014:
https://bitcointalk.org/index.php?topic=675321.0 - snip -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
- snip - At that time there were only 135.20897146 BTC that were missing from the UTXO. So, it looks like an additional 16.18331035 BTC have been assigned to OP_RETURN outputs since then.
However, many coins are lost as well. There's a
thread which attempts to count all of the
known lost coins - last time I checked there was around 130,000 on there. However, the actual number is likely to be much more, since Bitcoins were practically worth nothing when it first started.
Those are still in the ledger. They haven't vanished, they are just unspendable until the original owner finds their private key. It can't be proven that the private key isn't available. The total bitcoin value that has vanished from the blockchain ledger is less than 200.
Fortunately, lost coins are sort of limited by the market, since losing coins lowers the supply, thus pushing up the price and making each person own less coins to lose in the long run (and/or making them more careful with their coins).
This thread is not about unspendable bitcoin value. This thread is about whether the blockchain balances and how that is enforced.
1.) The total amount is always tally;
Please read a thread before you post in it. It has already been explained that this is NOT TRUE.
2.) No bitcoin is lost between transactions; and
Please read a thread before you post in it. It has already been explained that this is NOT TRUE.
3.) No counterfeit bitcoin exist.
Please read a thread before you post in it. It has already been explained that "bitcoins" don't exist. Obviously no counterfeit bitcoin exist, you can't create a counterfeit of something that doesn't even exist. Regardless, this thread is about the ledger and whether it balances, not the existence of "counterfeit bitcoins".
The only "way" to destroy circulating bitcoin is by sending them to the unspent-able so-called BitcoinEater addresses which were generated without private keys.
Please read a thread before you post in it. It has already been explained that this is NOT TRUE.