Bitcoin Core Bug – eine Retrospektive

Am 17. September wurde dem Bitcoin Core Team mitgeteilt, dass ihre Version des Bitcoin Clients eine gefährliche Sicherheitslücke aufweist. Nicht nur, weil Angreifer damit Nodes abstürzen lassen könnten, Miner hätten damit weitere Coins erschaffen können. Die Core-Entwickler haben mit einem Bugfix den Fehler behoben, jedoch sollte das Geschehene eine Lektion für alle sein. 

Dr. Philipp Giese
Teilen

Beitragsbild: shutterstock

Es gibt sowas wie göttliche Gerechtigkeit“ kommentierte Emin Gün Sirer, Professor an der Cornell University und einer der Köpfe hinter dem Avalance-Protokoll, die dramatischen Enthüllungen um den Bitcoin Core Client. Konkret kommentierte er mit dieser Anrufung höherer Mächte die Retrospektive von Awemany, in der er seine Schwierigkeiten erläuterte, eine Sicherheitslücke an das Core-Team weiterzugeben. Ob Emin Gün Sirer, seinen Tweets zufolge eher Freund von Bitcoin Cash, damit die Aufbereitung von Awemany oder den Fehler im Bitcoin Core Client meinte, ist unbekannt. Die Dramatik jedenfalls beschreibt gut, was geschehen ist.

Was für ein Fehler wurde im Bitcoin Core Client entdeckt?

Der Fehler, gelistet als CVE-2018-17144, hätte es Angreifern nicht nur erlaubt, Bitcoin Core Clients abstürzen zu lassen. Miner hätten durch doppelte Inputs Coins aus dem Nichts erschaffen können. Der Fehler hätte also dazu führen können, dass alle Bitcoin Core Nodes crashen. Bitcoin Core Nodes machen 95 Prozent des Bitcoin-Netzwerks aus, man hätte also Bitcoin damit lahmlegen können. Doch nicht nur das: Durch das Schaffen neuer Bitcoins wäre eines der zentralen Wertversprechen, das einer festen, nicht manipulierbaren Geldmenge, dahin.

Die Sicherheitslücke bestand seit dem Bitcoin Core Client 0.14.0 – also seit dem 3. August 2017. Konkret gesagt wären Nodes der Versionen 0.14.0 bis 0.14.2 „nur“ abgestürzt, Nodes mit Version 0.15.0 und neuer wären für die Generierung neuer Coins anfällig. Seit über einem Jahr hätte ein Angreifer dem Bitcoin-Ökosystem nachhaltigen Schaden zufügen können.

Wie kam es zu diesem Fehler?

Polemisch ausgedrückt: Durch eine Zeitersparnis von einer halben Millisekunde. Über den Pull-Request #9049 wollte Matt Corallo, Co-Founder von Blockstream, durch das Streichen einer Prüfung von Transaktionsinputs das Empfangen eines neuen Blocks effizienter gestalten. Soweit hätte es beim Überprüfen eines Blocks mit Double Spending zu einem Absturz des Clients geführt. In 0.15 wollten die Entwickler das Handling von nicht ausgegebenen Transaktionen vereinfachen, da sie nicht mehr überprüften, ob der ausgegebene Token zuvor noch nicht ausgegeben worden war. So banal das klingt, öffnete das die Tür für die Schaffung von „Geld aus dem Nichts“.

Ist nur Bitcoin Core betroffen?

Leider nicht. Auch Litecoin und Bitcoin Gold sind betroffen. Verschiedene kleinere Kryptowährungen wie Syscoin oder Paicoin sind ebenfalls betroffen. Sogar Bitcoin Cash, aus dessen Umfeld auf den Fehler aufmerksam gemacht wurde, ist nicht ohne Schaden davon gekommen. Die Clients BitcoinABC und BitcoinSV sind für die Sicherheitslücke anfällig, während Bitcoin Unlimited und BitcoinXT die Entwicklungen des Core-Teams nicht implementiert haben und entsprechend heil aus der Sache herausgekommen sind.

Können wir uns sicher sein, dass es keine gefälschten Bitcoin gibt?

Sowohl Bitcoin Core als auch die verschiedenen betroffenen Systeme haben inzwischen Bugfixes geschrieben und rufen die Community auf, ihre Systeme zu updaten. Die Frage, die sich jedoch viele stellen, ist, ob wir uns sicher sein können, dass der Bitcoin Supply nicht schon künstlich aufgeblasen wurde. Pieter Wuille konnte jedoch diese Sorge zerstreuen. Weiterhin betonte das Bitcoin.org-Team, dass es selbst im Fall eines Exploits einen Rollback gemacht hätte. Das wäre nicht das erste Mal in Bitcoins Geschichte: 2010 wurden durch den „Value overflow incident“ 187 Milliarden Bitcoin aus dem Nichts geschaffen, jedoch schnell wieder zerstört.

Alles also gut? Nicht so schnell: Es kann im Zuge des Updates auf 0.16.3 zu Unordnung kommen. Einige Nodes haben schon das Update hinter sich, andere nicht. Theymos warnt deshalb auf /r/bitcoin, dass vereinzelt Transaktionen zurückgenommen werden könnten. Er empfiehlt während dieses Updates 200 Transaktionen, also ein bis zwei Tage, abzuwarten, bevor man eine Transaktion als sicher betrachtet.

Was bleibt von dieser Geschichte?

Emin Gün Sirer argumentierte mit „Göttlicher Gerechtigkeit“. Dieser Vergleich ist etwas übertrieben, aber vom klassischen „Menetekel“ kann man sprechen. Das Wertversprechen Bitcoins und verschiedener anderer Kryptowährungen wurde in Frage gestellt. Bei verschiedenen Kursstürzen haben wir immer darauf hingeweisen, dass sich fundamental nichts am Wert von Bitcoin geändert hat – diese Sicherheitslücke hätte das nachhaltig tun können. Was bleibt also? Nicht nur jeder einzelne muss seine Due Dilligence machen, die Floskel DYOR (Do Your Own Research) ernst nehmen und im besten Sinne kritisch bleiben.

Entwickler müssen, wie es hier geschah, über die Gräben, die die verschiedenen Krypto-Communities trennen, hinwegsehen und einander unterstützen. Fällt eine der großen Kryptowährungen, ist das für das gesamte Ökosystem schlecht. Fällt Bitcoin, speziell durch einen Fehler, der auch im Bitcoin-Cash-Netzwerk vorhanden ist, kann die gesamte Branche daran zerbrechen. Dieser Fingerzeig, der durch das Auffinden der Sicherheitslücke kam, zeigt: Ob man Bitcoin-Maximalist, Bitcoin-Cash-Anhänger oder Ethereum-Fan ist, wir müssen uns unterstützen. Zwei Kommentare fanden sich zu dieser Causa in /r/btc: Einer drückte aus seine Freude darüber aus, dass Kooperation über die Kryptogrenzen hinweg möglich ist. Ein anderer nahm den Bug zum Anlass, auf Verbindungen zwischen Blockstream, den Bilderbergen und dem CIA hinzuweisen. Welchen Weg sollte die Krypto-Community gehen? Ich wäre für den ersten.

BTC-ECHO

Du willst Stellar (XLM) kaufen oder verkaufen?
Wir zeigen dir in unserem Leitfaden, wie und wo du einfach und seriös echte Stellar (XLM) kaufen kannst.
Stellar kaufen