Millionenbeute zurückgeholt: Gericht lässt Smart Contract umprogrammieren
Hunderte Millionen Dollar in Kryptomünzen waren weg. Doch manche Smart Contracts kann man umprogrammieren. Ein Tabubruch in der Kryptowelt.
![Mehrere große Tresorschließfächer, wovon einige geöffnet und leer sind](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/3/7/1/1/5/8/7/Tresore-64022bbcd810698c.jpeg)
(Bild: Daniel AJ Sokolov)
Kryptomünzen im Wert von damals gut 320 Millionen Dollar hat ein Dieb im Februar des Vorjahres gestohlen. Ein Jahr später ist er die Beute wieder los: Auf Anordnung eines englischen Gerichts wurde der Code eines Smart Contracts umprogrammiert. Dadurch konnte sich das Opfer seine Münzen zurückholen, und sogar noch ein paar mehr.
Ihren Ausgang nimmt die Geschichte im Februar 2022: Ein Unbekannter nutzt einen Fehler der Blockchain-Brücke Wormhole und im Design bestimmter Smart Contracts aus, um auf der Blockchain Solana aus dem Nichts 120.000 Einheiten der Kryptowährung Ethereum eintragen zu lassen. Dann räumte er seine neue Münzen ab. Der Schaden für Wormhole-Betreiber Jump Crypto lag damals bei umgerechnet mehr als 320 Millionen US-Dollar. Damit handelt es sich bis heute um einen der größten bekannt gewordenen Krypto-Hacks. (Eine Krypto-Brücke soll Transaktionen zwischen verschiedenen Blockchains ermöglichen, keine neuen Münzen erzeugen.)
Anschließend hat der Dieb aber nicht versucht, seine Beute in echtes Geld zu tauschen. Stattdessen schob er seine Kryptomünzen ein bisschen umher, um sie dann fast ein Jahr lang liegen zu lassen. Erst Anfang 2023 kam wieder Bewegung in die Sache. Der Täter nutzte die Beute, um riesige Wetten auf Kryptowährungen abzuschließen. Im Zuge dieser Unternehmungen legte er seine Münzen in zwei sogenannte Vaults des Oasis-Protokolls. Dieses Protokoll wird von der englischen Firma Oaza Apps Ltd. betrieben. Die Vaults sind eine Art Konto und angeblich frei von Kontrolle Dritter.
Verhängnisvoller Smart Contract
Der Wormhole-Täter nutzte die von ihm dort eingelegten Kryptomünzen als Sicherheit für ein Darlehen in Stablecoins der Währung DAI – er schloss also eine Wette auf steigende Kurse der Kryptomünzen ab. Gleichzeitig erteilte er sogenannte Stop-Loss-Order. Die Idee dahinter ist, etwaige Verluste dadurch zu begrenzen, dass automatisch Verkäufe erfolgen, wenn ausgewählte Kurse bestimmte Schwellen erreichen – bevor die Kurse noch schlechter werden. Umgesetzt wird das bei Oasis durch sogenannte Smart Contracts, die im Fall des Falles automatisch aktiv werden.
Smart Contracts beruhen auf Software, deren Sourcecode für die Teilnehmer in der Regel einsehbar ist. Von ihrer Grundidee her sind einmal geschlossene Smart Contracts unveränderlich; aufgrund von Bugs hat das aber zu Heulen, Zähneklappern und Millionenverlusten geführt. Daher sind veränderliche Smart Contracts immer häufiger. Dazu zählen auch die vom Wormhole-Täter genutzten Stop-Loss-Order.
Diese Smart Contracts haben zwölf Schlüssel; Updates der Software müssen mit vier dieser zwölf Schlüssel bestätigt werden. Vorgesehen ist außerdem, dass Updates erst nach 30 Minuten schlagend werden – wer genau aufpasst, soll seine Kryptowerte noch herausholen können, bevor der neue Code des Smart Contract greift.
So lief der Reverse-Diebstahl
Am 21. Februar 2023 wurde ein weiterer Schlüssel zu den Stop-Loss-Smart-Contracts hinzugefügt – für nicht einmal zwei Stunden. In dieser Zeit wurde der Programmcode der Smart Contracts umgeschrieben und einige Transaktionen ausgelöst. Das führte dazu, dass die in den beiden Vaults hinterlegten Beutemünzen in einem völlig anderen Vault landeten. Dieser wird wohl von Wormhole-Betreiber Jump Crypto oder einem Treuhänder kontrolliert.
Lesen Sie auch
Kommentar zum Crypto-Crash: Cold Storage ist jetzt in
Jump zahlte umgehend das vom Täter aufgenommenen DAI-Darlehen zurück, so dass der Betreiber des Oasis-Protokolls keinen finanziellen Schaden hat. Die zurück-erbeuteten 137,537 Ethereum-Münzen sind sogar gut 17,500 Ethereum mehr, als der Täter voriges Jahr aus dem Nichts generiert hat und die Jump Crypto dann ersetzen musste. Der Ethereum-Kurs ist in der Zwischenzeit allerdings deutlich gefallen. Nach Abzug des DAI-Darlehens dürfte Jump Crypto immerhin Kryptomünzen im Gegenwert von zirka 140 Millionen Dollar zurückergattert haben, also nicht ganz die Hälfte des Schadens aus dem Vorjahr. Nach weniger als zwei Stunden wurde der zusätzliche Schlüssel des Smart Contract wieder gelöscht.
Offengelegt haben die Verantwortlichen diese Vorgänge zunächst nicht. Richtig geheim waren sie aber nicht, weil die Codeänderungen und Transaktionen öffentlich einsehbar sind. Aufgefallen ist das Ganze den Betreibern von Blockworks Research, die die Vorgänge im Detail erläutern.