BitcoinVonInnen

Halving

Halving-Zähler, Blocksubvention, Rechts-Shift, Epochen-Tabelle mit Node-Vergleich (theoretisch, realisiert, nicht realisiert) und die 21-Millionen-Grenze.

Block 957.008Live

Was ist das Halving?

Das Halving ist die regelmäßige Halbierung der Blocksubvention.

Die Blocksubvention wird in Bitcoin intern in Satoshis gezählt. Ein Bitcoin besteht aus 100.000.000 Satoshis.

1 BTC = 100.000.000 sats
50 BTC = 5.000.000.000 sats

Zu Beginn von Bitcoin betrug die Blocksubvention 50 BTC pro Block, also 5.000.000.000 Satoshis.

Nach jedem Intervall von 210.000 Blöcken wird dieser Betrag halbiert.

Dadurch sinkt die Menge neu erzeugter Bitcoin schrittweise, bis die Blocksubvention schließlich auf 0 Satoshis fällt.

Block Subsidy

Block HeightHalvingBinary (sats)Decimal (sats)Decimal (BTC)Date
001001010100000010111110010000000005.000.000.00050,000000003. Jan. 2009
210.0001100101010000001011111001000000002.500.000.00025,0000000028. Nov. 2012
420.000210010101000000101111100100000001.250.000.00012,500000009. Jul. 2016
630.0003100101010000001011111001000000625.000.0006,2500000011. Mai 2020
840.000410010101000000101111100100000312.500.0003,1250000019. Apr. 2024
1.050.00051001010100000010111110010000156.250.0001,562500002029
1.260.000610010101000000101111100100078.125.0000,781250002033
1.470.00071001010100000010111110010039.062.5000,390625002037
1.680.0008100101010000001011111001019.531.2500,195312502041
1.890.00091001010100000010111110019.765.6250,097656252045
2.100.00010100101010000001011111004.882.8120,048828122049
2.310.0001110010101000000101111102.441.4060,024414062053
2.520.000121001010100000010111111.220.7030,012207032057
2.730.0001310010101000000101111610.3510,006103512061
2.940.000141001010100000010111305.1750,003051752065
3.150.00015100101010000001011152.5870,001525872069
3.360.000161001010100000010176.2930,000762932073
3.570.00017100101010000001038.1460,000381462077
3.780.0001810010101000000119.0730,000190732081
3.990.00019100101010000009.5360,000095362085
4.200.0002010010101000004.7680,000047682089
4.410.000211001010100002.3840,000023842093
4.620.00022100101010001.1920,000011922097
4.830.0002310010101005960,000005962101
5.040.000241001010102980,000002982105
5.250.00025100101011490,000001492109
5.460.000261001010740,000000742113
5.670.00027100101370,000000372117
5.880.0002810010180,000000182121
6.090.00029100190,000000092125
6.300.0003010040,000000042129
6.510.000311020,000000022133
6.720.00032110,000000012137
6.930.0003300,000000002141

Warum findet das Halving ungefähr alle vier Jahre statt?

Das Halving ist nicht an ein Kalenderdatum gebunden, sondern an die Blockhöhe.

Bitcoin halbiert die Blocksubvention nach jedem Intervall von 210.000 Blöcken.

Halving-Zähler = ganzzahliger Anteil von (Blockhöhe / 210.000)

Dabei zählt nur der ganzzahlige Anteil. Ein Block kurz vor der nächsten Grenze gehört also noch zum alten Intervall.

Block 0–209.999       → Halving-Zähler 0 → 50 BTC
Block 210.000–419.999 → Halving-Zähler 1 → 25 BTC
Block 420.000–629.999 → Halving-Zähler 2 → 12,5 BTC
Block 630.000–839.999 → Halving-Zähler 3 → 6,25 BTC
Block 840.000–1.049.999 → Halving-Zähler 4 → 3,125 BTC

Da Bitcoin langfristig auf eine durchschnittliche Blockzeit von etwa zehn Minuten ausgerichtet ist, entsprechen 210.000 Blöcke ungefähr vier Jahren.

210.000 Blöcke × 10 Minuten
= 2.100.000 Minuten
≈ 1.458 Tage
≈ 3,99 Jahre

Das tatsächliche Datum eines Halvings kann jedoch abweichen, weil Blöcke nicht exakt alle zehn Minuten entstehen. Die Difficulty passt den Arbeitsaufwand regelmäßig an, damit sich die durchschnittliche Blockzeit langfristig wieder in Richtung zehn Minuten bewegt.

Was wird beim Halving halbiert?

Beim Halving wird nur die Blocksubvention halbiert.

Die maximal erlaubte Coinbase-Belohnung eines gültigen Blocks kann aus zwei Teilen bestehen:

BLOCK REWARDBlockbelohnung738.242.774 sats=Blocksubvention625.000.000 sats+Transaction Fees113.242.774 sats4.272 TXBlock 825.000

