Inflations-Bug noch immer eine Gefahr für mehr als die Hälfte aller vollständigen Knoten von Bitcoin

Die vom Bitcoin-Kernentwickler Luke Dashjr veröffentlichten Zahlen zeigen, dass auf mehr als der Hälfte der vollständigen Knoten im Bitcoin-Netzwerk noch Client-Software ausgeführt wird, die für den im September 2018 entdeckten Inflationsfehler anfällig ist.

Diese Enthüllung stellt eine gewisse Gefahr für das Netzwerk dar, da Software-Schwachstellen eine eindeutige und gegenwärtige Gefahr für die Treue von Bitcoin (BTC) darstellen. Jetzt, da sich die Kryptowährung auf dem ersten Platz inmitten eines positiven Kursverlaufs befindet, ist es vielleicht wichtig, dass Schritte unternommen werden, um das Inflationsproblem endgültig zu beseitigen.

Die meisten Bitcoin-Vollknoten sind immer noch anfällig für den Inflationsfehler

Wie Cointelegraph am 8. Mai berichtete, zeigen Untersuchungen von Dashjr, dass auf mehr als 50% der vollen Knoten im Bitcoin-Netzwerk immer noch Softwareversionen des Bitcoin-Clients ausgeführt werden, die für den Inflationsfehler anfällig sind.

Ab diesem Zeitpunkt ist die Anzahl jedoch leicht von etwa 60% auf 54% gesunken. Dies bedeutet, dass in den letzten Tagen einige vollständige Knoten auf ein neueres Client-Software-Update aktualisiert wurden.

Bereits im September 2018 entdeckten Entwickler den Inflationsfehler – der es Minern theoretisch ermöglichen könnte, das gesamte Bitcoin-Angebot über die 21 Millionen BTC hinaus zu erhöhen, indem sie mehrere nicht verwendete Transaktionsausgaben (UTXOs) in derselben Transaktion gebraucht.

Angesichts der Art des Fehlers hielten die Entwickler es geheim und veröffentlichten ohne großes Aufsehen zu erregen eine neue Version des Clients. Ein Auszug aus dem von Bitcoincore.org veröffentlichten CVE-Bericht (Common Vulnerabilities and Exposures – geläufige Schwachstellen und Gefahrenpotenzial) vom September 2018 lautet:

„Um schnelle Upgrades zu fördern, wurde beschlossen, die weniger schwerwiegende Denial-of-Service-Sicherheitsanfälligkeit sofort zu beheben und offenzulegen. Gleichzeitig wurde die Veröffentlichung des vollständigen Problems verzögert, um Minern, Unternehmen und anderen Beteiligten Zeit zu geben, um ihre System aktualisieren zu können. Am 20. September berichtete ein Beitrag in einem öffentlichen Forum über die volle Wirkung und obwohl er schnell zurückgezogen wurde, breitete sich die Behauptung weiter aus.“

Eine wichtige Erkenntnis aus der Analyse von Dashjr ist die Gesamtzahl der vollen Knoten im Bitcoin-Netzwerk. In den meisten Bitcoin-Literaturquellen wird die Anzahl der Vollknotenzahlen auf etwa 10.000 geschätzt.

Dashjr ist jedoch der Ansicht, dass diese Zahl näher an 100.000 liegt und dass der Grund für diese Diskrepanz in der Tatsache liegt, dass viele Quellen nur Knoten berücksichtigen, die aktiv im Netzwerk mithören.

Diese als Überwachungsknoten bezeichneten Vollknoten verfügen über offene Portverbindungen, die geprüft werden können. Jedoch sind nicht alle Vollknoten gleichzeitig Empfangsknoten. Einige, die sich hinter Firewalls verstecken oder so konfiguriert sind, dass sie nicht aktiv auf neue Verbindungen warten, haben keine leicht erkennbaren offenen Port-Verbindungen.

Die Schwere des Inflationsfehlers

