Ethereum Layer-2: Freundlicher Hacker hätte unbegrenzt Ether prägen können – tat es aber nicht
Jay Freeman, der sich in diesem Kontext selbst als Grey-Hat-Hacker bezeichnet, hatte jüngst einen Weg gefunden, wie man die Ethereum-Skalierungslösung Optimism so austricksen kann, dass es möglich ist, quasi unbegrenzt „Ether“ zu prägen. Allerdings nutzte er die Lücke nicht aus, sondern meldete das Problem dem Entwicklerteam von Optimism, das ihm eine Bug Bounty, also eine Belohnung für das Finden eines Fehlers, in Höhe von zwei Millionen US-Dollar zahlte.
Protokoll prägt interne Token wegen Performance-Steigerung und Gebührensenkung
Wie Freeman auf seiner Website schreibt, entdeckte er den Fehler, als er sich mit sogenannten „Nano-Zahlungsprotokollen“ beschäftigte. Optimism ist eines dieser Protokolle. Sie ermöglichen es den Nutzern, kleine Kryptobeträge mit sehr geringen Transaktionsgebühren fast in Echtzeit zu versenden. Das allerdings geht auf Kosten der Sicherheit.
Denn, ähnlich wie das bei Blockchain-Brücken wie Wormhole funktioniert, prägt die Plattform alternative Ether-Token, die nur im Optimism-Netzwerk existieren und die Funktion eines Schuldscheins (IOU) erfüllen. Um an IOUs zu gelangen, sperren Nutzende ihre (echten) Ether zunächst in einem Smart Contract als Sicherheit. Danach erhalten sie die „Fake-Token“. Diese Token können dann im Vergleich zu echten On-Chain-Transaktionen nahezu sofort und mit sehr geringen Gebühren transferiert werden. Das ist Optimisms Idee von einer Layer-2-Skalierung.
Wenn Optimism-Nutzer ihre IOUs dann wieder zu echten ETH werden lassen wollen, müssen sie zunächst eine Woche warten, bevor ihre als Sicherheit hinterlegten Ether-Token freigegeben werden. So weit, so gut.
Fehlerhafter Code zerstört Hilfs-Token nicht
Nun aber entdeckte Freeman einen schwerwiegenden Fehler in einem Teil desjenigen Codes, der Smart Contracts nach ihrer Abwicklung dazu zwingt, sich selbst zu löschen und die entsprechenden Ether an den Absender zurückzugeben.
So gab die Funktion die Krypto-Token an den Absender zurück, behielt aber die zugehörigen Ether-IOUs außerhalb der Kette. Dieser Fehler konnte nun ausgenutzt werden, um Smart Contracts so zu manipulieren, dass sie den Fehler in einer Schleife durchliefen. Damit war es möglich, unendlich viele dieser Hilfs-ETH zu prägen. Schuldschein-Token hätten laut Freeman nun genutzt werden können, um „im gesamten Krypto-Ökosystem Schaden anzurichten“.
„Mit Ihrem unbegrenzten Vorrat an IOUs könnten Sie zu jeder dezentralen Börse gehen, die auf der L2 läuft, und deren Wirtschaft durcheinanderbringen, indem Sie große Mengen anderer Token aufkaufen, während Sie die eigene Währung der Kette abwerten“, schrieb Freeman.
Solche Sicherheitslücken sind als Overflow-Bugs bekannt. Schon im Jahr 2010 hatte jemand einen ähnlichen Bug genutzt, um 184 Milliarden Bitcoins zu prägen. Seinerzeit bedurfte es eines Soft Forks, um die Blockchain auf das von Satoshi Nakamoto vorgesehene Limit von 21 Millionen BTC zurückzusetzen.
Fehler schon um Heiligabend entdeckt, Potenzial nicht erkannt
Laut Freeman muss eine nicht genannte Person aus dem Umfeld des Ethereum-Blockchain-Explorers Etherscan bereits an Heiligabend letzten Jahres über den Fehler gestolpert sein. Die Nichtausnutzung erklärt sich Freeman damit, dass diese Person möglicherweise das Potenzial des Bugs nicht erkannt hatte.
„Es fühlte sich so an, als hätte jemand den Fehler bemerkt – da Etherscan das Guthaben nach der Zerstörung des Vertrags bestehen ließ. Möglicherweise hat man ein wenig damit gespielt, aber nicht erkannt, dass er ausnutzbar war.”
Ein Verzicht auf Sicherheit zugunsten der Performance, wie es Optimism mache, ist für Freeman keine Alternative, schimpft er. Er „sträube“ sich regelrecht, Blockchain-Projekte bei „grundlegenden Fragen der Dezentralisierung oder Sicherheit“ zu unterstützen. Denn das bedeute ja, dass Kernpunkte der Technologie noch nachgebessert werden müssten. Die wären indes zu wichtig und dürften daher „keine nachträglichen Überlegungen sein.“ Freeman kritisiert:
„Und doch sehen wir ein Krypto-Projekt nach dem anderen, das versucht, die Kosten für das Kerndesign an Leute auszulagern, die nur indirekt entlohnt werden, anstatt ein Team aus Mathematikern, Wirtschaftswissenschaftlern und Sicherheitsexperten aufzubauen.”
Das Optimism-Team darf sich wohl glücklich schätzen, an Freeman und nicht an einen kriminellen Akteur geraten zu sein. So kostete das Aufdecken des Problems „nur“ zwei Millionen Dollar – was angesichts anderer Smart-Contract-Hacks tatsächlich fast schon die sprichwörtlichen Peanuts sind.