Kurz erklärt: Das Difficulty Adjustment (Schwierigkeitsanpassung) ist der Mechanismus, mit dem ein Proof-of-Work-Netzwerk die Schwierigkeit des Minings automatisch nachregelt. Ziel ist es, die durchschnittliche Zeit zwischen zwei Blöcken konstant zu halten, unabhängig davon, wie viel Rechenleistung im Netzwerk aktiv ist.
Zweck und Grundprinzip
In einem Proof-of-Work-System suchen Miner nach einem Block-Header-Hash, der unter einem bestimmten Zielwert (Target) liegt. Je niedriger dieses Ziel, desto seltener wird zufällig ein gültiger Hash gefunden und desto höher die Schwierigkeit. Steigt die gesamte Rechenleistung (Hashrate) des Netzwerks, würden Blöcke ohne Gegenmassnahme immer schneller gefunden. Um dies zu verhindern, erhöht das Protokoll die Schwierigkeit; sinkt die Hashrate, wird sie gesenkt.
Bei Bitcoin ist die angestrebte Blockzeit rund zehn Minuten. Die konstante Ausgaberate ist wichtig für die planbare, im Voraus festgelegte Geldmengenentwicklung.
Berechnung bei Bitcoin
Bitcoin passt die Schwierigkeit alle 2016 Blöcke an – das entspricht bei zehn Minuten pro Block etwa zwei Wochen (einer sogenannten Difficulty-Epoche). Das Netzwerk vergleicht die tatsächlich benötigte Zeit für die letzten 2016 Blöcke mit dem Sollwert von 20.160 Minuten:
- Wurden die Blöcke schneller als vorgesehen gefunden, steigt die Schwierigkeit.
- Wurden sie langsamer gefunden, sinkt die Schwierigkeit.
Die Anpassung ist pro Intervall auf den Faktor 4 nach oben und 1/4 nach unten begrenzt, um extreme Sprünge zu dämpfen. Die neue Schwierigkeit ergibt sich vereinfacht aus: alte Schwierigkeit multipliziert mit dem Verhältnis von Soll-Zeit zu Ist-Zeit.
Auswirkungen und Sicherheitsaspekte
Das Difficulty Adjustment stabilisiert die Blockzeit auch bei starken Schwankungen der Rechenleistung. Ein historisches Beispiel ist der Wegfall großer Mining-Kapazitäten in China im Jahr 2021: Nach dem Abfall der Hashrate verlängerten sich die Blockzeiten zunächst deutlich, bis die folgende Anpassung die Schwierigkeit reduzierte und die Zehn-Minuten-Zielmarke wiederhergestellt war.
Der Mechanismus trägt zudem zur Sicherheit bei: Eine hohe Schwierigkeit bedeutet, dass ein Angreifer für einen 51-Prozent-Angriff enorme Rechenleistung aufbringen müsste.
Umsetzung in anderen Netzwerken
Verschiedene Blockchains regeln die Anpassung unterschiedlich häufig und aggressiv:
- Litecoin: ebenfalls alle 2016 Blöcke, jedoch bei rund 2,5 Minuten Blockzeit.
- Ethereum: vor der Umstellung auf Proof of Stake nach jedem Block, ergänzt um eine „Difficulty Bomb“, die die Schwierigkeit gezielt erhöhte, um den Umstieg zu erzwingen.
- Bitcoin Cash: führte einen gleitenden Algorithmus ein, der die Schwierigkeit nahezu bei jedem Block anpasst, um schneller auf Hashrate-Schwankungen zu reagieren.
Reine Proof-of-Stake-Netzwerke kennen kein Difficulty Adjustment im klassischen Sinn, da dort keine Rechenarbeit über die Blockerzeugung entscheidet.
Häufige Fragen
Wie oft passt Bitcoin die Difficulty an?
Alle 2016 Blöcke, also etwa alle zwei Wochen. Das Netzwerk vergleicht die tatsächliche mit der angestrebten Zeit und regelt die Schwierigkeit entsprechend nach.
Warum braucht eine Blockchain überhaupt eine Schwierigkeitsanpassung?
Ohne sie würden Blöcke bei steigender Rechenleistung immer schneller entstehen. Die Anpassung hält die Blockzeit konstant und sichert damit die planbare Ausgabe neuer Coins.
Was passiert, wenn viele Miner das Netzwerk verlassen?
Die Blöcke werden zunächst langsamer gefunden. Beim nächsten Difficulty Adjustment senkt das Protokoll die Schwierigkeit, sodass sich die Zielblockzeit wieder einstellt.
Kann die Schwierigkeit beliebig stark springen?
Bei Bitcoin ist die Anpassung pro Intervall auf maximal Faktor 4 nach oben und ein Viertel nach unten begrenzt, um abrupte Sprünge zu vermeiden.
Gibt es Difficulty Adjustment auch bei Proof of Stake?
Nein, nicht im klassischen Sinn. Proof-of-Stake-Netzwerke bestimmen den Blockproduzenten nicht über Rechenarbeit, daher entfällt die Schwierigkeitsanpassung.
Zusammenfassung
Das Difficulty Adjustment reguliert die Mining-Schwierigkeit eines Proof-of-Work-Netzwerks, um eine konstante Blockzeit zu gewährleisten. Bitcoin passt sie alle 2016 Blöcke an und hält so das Ziel von rund zehn Minuten pro Block. Der Mechanismus stabilisiert das Netzwerk gegenüber schwankender Rechenleistung und trägt zur Manipulationssicherheit bei.
Weiterführende Quellen
- Wikipedia: Mining (Kryptowährung): de.wikipedia.org
- Bitcoin Developer Reference – Proof of Work: developer.bitcoin.org