Blockchain/Niveau II · Mechanik/2.3 Blöcke und die Blockchain/Lektion 5
Anpassung der Schwierigkeit alle 2016 Blöcke
Der Zwei-Wochen-Regler, der die Uhr am Laufen hält
MaterialienEine Block-Explorer-Oberfläche, die den Verlauf der Schwierigkeit anzeigtEin Rechner für Verhältnisberechnungen
Neugier
- Warum passt das Netzwerk die Schwierigkeit alle zwei Wochen an statt nach jedem Block?
- Wie kann sich ein dezentrales System auf eine mathematische Korrektur einigen, ohne dass eine zentrale Autorität ein Update herausgibt?
- Was passiert mit der Blockerzeugungsgeschwindigkeit in den Tagen unmittelbar nach einem massiven Rückgang der globalen Hashing-Leistung?
Erkunden
- Das Sicherheitsmodell von Bitcoin beruht auf einem gleichmäßigen Rhythmus von etwa zehn Minuten pro Block. Dieser Takt wägt die Finalität von Transaktionen gegen Netzwerküberlastung und Ressourcenverbrauch ab. Mining-Hardware entwickelt sich jedoch rasant weiter; ASICs werden im Lauf der Zeit exponentiell effizienter. Ohne Eingriff würde eine feste Schwierigkeit bedeuten, dass Blöcke mit wachsender Rechenleistung in Sekunden statt in Minuten gefunden würden. Eine solche Volatilität würde die Sicherheitseigenschaften der Kette destabilisieren und die Erwartungen der Nutzer an Bestätigungszeiten durcheinanderbringen.
- Um diesen Rhythmus aufrechtzuerhalten, nutzt Bitcoin eine automatische Rückkopplungsschleife, das sogenannte Retargeting. Alle 2.016 Blöcke – ein Zeitraum von durchschnittlich vierzehn Tagen – berechnet jeder Node unabhängig das Proof-of-Work-Ziel neu. Die Zahl 2.016 ergibt sich aus 14 Tagen multipliziert mit 144 Zehn-Minuten-Intervallen pro Tag. Diese Frequenz schafft ein Gleichgewicht: kurz genug, um auf deutliche Veränderungen der Hashrate zu reagieren, und lang genug, um vorübergehende Schwankungen oder Anomalien in der Netzwerkbeteiligung zu glätten.
- Die Berechnung vergleicht die tatsächlich benötigte Zeit zum Minen der vorherigen 2.016 Blöcke mit den erwarteten 20.160 Minuten. Die Formel lautet: Neues Ziel = Altes Ziel × (Tatsächliche Zeit / Zielzeit). Haben die Miner im Durchschnitt schneller als alle zehn Minuten Blöcke gefunden, ist die tatsächliche Zeit kürzer; daraus ergibt sich ein Bruch kleiner als eins, der das Ziel senkt und die Schwierigkeit erhöht. Haben die Blöcke umgekehrt länger gedauert, steigt das Ziel, um das Rätsel zu erleichtern. Diese proportionale Anpassung sorgt dafür, dass sich der Durchschnitt wieder bei zehn Minuten einpendelt.
- Um extreme Ausschläge durch kurzfristige Schocks zu verhindern, ist die Anpassung pro Zyklus in jede Richtung auf den Faktor vier begrenzt. Wie groß die Veränderung der Hashrate auch ist, eine Anpassung kann die Schwierigkeit höchstens vervierfachen oder auf ein Viertel senken. Die Begrenzung hält den Schaden durch verzerrte Zeitstempel klein und sorgt dafür, dass Veränderungen bei dramatischen Marktereignissen oder Hardwarewechseln allmählich erfolgen.
- Ein bemerkenswertes Beispiel ereignete sich im Juli 2021, nachdem China das Krypto-Mining verboten hatte. Die globale Hashrate brach ein, sodass Blöcke deutlich langsamer als alle zehn Minuten gefunden wurden. Die darauffolgende Schwierigkeitsanpassung war die größte Absenkung in der Geschichte von Bitcoin: Sie betrug fast 28 %, um die gesunkene Rechenleistung abzubilden. Diese schnelle Korrektur brachte die durchschnittliche Blockzeit innerhalb eines einzigen Zyklus wieder in Richtung ihres Zielwerts und zeigte, wie schnell der Mechanismus auf reale wirtschaftliche und regulatorische Schocks reagiert.
- Zwischen den Anpassungen arbeitet das Netzwerk mit einer festen Schwierigkeit. Ändert sich die Hashrate innerhalb dieser zweiwöchigen Zeitfenster, weichen die Blockzeiten bis zum nächsten Retargeting von zehn Minuten ab. Diese Verzögerung ist ein inhärenter Kompromiss periodischer Anpassung; einige andere Chains passen die Schwierigkeit stattdessen bei jedem Block an und tauschen damit Bitcoins Einfachheit und Vorhersehbarkeit gegen eine schnellere Reaktion. Nutzer und Miner können diesen Zyklus in jedem Block-Explorer verfolgen, der die verbleibenden Blöcke bis zur nächsten Anpassung und die geschätzte prozentuale Veränderung auf Basis der aktuellen Mining-Geschwindigkeit anzeigt.
Kernfakten
- Die Schwierigkeit wird alle 2.016 Blöcke neu angepasst, also etwa alle zwei Wochen.
- Die Anpassungsformel skaliert das alte Ziel nach dem Verhältnis der tatsächlich vergangenen Zeit zu den erwarteten 20.160 Minuten.
- Änderungen der Schwierigkeit sind auf einen Faktor von vier pro Zyklus beschränkt, um extreme Schwankungen zu vermeiden.
- Ein Off-by-One-Fehler im ursprünglichen Code bedeutet, dass die Berechnung 2.015 Intervalle verwendet und dadurch eine vernachlässigbare Verzerrung in Richtung höherer Schwierigkeit entsteht.
- Die Anpassung im Juli 2021 war die größte Absenkung der Schwierigkeit in der Geschichte von Bitcoin, nahezu 28 %.
- Jeder Node führt diese Berechnung unabhängig durch, wodurch Konsens ohne zentrale Koordination gewährleistet wird.
Übung neun, sechs, drei, eins
9SammelnNennen Sie 9 frühere Schwierigkeitsanpassungen aus der Historie eines Block-Explorers und notieren Sie jeweils das Datum und die prozentuale Veränderung.
6GruppierenGruppieren Sie die 9 nach Größe und Richtung in 6 Gruppen: starker Anstieg, mäßiger Anstieg, leichter Anstieg, leichter Rückgang, mäßiger Rückgang, starker Rückgang.
3VerdichtenReduzieren Sie die 6 auf 3 Arten von Ereignissen, die die größten Anpassungen verursachen.
1KristallisierenFormulieren Sie einen Satz darüber, wie der zweiwöchige Zyklus von Bitcoin in einer dezentralen Umgebung Reaktionsfähigkeit und Stabilität ausbalanciert.
Faktcheck
Datumsangaben, Zahlen und Behauptungen wurden mit den unten aufgeführten veröffentlichten Quellen abgeglichen.
- Bitcoin Core source code, pow.cpp (CalculateNextWorkRequired)
- A. M. Antonopoulos & D. A. Harding, Mastering Bitcoin, 3rd ed. (2023), ch. 12
- Bitcoin difficulty history, block 689,472 (July 2021)