Die Blocksubvention ist der neu erzeugte Betrag. Sie entsteht direkt im Block und erhöht die umlaufende Bitcoin-Menge.

Die Transaktionsgebühren stammen dagegen aus den Transaktionen im Block. Sie werden nicht neu erzeugt, sondern von Nutzern bezahlt.

Wenn ein Halving stattfindet, wird deshalb nur der neu erzeugte Anteil reduziert.

Vor Halving:
Coinbase-Belohnung = 6,25 BTC Blocksubvention + Gebühren
 
Nach Halving:
Coinbase-Belohnung = 3,125 BTC Blocksubvention + Gebühren

Die Gebühren können von Block zu Block unterschiedlich hoch sein. Deshalb bedeutet ein Halving nicht, dass Miner exakt nur noch halb so viel erhalten.

Es bedeutet nur, dass die neu erzeugte Blocksubvention halbiert wird.

Diese Grenze ist Teil der Konsensregeln. Jeder vollständig validierende Node berechnet bei der Blockvalidierung selbst, wie hoch die erlaubte Blocksubvention für die jeweilige Blockhöhe maximal sein darf.

Entscheidend ist nicht, was ein Miner in die Coinbase-Transaktion schreibt, sondern was aus der Blockhöhe folgt.

Bitcoin Core berechnet die Blocksubvention in GetBlockSubsidy() aus der Blockhöhe.

Beispiel für Block 850.000:

Bitcoin Core verwendet hier eine Integer-Division. Da nHeight und nSubsidyHalvingInterval ganze Zahlen sind, entsteht keine Kommazahl. Der Nachkommateil wird verworfen.

Block 839.999:
halvings = 839.999 / 210.000
halvings = 3
Block 840.000:
halvings = 840.000 / 210.000
halvings = 4

Dadurch ändert sich die Blocksubvention erst an der exakten Halving-Grenze.

Block 850.000 liegt also nach vier abgeschlossenen Halving-Intervallen. Bitcoin Core startet mit der ursprünglichen Blocksubvention von 50 BTC.

COIN = 100.000.000 sats
Blocksubvention = 50 * COIN
Blocksubvention = 5.000.000.000 sats

In binärer Form ist dieser Satoshi-Betrag:

5.000.000.000 sats
=
64-bit:
00000000000000000000000000000001 00101010000001011111001000000000
│                             │ │                              │
Bit 63                    Bit 32 Bit 31                      Bit 0

Anschließend wird dieser Integer-Wert um die Anzahl der Halvings nach rechts verschoben.

Blocksubvention >>= 4

Ein Rechts-Shift um 4 Stellen verschiebt die Binärzahl vier Stellen nach rechts. Bei einem Integer entspricht das einer Division durch 2^4, also durch 16.

Die interaktive Darstellung zeigt vereinfacht, wie der Shift für verschiedene Halving-Werte funktioniert. In Bitcoin Core ist die Blocksubvention ein 64-bit Integer. Die Grafik zeigt aus Lesbarkeitsgründen nur den relevanten Ausschnitt bis zum höchsten gesetzten Bit 32; die Bits 63 bis 33 sind führende Nullen.

035
START · 50 BTC5.000.000.000 sats13203103012902812702612502402302202102001911801711611511411311201101019080706050403020100rechte 4 Bits fallen weg>> 4Bits wandern 4 Stellen nach rechtsERGEBNIS · 3,125 BTC312.500.000 sats0320310300291280270261250241230221210200190180170160151140131121111101918070615040302010003020100links mit 0 aufgefülltfallen rechts raus

Bit antippen für Stellenwert und Dezimalbeitrag.

Ergebnis · 3,125 BTC

  • 2²⁸=268.435.456
  • 2²⁵=33.554.432
  • 2²³=8.388.608
  • 2²¹=2.097.152
  • 2¹⁴=16.384
  • 2¹²=4.096
  • 2¹¹=2.048
  • 2¹⁰=1.024
  • 2⁹=512
  • 2⁸=256
  • 2⁵=32

Summe = 312.500.000 sats

Seit Block 840.000 beträgt die Blocksubvention 312.500.000 Satoshis, also 3,125 BTC.

Block 850.000 liegt bereits in diesem Halving-Intervall und verwendet daher denselben Wert.

Die relevante Berechnung steht in Bitcoin Core in GetBlockSubsidy(). Auf der Validierungsseite ist sie bei den Block-Betragsregeln eingeordnet.

Dabei zählt nur der ganzzahlige Anteil des Halving-Zählers. Dadurch ergibt sich für jede Blockhöhe eindeutig dieselbe maximal erlaubte Blocksubvention.

Die Coinbase-Transaktion darf nicht beliebig viele Satoshis auszahlen. Ein Miner darf sich höchstens die aktuelle Blocksubvention plus die Gebühren der im Block enthaltenen Transaktionen auszahlen.

maximal erlaubte Coinbase-Auszahlung
= aktuelle Blocksubvention + Transaktionsgebühren

