Das AkuDreams-Entwicklungsteam wurde vor dem Fehler in seinem Smart Contract gewarnt, aber es bezeichnete ihn als „Feature“.
Das viel gepriesene nicht-fungible Token-Projekt AkuDreams hat einen holprigen Start hingelegt, nachdem ein Exploit dazu geführt hat, dass 34 Millionen Dollar an Erlösen für immer in einem Smart Contract gesperrt wurden.
Der Hacker, der hinter dem Exploit steckt, versuchte Berichten zufolge, die Schwachstellen im Code aufzudecken. Die Schwachstelle führte dazu, dass über 11.500 Ethereum (ETH) für das Entwicklerteam unzugänglich wurden.
Das Projekt wurde am 22. April mit einer holländischen Auktion live geschaltet und zu einem Preis von 3,5 ETH eröffnet. 5.495 NFTs der insgesamt 15.000 NFTs in der Sammlung wurden zum Verkauf angeboten. Der Smart Contract für die Auktion wurde so programmiert, dass alle, die zu wenig geboten haben, eine Rückerstattung erhalten:
$34 Millionen für immer gesperrt
Laut dem NFT-Entwickler 0xInuarashi war der intelligente Vertrag so programmiert, dass er Bietern das Geld zurückerstattet, bevor das Team es abheben kann. Durch Fehler im Code wurden jedoch Schwachstellen eingeführt.
https://t.co/A9lobVZC3p
34 Millionen USD weg. Einfach so. Für immer an den Vertrag gebunden.Eine Menge Leute haben den Kummer beleuchtet, der processRefunds() für eine Weile gesperrt hat, das war der erste Exploit.
Glücklicherweise wurde das Problem behoben, aber die Gelder sind immer noch für immer gesperrt. Wie das?
1/
– 0xInuarashi (@0xInuarashi) April 23, 2022
Die Ausschreibung enthielt auch den Vorbehalt, dass die Mindestanzahl der Gebote der Gesamtzahl der für die Auktion verfügbaren NFTs entsprechen muss, die 5.495 beträgt. Die Zahl der tatsächlichen Gebote lag zwar über dieser Zahl, aber das Problem bestand darin, dass mehrere Käufer dasselbe Gebot für mehrere Münzen abgaben.
Das Ergebnis ist, dass es weniger Gebote gibt als die Gesamtzahl der zur Versteigerung stehenden NFTs. Aus diesem Grund sind über 34 Millionen Dollar an Erlösen in dem Smart Contract für immer gesperrt und können nicht zurückgezogen werden.
Verschiedene Entwickler warnten AkuDreams‘ vor der Inbetriebnahme des Projekts vor der Sicherheitslücke, aber das Team beachtete die Warnungen nicht.
Das AkuDreams-Team gab vor, dass es sich um eine Funktion und nicht um einen Exploit handelte, als mehrere Entwickler vor der Markteinführung Bedenken äußerten. Bizarre Begründungen. pic.twitter.com/cVgEXnnWzF
– foobar (@0xfoobar) April 23, 2022
In einem inzwischen gelöschten Tweet des Teams wurde der Fehler als Feature bezeichnet, als sich Entwickler meldeten, um sie zu warnen.
Der Hacker beschloss, ihnen zu zeigen, dass ein Exploit kein Feature ist, indem er einen „Griefing-Vertrag“ abschloss.
Dieser Vertrag sperrte zunächst die Möglichkeit, denjenigen, die unterboten hatten, eine Rückerstattung zu gewähren, und der anonyme Hacker fügte eine On-Chain-Nachricht ein, um sie wissen zu lassen, dass es sich um einen Exploit handelte.
Antwort des Entwicklungsteams
Das AkuDreams-Team hat die Verantwortung übernommen und den ersten Exploit rückgängig gemacht, um Rückerstattungen zu ermöglichen. Der zweite Exploit bedeutet jedoch, dass es die 34 Millionen Dollar, die in dem Smart Contract stecken, nicht zurückbekommen kann.
Schnelles Update (ich werde so bald wie möglich ins Detail gehen):
1. Der Exploit in dem Vertrag wurde nicht aus Böswilligkeit durchgeführt; die Person wollte die Aufmerksamkeit auf Best Practices für gut sichtbare Projekte lenken & neuartige Mechanismen. Sie haben den Exploit schnell freigeschaltet, nachdem wir uns eingemischt und die Verantwortung übernommen haben
– Aku :: Akutars (@AkuDreams) April 23, 2022
Der Gründer des Projekts, Micah Johnson, hat sich inzwischen entschuldigt. Darüber hinaus veröffentlichte das Team ein Update, in dem es mitteilte, dass der Prägevertrag neu geschrieben und geprüft wurde. Außerdem versprach es, den Inhabern von Pässen ihr Geld zurückzuerstatten.