Um die Schwere des Inflationsfehlers zu verstehen, ist es wichtig, den Mechanismus zu kennen, mit dem das Problem ausgenutzt werden kann. Dieser Prozess würde eine Zusammenfassung beinhalten, die den Doppelausgabenangriff, den Inflationsfehler selbst und die Probleme erklärt, die auftreten können, wenn sie nicht überprüft werden.

Der frühe Erfolg von Bitcoin ist Satoshi Nakamoto – dem Erfinder von Bitcoin – zuzuschreiben, der eine hervorragende Lösung für das Problem der doppelten Ausgaben gefunden hatte. Ein Problem, das viele virtuelle Währungen vor Bitcoin in den Ruin getrieben hat.

Durch die Erstellung eines unveränderlichen Hauptbuchs mit Knoten, die Transaktionen validieren, wurde es theoretisch fast unmöglich, dasselbe UTXO für zwei verschiedene Transaktionen zu verwenden.

Die Schwere des Inflationsfehlers

Was passiert jedoch, wenn ein böswilliger Akteur versucht, mit einer Transaktion mehrere UTXOs auszugeben, anstatt die UTXO in zwei verschiedenen Transaktionen auszugeben? Aufgrund der Art und Weise, wie Bitcoin für die Arbeit entwickelt wurde, würde diese Aktion bedeuten, dass neue Coins praktisch aus dem Nichts erzeugt werden, wodurch das gesamte Angebot aufgeblasen wird – daher der Name Inflationsfehler.

Mehrere aufeinanderfolgende Aktualisierungen der Bitcoin-Software haben versucht, die Immunität der Blockchain gegen die erste Art von Doppelausgabenangriffen zu verbessern. Mit der Core 0.14.x-Version des Bitcoin-Software-Clients stellten Entwickler jedoch fest, dass im Software-Client die Möglichkeit einer Sicherheitsanfälligkeit durch Distributed Denial-of-Service (DDoS) bestand.

Der Fehler ermöglichte es einem böswilligen Angreifer, Knoten mit der Softwareversion 0.14.x zum Absturz zu bringen, indem er versuchte, dasselbe UTXO zweimal auszugeben. Dabei wäre es das Ziel gewesen, so viele Knoten wie möglich zum Absturz zu bringen und nicht die gesamte Bitcoin-Versorgung zu inflationieren.

Bei dem Versuch, das Problem zu beheben, enthielt das nächste veröffentlichte Update, 0.15.0, Funktionen, die es einem böswilligen Angreifer versehentlich ermöglichten, dasselbe UTXO in einer Transaktion doppelt auszugeben. Anstatt einen Systemabsturz zu verursachen, hat dieser neue Fehler ältere Software-Clients dazu veranlasst, solche Doppelausgaben als gültig zu erkennen.

Nach der Entdeckung veröffentlichten die Entwickler zuerst eine neue Version der Software, bevor sie den Fehler der breiteren Krypto-Community bekannt gaben. Einige Monate, nachdem das Problem behoben werden sollte, scheint es jedoch, dass auf mehr als der Hälfte der vollständigen Knoten im Netzwerk noch Client-Implementierungen ausgeführt werden, die für den Fehler anfällig sind.

Cointelegraph sprach mit Dashjr über die Auswirkungen des Inflationsfehlers, worauf der Bitcoin-Entwickler antwortete:

„Der Inflationsfehler ist in der Praxis ein netzweites Risiko. Ein "51%-Miner-Angriff" würde eine Inflation verursachen (etwas, das solche Angriffe normalerweise nicht können). Die Inflationskette würde nur von gefährdeten Knoten und Light-Wallets akzeptiert. “

Dashjr ging weiter auf die Gefahren durch den Bug ein und fuhr fort:

"Es macht aus einem vermeintlichen vollen Knoten in dieser Hinsicht eigentlich nur eine Light-Wallet. Wenn mehr als nur eine kleine Minderheit Light-Wallets verwendet, können sich die Miner die Vorschriften ausdenken.“

Alles, was Knoten tun müssen, ist ein Upgrade

