Glossar / Mining und Konsens
Difficulty-Anpassung
Auch bekannt als Retarget.
- Was ist die Difficulty-Anpassung?
- Die Difficulty-Anpassung ist die Regel, die alle 2.016 Blöcke neu festlegt, wie schwer das Mining ist, und den durchschnittlichen Abstand zwischen den Blöcken wieder auf zehn Minuten zurückführt, wenn sich die Hashrate ändert.
Bitcoin hat keinen Taktgeber, daher besteht die einzige Möglichkeit, die Ausgabe im Takt zu halten, besteht darin, die Suche schwerer zu machen, wenn Miner hinzukommen, und leichter, wenn sie weggehen. Die Neuberechnung erfolgt alle 2.016 Blöcke, zielt auf 1.209.600 Sekunden verstrichene Zeit und kann sich höchstens um den Faktor vier ändern. Deshalb überstehen die Bestätigungszeiten einen Mining-Boom oder einen Einbruch.
Wie es funktioniert
Der Difficulty-Anpassung liegt Arithmetik zugrunde, keine Entscheidung, und jeder Node führt sie unabhängig durch.
Am Ende jedes Fensters von 2.016 Blöcken liest ein Node zwei Zeitstempel: den im ersten Block des Fensters und den im letzten. Er teilt die verstrichenen Sekunden durch 1.209.600, die Anzahl der Sekunden in zwei Wochen, und multipliziert das alte Ziel mit diesem Verhältnis. Blöcke, die schnell kamen, ergeben ein Verhältnis unter eins, was das Ziel senkt und das nächste Fenster schwerer macht. Blöcke, die langsam kamen, ergeben ein Verhältnis über eins, was das Ziel erhöht und das nächste Fenster leichter macht. Das Ergebnis wird an beiden Enden begrenzt: die verstrichene Zeit wird als nicht weniger als 302.400 Sekunden und nicht mehr als 4.838.400 Sekunden behandelt, sodass sich eine einzelne Neuberechnung niemals um mehr als das Vierfache in eine der beiden Richtungen bewegen kann.
In dieser Berechnung gibt es einen berühmten Off-by-one-Fehler. Ein Fenster von 2.016 Blöcken enthält nur 2.015 Intervalle zwischen ihnen, und der Code misst die Zeitstempel, ohne das zu korrigieren. Der Effekt ist klein und dauerhaft: das Netzwerk strebt einen Block alle 9,9950 Minuten an statt alle 10, sodass Bitcoins Uhr einem naiven Zeitplan von zehn Minuten leicht voraus ist. Er wurde nie korrigiert, weil eine Korrektur ein Hard Fork ohne echten Nutzen wäre.
Die Zeitstempel sind die schwache Eingabe, und die Regeln dafür sind bewusst locker. Der Zeitstempel eines Blocks muss nur größer sein als der Median der vorherigen elf Blöcke und darf nicht mehr als zwei Stunden vor der eigenen Uhr des empfangenden Nodes liegen. Miner haben daher ein wenig Spielraum, um eine Neuberechnung leicht zu beeinflussen, was die Grundlage des theoretischen Time-Warp-Angriffs ist und der Grund, warum Vorschläge zur Verschärfung der Zeitstempelregeln immer wieder auftauchen.
Die erste Anpassung erfolgte am 30. Dezember 2009 im Block 32.256, als die Difficulty von 1 auf 1,18 stieg. Alles danach ist dasselbe kurze Stück Arithmetik, etwa alle zwei Wochen angewandt.
Warum das wichtig ist, wenn Sie Bitcoin kaufen
Die Difficulty-Anpassung ist der Grund, warum eine Bitcoin-Auszahlung eine vorhersehbare Wartezeit hat, und warum Mining-Angebote mit Skepsis gelesen werden sollten.
Zwischen den Neuberechnungen ist die Difficulty eingefroren, während sich die Hashrate frei bewegt, sodass die Blockintervalle abweichen. Wenn ein großer Teil des Netzwerks abschaltet, werden die Blöcke langsamer, und eine Auszahlung, die normalerweise in einer halben Stunde durchgeht, dauert deutlich länger, bis die nächste Anpassung das Tempo wiederherstellt. Das ist nicht die Börse, die Sie aufhält. Es ist das Netzwerk, das unterhalb der Hashrate läuft, für die die aktuelle Difficulty festgelegt wurde, und es korrigiert sich innerhalb von 2.016 Blöcken selbst.
Sie begrenzt auch, wie viel Schaden eine einzelne Regierung anrichten kann. Als China das Mining im Jahr 2021 für illegal erklärte, ging mehr als die Hälfte des Netzwerks innerhalb von Wochen dunkel, und das Protokoll absorbierte es ohne Sitzung: die Difficulty fiel, die Blöcke wurden wieder schneller, und die Geräte wurden nach Kasachstan, in die USA und anderswohin verschifft. Die Länderratgeber auf dieser Website zeigen die politische Seite derselben Geschichte, in der ein Verbot ändert, wer mint und wo Sie legal kaufen können, aber niemals, ob weiterhin Blöcke kommen.
Seien Sie schließlich skeptisch gegenüber jedem Produkt, das feste Mining-Renditen nennt. Die Difficulty hat über fast jeden mehrjährigen Zeitraum nach oben tendiert, was bedeutet, dass die Bitcoin, die ein bestimmtes Mining-Gerät verdient, mit der Zeit sinken, selbst wenn sich sonst nichts ändert. Ein Cloud-Mining-Vertrag, der eine gleichbleibende tägliche Auszahlung verspricht, verspricht etwas, wogegen das Protokoll arbeitet.
Die Neuberechnung im Juli 2021, der größte Rückgang aller Zeiten
Block 689.472, gemint am 3. Juli 2021, brachte die größte Abwärtsanpassung in der Geschichte von Bitcoin: die Difficulty fiel in einem einzigen Schritt um 27,94 Prozent.
Die Ursache war politisch, nicht technisch. Chinas Mining-Verbot hatte die Sieben-Tage-Durchschnittshashrate von etwa 136 Exahashes pro Sekunde Mitte Juni auf rund 85 Exahashes gedrückt, ein Rückgang von etwa 35 Prozent. Da die Difficulty für das größere Netzwerk festgelegt worden war, kamen die Blöcke in diesem Fenster deutlich hinter dem Zeitplan. Die Neuberechnung senkte die Anforderung um fast 28 Prozent, die Blockzeiten schnellten wieder in Richtung zehn Minuten, und die Ausgabe lief auf derselben Kurve weiter. Vier aufeinanderfolgende negative Anpassungen in diesem Zeitraum entfernten insgesamt rund 45 Prozent der Difficulty, und das Netzwerk pausierte nie.
Diese Episode ist das stärkste einzelne Argument für den Mechanismus. Kein Komitee stimmte ab, kein Notfall-Patch wurde ausgeliefert, und kein Nutzer musste irgendetwas tun.
Difficulty-Anpassung vs. Difficulty
Die Difficulty ist die Zahl; die Difficulty-Anpassung ist das Ereignis, das sie ändert. Die Difficulty ist ein schlichtes Verhältnis, das angibt, wie viel schwerer die aktuelle Suche ist als die leichteste, die die Regeln zulassen, und sie driftet nicht von selbst. Die Anpassung ist die Neuberechnung, die einen neuen Wert für die nächsten 2.016 Blöcke festlegt. Diagramme mit der Bezeichnung „Difficulty“ sehen genau deshalb wie eine Treppe aus: der Wert ist innerhalb einer Epoche flach und ändert sich nur bei einer Neuberechnung.
Difficulty-Anpassung vs. Halving
Die Difficulty-Anpassung ändert, wie schwer es ist, einen Block zu finden; das Halving ändert, wie viel das Finden einbringt. Sie laufen auf getrennten Uhren, 2.016 Blöcke gegen 210.000 Blöcke, und koordinieren sich nie. Ein Halving kürzt die Einnahmen der Miner über Nacht, und etwaige darauffolgende Abschaltungen zeigen sich einige Wochen später als niedrigere Difficulty, aber die beiden Regeln sehen sich im Code nicht. Aus der Verwechslung stammt die Wendung „Difficulty-Halving“, und ein solches Ereignis gibt es nicht.