Wir schreiben das Datum 15.08.2010. An diesem Tag ereignete sich der größte Bitcoin Hack aller Zeiten.
Ein Hacker hat 184 Milliarden Bitcoin aus dem Nichts generiert und damit das erst ein Jahr alte Bitcoin-Netzwerk fast zerstört. Wie Satoshi Nakamoto durch einen Hard Fork Bitcoin gerettet hat, erfahrt ihr in diesem Artikel.
Bitcoin Hack: Was war passiert?
Im Block 74638 wurde eine ungewöhnlich hohe Anzahl von Bitcoins generiert. Der als "Value overflow incident" genannte Hack kreierte in einem Block 8784 mal mehr Bitcoins als die 21 Millionen jemals verfügbaren Bitcoin.
Dieser sonderbare Block wurde sofort von der Community entdeckt und im BitcoinTalk-Forum diskutiert. Schnellstens konnte an einem Fix gearbeitet, da es sich um einen kritischen Fehler im Quellcode handelte.
Hardfork in gute und schlechte Blockchain
Dieser Fix ist von Satoshi bereits fünf Stunden nach Bekannt werden als Hard Fork ausgerollt worden. Die neue Bitcoin Client Software 0.3.1 teilte die Blockchain in eine "gute" und in eine "schlechte" Kette.
Die gute Blockchain koexistierte neben der schlechte Blockchain für mehrere Stunden. Miner mussten aktiv werden und sofort die neue Version runterladen, denn ansonsten wäre die schlechte Blockchain weiterhin die dominante Blockchain gewesen.
Value overflow incident
Block 74638 generierte 184 467 440 737 Bitcoin für drei verschiedene Adressen. Dies würde doch einen Bug (Fehler) in der Bitcoin Software möglich.
Im Prinzip hat ein Hacker herausgefunden, dass der Quellcode für das Prüfen von Transaktionen eines Blocks nicht richtig funktionierte. Als die Summe aller Transaktionen über einen extrem hohen Wert lag, kam es zu einem Integer Overflow und die gesamte Transaktionssumme war negativ und damit valide.
Integer Overflow im Beispiel erklärt
Stell dir einen analogen Stromzähler vor. Der Stromzähler hat fünf Ziffern und zählt dementsprechend bis zur Zahl 99999 bevor er auf Null zurückschaltet. Genau dies nutzte der Hacker aus und "überdrehte" die Transaktionssumme in der Blockprüfung bis sie zurückgesetzt und valide wurde. Die neu generierte Bitcoin-Menge konnte er sich aber trotzdem auf drei Adressen auszahlen lassen.
Einfluss auf Bitcoin
Man kann glücklich sein, dass dieser Fehler sofort behoben wurde. Auch gut war, dass die Community noch recht klein und technisch war. Die Dringlichkeit eines schnellen Fixes ist von vielen auch im technischen Detail verstanden worden. Vermutlich hätte dies ansonsten einen sehr negativen Einfluss auf die Erfolgsgeschichte von Bitcoin gehabt.
Die Geschichte über den größten Bitcoin Hack bis dato zeigt, dass auch Bitcoin und sein Quellcode nicht frei von Fehlern ist. Daher sollte jeder dies vor einem Investment in Bitcoin, einer halbfertigen Kryptowährung oder einem DeFi-Projekt berücksichtigen. 😉