Warum 21 Mio BTC? Zahl Stimmt nicht!

Ich habe diese Seite gesehen.

https://www.blocktrainer.de/wissen/warum-21-millionen-bitcoin/

Muss diese aber korrigieren die Zahl stimmt nicht.
Es sind weniger BTC als dort angegeben!
Im Block 501,726 gab es kein Belohnung! -12,5 BTC
(Block 0000000000000000004b27f9ee7ba33d6f048f684aaeb0eea4befd80f1701126 - BTC.com)

https://www.blockchain.com/btc/block/501726

21 Mio. sagt man nur, um es einfach zu machen.

Es müssten ganz genau 20999999,9769 sein, aber das spricht sich so schlecht. :smiley:

Mal ganz davon abgesehen, dass geschätzt 3-6 Mio. BTC sowieso für immer verloren sind (Private Key vergessen etc.), was die Gesamtmenge eh deutlich auf unter 21 Mio. bringt.

Dazu hätte ich auch ein paar Fragen:

Funktion MoneyRange

So wie ich das verstehe prüft die Funktion MoneyRange, ob 0 ≤ nValue ≤ 21000000 gilt. Wann bzw. auf welche Argumente wird diese Funktion denn zur Prüfung während der Laufzeit angewendet? Das konnte ich aus dem Kommentar nicht wirklich herauslesen.

Funktion GetBlockSubsidy

Die Funktion GetBlockSubsidy bekommt die Blockhöhe und die Consenus Parameter, und spuckt die aktuelle Subsidy aus. (für den Code einfach ins Profil von @satoshi schauen :wink:)

Alle 210000 Blöcke soll die Subsidy halbiert werden. Deshalb wird in GetBlockSubsidy zuerst die Anzahl der Halvings berechnet. Anschließend werden alle Bits in der Ursprungssubsidy von 5e+9 sat durch einen Rightshift Operator um die Anzahl der Halvings nach rechts verschoben, so dass die Subsidy dementsprechend oft halbiert wird.

Haben bereits ≥ 64 Halvings stattgefunden wird der Ausgabewert der Funktion direkt auf 0 gesetzt.

Allerdings wird die Subsidy beim 33. Halving im Jahr 2140 auf einen Wert < 1 sat halbiert. Nach 33 Rightshifts müsste Subsidy dann also schon exakt 0 sein. Warum gibt es dann die Bedingung mit den 64 Halvings?

Hat der Miner seine Adresse falsch eingetragen?

Wir haben hier doch so einen Blocktrainer-Programmier-Club. Der könnte doch mal den Bitcoin-Quellcode analysieren. :slight_smile:

Die Ausgangsadresse konnte nicht decodiert werden.

Nonce 2.535.626.717

Transaktionsvolumen 0.00000000 BTC

Belohnung blockieren 12.50000000 BTC

Honorar 184467440724.59550000 BTC

Das sind die Daten von Blockchain . com
https://www.blockchain.com/btc/block/501726