Diese Prüfung gehört ebenfalls zu den Block-Betragsregeln. Überschreitet die Coinbase-Transaktion diesen Betrag, ist der gesamte Block ungültig.

Ein solcher Block wird von Full Nodes abgelehnt und nicht auf den lokalen Chainstate angewendet.

Das Halving wird daher nicht durch Vertrauen in Miner durchgesetzt, sondern durch unabhängige Validierung aller vollständigen Nodes.

Die maximale Geldmenge von 21 Millionen BTC

Durch die regelmäßigen Halvings entsteht mit der Zeit immer weniger neue Blocksubvention. Die Menge neu erzeugter Bitcoin nimmt dadurch nicht linear zu, sondern nähert sich langfristig einem festen Grenzwert an.

0 BTC5 Mio BTC10 Mio BTC15 Mio BTC20 Mio BTC21 Mio BTC200920122016202020242028203220402060208021002140GRENZWERTE21 Mio BTCtheoretischer Grenzwert20.999.999,9769 BTCtatsächliche maximale GeldmengeKUMULATIVE GELDMENGE

Die Bitcoin-Geldmenge wächst deshalb nicht unbegrenzt. Sie steigt anfangs schnell, danach immer langsamer, weil die Blocksubvention nach jedem Halving-Intervall kleiner wird.

Genau genommen werden durch die Blocksubventionen maximal 20.999.999,9769 BTC erzeugt. Das entspricht 2.099.999.997.690.000 Satoshis.

Bitcoin rechnet intern in ganzen Satoshis. Da die Blocksubvention bei jedem Halving als Integer-Wert halbiert wird, können Bruchteile eines Satoshis nicht entstehen.

Die oft genannte Obergrenze von 21 Millionen BTC ist daher eine gerundete Darstellung des theoretisch maximal erzeugbaren Werts.

Dieser Wert setzt voraus, dass Miner in jedem Block die maximal erlaubte Blocksubvention vollständig beanspruchen. Zahlt ein Miner in der Coinbase-Transaktion weniger aus als erlaubt, entstehen diese Satoshis nicht als UTXO. Die tatsächlich erzeugte Menge kann daher geringfügig darunter liegen.

Neue Satoshis· Node-Scan vorübergehend nicht erreichbar

Block HeightHalvingTheoretischNode · realisiertNicht realisiertDate
000003. Jan. 2009 · nicht ausgebbar
210.00011.049.997.500.000.0001.049.996.494.351.1121.005.648.88828. Nov. 2012
420.00021.574.996.250.000.0001.574.995.229.521.3871.020.478.6139. Jul. 2016
630.00031.837.495.625.000.0001.837.492.729.497.0962.895.502.90411. Mai 2020
840.00041.968.745.312.500.0001.968.742.416.997.0932.895.502.90719. Apr. 2024
1.050.00052.034.370.156.250.0002029
1.260.00062.067.182.578.125.0002033
1.470.00072.083.588.789.062.5002037
1.680.00082.091.791.894.531.2502041
1.890.00092.095.893.447.265.6252045
2.100.000102.097.944.223.632.8122049
2.310.000112.098.969.611.711.4062053
2.520.000122.099.482.305.750.7032057
2.730.000132.099.738.652.770.3512061
2.940.000142.099.866.826.175.1752065
3.150.000152.099.930.912.772.5872069
3.360.000162.099.962.955.966.2932073
3.570.000172.099.978.977.458.1462077
3.780.000182.099.986.988.099.0732081
3.990.000192.099.990.993.419.5362085
4.200.000202.099.992.995.974.7682089
4.410.000212.099.993.997.252.3842093
4.620.000222.099.994.497.891.1922097
4.830.000232.099.994.748.210.5962101
5.040.000242.099.994.873.370.2982105
5.250.000252.099.994.935.950.1492109
5.460.000262.099.994.967.240.0742113
5.670.000272.099.994.982.780.0372117
5.880.000282.099.994.990.550.0182121
6.090.000292.099.994.994.330.0092125
6.300.000302.099.994.996.220.0042129
6.510.000312.099.994.997.060.0022133
6.720.000322.099.994.997.480.0012137
6.930.000332.099.994.997.690.0002141

Die Spalte Theoretisch zeigt die maximal erlaubte kumulative Blocksubvention bis zur jeweiligen Halving-Grenze. Node · realisiert stammt aus dem Chain-Scan der BitcoinVonInnen-Node: tatsächlich in Coinbase-Outputs beanspruchte Satoshis. Nicht realisiert ist die Differenz: erlaubte Subvention minus tatsächlich beansprucht. Diese Satoshis entstehen nicht als UTXO.

Die häufig genannte Obergrenze von 21 Millionen BTC ist daher eine gerundete Darstellung des tatsächlichen Grenzwerts.

Neue Bitcoin entstehen ausschließlich über die Coinbase-Transaktion. Sie enthält die Blocksubvention und kann zusätzlich die Transaktionsgebühren des jeweiligen Blocks einsammeln.