Wenn Entwickler einen Fehler dieser Art entdecken, besteht die Lösung immer darin, die Knoten auf eine neuere Version der Software zu aktualisieren, die hoffentlich über Funktionen verfügt, mit denen das Problem behoben werden kann. Manchmal kann dieser Prozess dazu führen, dass ein anderes Problem auftaucht – wie 2018 zu sehen war, als die Lösung des DDoS-Fehlers dazu führte, dass sich der Inflationsfehler manifestierte.

Auf die Frage von Cointelegraph, was in Bezug auf die Situation zu tun ist, kam Dashjrs Antwort einfach und direkt auf den Punkt:

Jeder sollte auf einen festen vollständigen Knoten aufgewertet werden."

Besteht für das Bitcoin-Netzwerk während dieses Prozesses ein glaubwürdiges Risiko, da die Hälfte aller Knoten für den Inflationsfehler anfällig ist? Die Antwort auf die Frage könnte darin liegen, wer wirklich die Macht im Netzwerk besitzt: Miner oder Entwickler?

Im Jahr 2018 brachte der Bitcoin-Entwickler Jimmy Song die Ansicht zum Ausdruck, dass es für Kriminelle, die versuchen, den Inflationsfehler auszunutzen, fast unmöglich sein würde, Erfolg zu haben. Zum einen sagte Song, dass nicht jeder vollständige Knoten den Bitcoin-Kern ausführt, sondern dass eine große Anzahl es vorzieht, benutzerdefinierte Iterationen des Bitcoin-Clients bereitzustellen.

Die Tatsache, dass einige Knoten den Core-Client nicht bereits ausführen, verringert den Angriff, da solche Knoten den Block mit den aufgeblasenen UTXOs ablehnen. Wenn eine signifikante Anzahl von Minern den befallenen Block ablehnt, tritt wahrscheinlich ein "Chain-Split" auf.

Im Jahr 2010 veröffentlichten Entwickler während des in Block 74.638 entdeckten "Vorfalls eines Wertüberlaufs" ein neues Update für den Client in weniger als fünf Stunden. Der fragliche Block enthielt eine Transaktion, die ungefähr 184 Milliarden BTC für drei Adressen erzeugte, wobei zwei Adressen jeweils 92,2 Milliarden BTC bekamen. Der Miner, der für die Berechnung des Blocks verantwortlich war, erhielt nur 0,01 BTC.

Die Diskrepanz hielt nur für die nächsten 53 Blöcke an, und bis Block 74.691 waren keine Spuren des Überlaufwerts im Netzwerk mehr vorhanden. Knoten, die anfangs den Chain-Split mit dem fehlerhaften Block akzeptierten, kehrten bald zu dem Chain-Split zurück, die den aufgeblasenen Block nicht enthielt.

Gleiches gilt für den Inflationsfehler: Sobald die Spaltung eintritt, werden Entwickler und andere im Netzwerk es bemerken, wie Song in diesem Auszug seines Blogposts erklärte:

„Aufgrund dieser Unregelmäßigkeiten hätten die Leute im Netzwerk dies bald aufgespürt, wahrscheinlich einige Entwickler alarmiert und die Kernentwickler hätten es behoben. Wenn es eine Fork gegeben hätte, würde der soziale Konsens an dem Punkt, an dem die richtige Chain gefunden wurde, diskutiert und der Block, der eine unerwartete Inflation verursacht, wäre wahrscheinlich rausgeworfen worden. Wenn es eine Verzögerung gegeben hätte, wäre wahrscheinlich ein freiwilliger Rollback in Erwägung gezogen worden, um den Angreifer zu bestrafen.“

Angesichts der Wirtschaftlichkeit des Angriffs ist es für Song unwahrscheinlich, dass verbrecherische Miner eine solche Taktik anwenden wollen. Der Bitcoin-Lehrer sagte jedoch, dass Hacker, die für Länder mit Anti-Bitcoin-Einstellungen arbeiten, den Fehler ausnutzen könnten, um das Netzwerk zu zerstören.