Glossar / Mining und Konsens
Mining-Difficulty
Auch bekannt als Mining-Difficulty, Difficulty, Netzwerk-Difficulty.
- Was ist die Mining-Difficulty?
- Die Mining-Difficulty ist die Stellschraube, an der das Netzwerk alle 2.016 Blöcke dreht, damit Blöcke etwa im Abstand von zehn Minuten eintreffen, egal wie viel oder wie wenig Hashrate hinzukommt.
Die Difficulty ist eine einzige Zahl, die ausdrückt, wie viel schwerer ein Block zu finden ist als für Satoshi im Januar 2009. Sie wird alle 2.016 Blöcke neu berechnet, also etwa alle zwei Wochen, und zwar aus der Zeit, die die vorherigen 2.016 tatsächlich gedauert haben, und sie kann sich höchstens um den Faktor vier in beide Richtungen bewegen. Deshalb haben die Zehn-Minuten-Blöcke einen Anstieg der Mining-Leistung um das Hundert-Billionen-Fache überstanden.
So funktioniert es
Die Difficulty ist ein Verhältnis, und das Protokoll berechnet sie allein aus Zeitstempeln, ohne menschliches Zutun an irgendeiner Stelle.
Darunter liegt das Target, eine Zahl mit 256 Bit, unter die der Hash eines Block-Headers fallen muss, gespeichert im Header als kompaktes Feld von vier Byte namens nBits. Die Difficulty ist definiert als das Difficulty-Ziel 1 geteilt durch das aktuelle Target, eine Difficulty von 126 Billionen bedeutet also, dass ein gültiger Header 126 Billionen mal seltener ist als in der ersten Woche des Netzwerks. Nodes prüfen die Difficulty nie direkt; sie prüfen den Header-Hash gegen das Target. Die Difficulty existiert, weil ein Verhältnis lesbar ist und eine Schwelle mit 256 Bit nicht.
Die Neuberechnung findet bei jeder Blockhöhe statt, die ein Vielfaches von 2.016 ist. Der Node nimmt die Zeit, die dieses Fenster tatsächlich gedauert hat, vergleicht sie mit den vorgesehenen 20.160 Minuten und skaliert das Target um dieses Verhältnis, wobei keine einzelne Anpassung mehr als viermal leichter oder viermal schwerer sein kann. In der Berechnung steckt ein berühmter Off-by-one-Fehler: Die Zeitspanne wird zwischen dem ersten und dem letzten Block des Fensters gemessen, das 2.015 Intervalle umfasst und nicht 2.016, sodass das Netzwerk tatsächlich etwa 10,0049 Minuten pro Block anstrebt. Eine Korrektur wäre ein Hard Fork wegen eines Rundungsfehlers, also bleibt es so.
Die Geschichte zeigt, dass der Mechanismus in beide Richtungen wirkt. Die Difficulty lag fast ein Jahr lang bei 1, bis zur ersten Neuberechnung bei Block 32.256 am 30. Dezember 2009, als sie auf etwa 1,18 stieg. Seitdem ist sie über 120 Billionen geklettert. Der größte verzeichnete Rückgang ereignete sich am 3. Juli 2021, als Chinas Ausschluss seiner Mining-Industrie die Difficulty in einem Schritt um 27,94 Prozent senkte, von rund 19,93 Billionen auf 14,36 Billionen.
Warum das beim Bitcoin-Kauf wichtig ist
Die Difficulty ist der Grund, warum Ihre Auszahlung in Minuten bestätigt wird und nicht in Stunden, und eine veraltete Difficulty ist der Grund, warum das manchmal nicht so ist.
Der Mechanismus korrigiert nur nachträglich. Wenn ein großer Teil der Hashrate abgeschaltet wird, treffen Blöcke weiterhin mit der alten Difficulty ein und dauern jeweils länger als zehn Minuten, bis zur nächsten Neuberechnung, die bis zu zwei Wochen später kommen kann. In diesen Wochen sind Bestätigungen langsamer, der Mempool leert sich langsamer, als er sich füllt, und die Gebühren steigen, weil derselbe Blockplatz seltener versteigert wird. Wer im Juli 2021 von einer Börse abhob, spürte das unmittelbar. Die Blöcke in diesem Fenster lagen im Durchschnitt bei fast vierzehn Minuten.
Der umgekehrte Fall ist stiller, aber häufiger. Wenn neue Geräteflotten ans Netz gehen, treffen die Blöcke schneller als alle zehn Minuten ein, bis die Difficulty nachzieht, sodass Bestätigungen vorübergehend billiger und schneller sind, als der Zeitplan vermuten lässt.
Zwei Dinge tut die Difficulty nicht, und das sollte man klar sagen. Sie hat keinen Einfluss auf den Halving-Zeitplan, der Blöcke zählt und nicht Zeit, und sie ist kein Preissignal. Die Difficulty steigt, weil Miner Maschinen gekauft haben, die vor Monaten profitabel waren. Sie als Prognose zu lesen, ist ein Blick in den Rückspiegel.
Die Neuberechnung vom 3. Juli 2021
Die Neuberechnung vom 3. Juli 2021 ist die deutlichste Demonstration des Mechanismus, weil der Schock enorm war und die Korrektur automatisch erfolgte.
Chinas Durchgreifen drängte Mitte 2021 einen großen Teil der weltweiten Mining-Flotte innerhalb weniger Wochen offline. Die Maschinen landeten in Seecontainern mit Ziel Texas, Kasachstan und Paraguay, und während des Transports berechneten sie keinen einzigen Hash. Das Netzwerk kam nicht zum Erliegen und bat niemanden um Hilfe. Es erzeugte einfach Blöcke langsamer: Ein Rückgang um 27,94 Prozent bedeutet, dass das vorherige Fenster im Durchschnitt etwa 13,9 Minuten pro Block gedauert hatte statt zehn. Bei der Neuberechnung fiel die Difficulty auf 14,36 Billionen, das Zehn-Minuten-Tempo kehrte innerhalb von Stunden zurück, und die vier aufeinanderfolgenden Absenkungen jenes Sommers nahmen der Zahl zusammen etwa 45 Prozent ab. Anpassungen in die andere Richtung löschten den gesamten Rückgang in den folgenden Monaten aus, ohne dass jemand entschieden hätte, dass es so sein sollte.
Mining-Difficulty vs. Difficulty-Anpassung
Die Mining-Difficulty ist die Zahl; die Difficulty-Anpassung ist das Ereignis, das sie ändert. Die Difficulty ist ein Wert, der für eine ganze Epoche von 2.016 Blöcken konstant bleibt, jeder Block dieser Epoche ist also genau so schwer wie jeder andere. Die Anpassung ist die Neuberechnung an der Epochengrenze, und sie ist das, was Miner beobachten, denn in diesem Moment ändern sich die Einnahmen pro Maschine. Die Aussage, die Difficulty sei an einem Dienstag gestiegen, ist die Kurzform dafür, dass an diesem Dienstag eine Anpassung stattfand.
Mining-Difficulty vs. Target-Schwelle
Die Mining-Difficulty ist eine Erleichterung für Menschen; das Target ist das, was die Software durchsetzt. Das Target ist die tatsächliche Obergrenze von 256 Bit, unter die ein Block-Hash fallen muss, und sie erscheint in jedem Block-Header, komprimiert im Feld nBits. Die Difficulty wird daraus durch Division abgeleitet und erscheint nirgends im Block. Wenn eine Schlagzeile meldet, die Difficulty sei um 5 Prozent gestiegen, dann ist die zugrunde liegende Änderung, dass das Target um etwa 5 Prozent kleiner wird und jeder Miner auf der Welt still und leise etwa 5 Prozent mehr Versuche pro Block braucht.