Zum Hauptinhalt springen

Der DAO-Hack: Die Geschichte von Ethereum Classic

Die Geschichte des DAO-Hacks im Jahr 2016 und wie die Reaktion der Community zur Schaffung von Ethereum Classic als separate Chain führte.

Date published: 15. Dezember 2021

Ein Erklärvideo von Junion, das die Geschichte des DAO-Hacks im Jahr 2016 erzählt, einem der größten digitalen Raubüberfälle in der Krypto-Geschichte, und wie die umstrittene Entscheidung der Ethereum-Community, die Blockchain zu forken, zur Schaffung von Ethereum Classic führte.

Dieses Transkript ist eine barrierefreie Kopie des ursprünglichen Video-Transkripts (opens in a new tab), das von Junion veröffentlicht wurde. Es wurde zur besseren Lesbarkeit leicht bearbeitet.

Die Erkennung (0:00)

Es ist Montag, der 13. Juni 2016. Ein Informatikprofessor an der Cornell University untersucht den Code für die DAO, eines der ehrgeizigsten Projekte im Krypto-Bereich. Monatelang hatte er sich dafür eingesetzt, das Projekt auf Eis zu legen, da er glaubte, dass es bestimmte Mängel gab, die das Ganze gefährden könnten. Doch heute findet er eine schwerwiegende Schwachstelle: einen Fehler in Zeile 666.

Er befürchtet, dass dieser Fehler es einem Hacker ermöglichen könnte, potenziell unbegrenzte Abhebungen wie an einem Geldautomaten vorzunehmen. Selbst wenn der Angreifer nur 10 Dollar auf seinem Konto hätte, könnte er diese immer und immer wieder abheben, bis das gesamte Geld aufgebraucht ist. Es war eine Viertelmilliarde Dollar in die DAO investiert, und jeder Cent war in Gefahr.

Slock.it, das Unternehmen hinter der DAO, räumt den potenziellen Exploit ein, erklärt jedoch, dass ein Angriff nicht durchführbar wäre, sodass alle Gelder weiterhin sicher sind. Sie committen auf GitHub, indem sie zwei Codezeilen vertauschen – ein Fix, der als Teil des DAO-Frameworks Version 1.1 enthalten sein wird.

Doch gerade als das Team den Sieg verkündete, folgte ein Hacker heimlich ihren Spuren und entwickelte einen Exploit, der genau diesen Fehler ausnutzt. Es ist nun Freitag, vier Tage später, und die DAO wurde gerade um eine Summe von 55 Millionen Dollar gehackt.

Genau wie der 81-Millionen-Dollar-SWIFT-Hack Lücken in der zentralisierten Bankenbranche öffentlich machte und der WannaCry-Ransomware-Angriff kritische Schwachstellen in Computer-Betriebssystemen aufdeckte, offenbarte der DAO-Hack die frühe Fragilität der Smart Contract-Sicherheit in einer Welt, in der Code alles diktiert. Er hinterließ die Ethereum-Community am Boden zerstört, während sie verzweifelt versuchte, die Kontrolle über die Blockchain zurückzugewinnen.

Dies ist die Geschichte eines der größten digitalen Raubüberfälle aller Zeiten und des kühnen Versuchs, die Geschichte so umzuschreiben, dass er nie stattgefunden hat.

Was war die DAO? (2:00)

Hier kommt die DAO ins Spiel – kurz für dezentrale autonome Organisation. Die Idee war von Crowdfunding inspiriert. Anstelle mehrerer Fonds für verschiedene Projekte sollte es einen Fonds geben, der sie alle beherrscht, und es gab keinen besseren Weg, dies zu tun, als mit einer DAO.

Beim Start erhielten Investoren 100 DAO-Token für jeden eingezahlten Ether. Diese Token gaben ihnen Governance über das Protokoll und repräsentierten ihren Anteil an der DAO. Token-Inhaber konnten Vorschläge einreichen – zum Beispiel konnte man vorschlagen, eine Million Dollar im Austausch für einen 10%igen Stake an Unternehmen XYZ zu investieren.

Sobald ein Vorschlag die anfängliche Überprüfung bestanden hatte, wurde von allen anderen Investoren darüber abgestimmt. Während dieses Zeitraums konnten Token-Inhaber mit Ja stimmen, wenn sie glaubten, dass die Investition einen positiven Erwartungswert erbrachte, oder mit Nein, wenn sie glaubten, dass sie einen negativen Erwartungswert erbrachte. Sie konnten auch das Forum nutzen, um ihre Meinung zu äußern und die der anderen zu lesen.

Wenn die Abstimmungsfrist abgelaufen war und ein Quorum von 20 % aller Token erreicht wurde, übertrug die DAO automatisch die angegebenen Ether an den Smart Contract, der den Vorschlag repräsentierte. Alle aus diesen Vorschlägen generierten Ether wurden dann in die Schatzkammer zurückgeführt. Es war wie ein großer dezentraler Hedgefonds, der darauf ausgelegt war, Gewinn zu erzielen. Die Idee war, dass die Schwarmintelligenz helfen würde, die besten Investitionsmöglichkeiten zu schaffen.

Es musste jedoch noch eine Möglichkeit geben, die Minderheit davor zu schützen, von der Mehrheit unterdrückt zu werden. Wenn eine Minderheitengruppe mit einem Vorschlag, den sie nicht überstimmen konnte, absolut nicht einverstanden war, konnte sie, anstatt mit Nein zu stimmen, eine Split-Funktion aufrufen und ihre Ether von der Haupt-DAO in eine Child-DAO verschieben, was die DAO im Wesentlichen in zwei Teile spaltete. Diese Split-Funktion wird später noch sehr wichtig sein.

Das Crowdfunding (4:01)

Die DAO war das größte Crowdfunding-Projekt aller Zeiten und sammelte 12,7 Millionen Ether ein – damals 150 Millionen Dollar wert. Es fand in der frühen Ära von Ethereum statt, in der das Projekt einem enormen Hype und der FOMO von Investoren ausgesetzt war.

Zuvor waren Ethereum-Projekte hauptsächlich willkürliche Proof of Concepts gewesen, aber dies war ein voll funktionsfähiges Projekt mit riesigem Potenzial. Es war völlig sicher vor jeglichen Hacks, gesichert durch Millionen von Minern auf der ganzen Welt, und es war dezentral – das gesamte Projekt bestand aus einer Reihe von Smart Contracts auf Ethereum.

Dies war unveränderlicher Code, der auf dem sichersten Computer der Welt gehostet wurde, was die Schlüsseleigenschaften einer DAO sicherstellte: eine Organisation, die vollständig dezentral und autonom ist. Sobald die Verträge am 30. April bereitgestellt wurden, konnte keine einzelne Entität – nicht einmal Slock.it – Änderungen am Protokoll vornehmen oder dessen Existenz stoppen. Sein Code war unzählige Male von verschiedenen Ethereum-Entwicklern geprüft worden und für jeden zur Überprüfung einsehbar.

Der Hack (5:02)

„Lonely, so lonely“ – der Name des DAO-Vorschlags #59. Es ist nur ein normaler Split-Vorschlag, aber hier beginnt eigentlich der Hack. Nachdem der Hacker den Vorschlag eingereicht hat, gibt es eine standardmäßige siebentägige Debattenphase, an der jeder frei teilnehmen kann. Jedoch schließt sich niemand diesem Split an.

Es ist ein Standardverfahren, dass jemand ganz allein einen Split aufruft, eine Child-DAO erstellt und dann einen Vorschlag erstellt, der alle Ether zurück an seine Wallet sendet. Dies ermöglicht es einem Benutzer, sein durch seine DAO-Token gedecktes Geld zurückzufordern. Sieben Tage sind nun vergangen, und der Hacker darf nun die Split-Funktion aufrufen. Niemand ahnt etwas.

Als jedoch die Split-Funktion aufgerufen wird, erkennt die Community etwas Alarmierendes. Ether wird mit einer Rate von acht Millionen Dollar pro Stunde aus der DAO abgezogen. Die Community versucht verzweifelt herauszufinden, was passiert. Es sieht so aus, als würde der Angreifer die Split-Funktion rekursiv aufrufen – immer und immer wieder, hunderte Male.

Erinnern Sie sich an den Bugfix, der vor vier Tagen stattfand? Es ist eine Schande, dass es keine Möglichkeit gibt, den Code eines Smart Contracts nach seiner Bereitstellung zu bearbeiten, sodass dieser Fix nur auf GitHub als Teil von The DAO 1.1 existierte, einer völlig anderen DAO, die in Arbeit war. Dieser kleine Fix hätte das Ganze verhindern können – alles, was er tat, war, zwei Codezeilen zu vertauschen, sodass der Kontostand vor der eigentlichen Auszahlung aktualisiert wird.

Aber ohne diesen Fix konnte jeder die Funktion wiederholt aufrufen, um Ether abzuheben, bevor der Vertrag seinen Kontostand aktualisiert. Es ist wie ein Geldautomat, der Ihren Kontostand erst ändert, wenn er Ihnen das Geld gegeben hat. „Kann ich zehn Dollar abheben? Warten Sie, kann ich davor zehn Dollar abheben? Warten Sie, davor…“

Die Robin-Hood-Gruppe (6:55)

Die Inhaber von DAO-Token sahen zu, wie ihre Investitionen langsam von der Haupt-DAO in die Child-DAO, auch bekannt als Dark DAO, abgezogen wurden. Zusätzlich stürzte der Preis von Ethereum nach den Neuigkeiten in einem Flash-Crash von 20 $ auf 15 $ ab. Es musste etwas getan werden, und der einzige Weg bestand darin, den Rest abzuziehen, bevor der Hacker es tat. Und so begann der Wettlauf um die Leerung.

Auf der anderen Seite der Welt, in seiner Wohnung im Viertel Copacabana in Rio de Janeiro, wacht Alex Van de Sande auf, weil sein Telefon vor Skype-Nachrichten überquillt. Er dreht sich zu seiner Frau um und sagt: „Erinnerst du dich, als ich dir von diesem riesigen, unhackbaren Haufen Geld erzählt habe? Er wurde gehackt.“

Alex setzte sich mit einigen anderen, nicht namentlich genannten Entwicklern in Verbindung, und sie bildeten eine Gruppe, die sie Robin Hood nannten – White-Hat-Hacker, die die verbleibenden Gelder abziehen und an die rechtmäßigen Eigentümer zurückgeben würden. Sie hatten jedoch keine Zeit, einen neuen Split vorzuschlagen, da dies eine siebentägige Abstimmungsfrist erfordern würde.

Stattdessen fassten sie Vorschlag #71 ins Auge, der in wenigen Stunden enden sollte. Sie würden sich diesem Split anschließen und denselben Hack verwenden, um alle verbleibenden Gelder in diese Child-DAO abzuleiten. Sechs Stunden waren seit Beginn des Angriffs vergangen, und dem Dieb war es gelungen, 30 % der Ether der DAO zu stehlen. Aber aus irgendeinem unbekannten Grund funktionierte der Angriff nicht mehr. Transaktionen schlugen fehl und dem Ganzen wurde ein Ende gesetzt.

Währenddessen bereitete sich Alex gerade darauf vor, den White-Hat-Angriff zu starten, um die verbleibenden 70 % der Gelder zu sichern. Doch plötzlich verlor er seine Internetverbindung. Mit nur noch 30 verbleibenden Minuten rief er verzweifelt bei NET an, seinem brasilianischen Internetanbieter, erhielt aber nur eine Antwort von einer Roboterstimme: „Wir sehen, dass es in Ihrer Nachbarschaft ein Internetproblem gibt.“ Der Split-Vorschlag endete und er hatte das Zeitfenster zur Ausführung des Robin-Hood-Angriffs knapp verpasst.

Am nächsten Morgen versuchte Alex, die Gruppe wieder zusammenzurufen, um einen weiteren Split-Vorschlag zu infiltrieren, aber die anderen waren beschäftigt. „Wir fühlten uns wie die schlechtesten Hacker der Geschichte. Wir wurden durch schlechtes Internet und familiäre Verpflichtungen vereitelt.“

Der Wettlauf um die Leerung (9:10)

Vier Tage nach dem ersten Angriff wurde die DAO erneut angegriffen. Sie wurde langsam geleert – ein paar Ether pro Runde –, aber es hatten sich bereits ein paar tausend Dollar angesammelt. Es schien von einem Angreifer zu stammen, der die Lage testete. Zu diesem Zeitpunkt musste Robin Hood etwas unternehmen.

Sie entschieden sich, Split #78 zu infiltrieren, weil sie den Kurator des Vorschlags identifiziert hatten und dieser bald endete. Sie kontaktierten einige Wale, die gerne ihre DAO-Token spendeten, wodurch das Team sechs Millionen Token sichern konnte. Je mehr Token der Robin-Vertrag hatte, desto schneller konnte er Ether ableiten. Der Angreifer erhöhte das Tempo und andere Angreifer schlossen sich an. Aber dank der Spenden konnte Robin Hood sie überholen. Dies ermöglichte es ihnen, 7,2 Millionen Ether zu sichern – 55 % der DAO.

Der Fork (10:08)

Die Haupt-DAO war nun geleert worden und alle Gelder waren auf mehrere Child-DAOs verteilt – die beiden wichtigsten waren die White-Hat-DAO und die Dark DAO. Aber das gesamte Geld war zeitlich gesperrt. Unter einer Child-DAO konnte kein Vorschlag eingebracht werden, bis eine 27-tägige Wartezeit abgelaufen war. Und selbst danach erforderte das Senden von Geldern an eine externe Adresse das Einreichen eines Vorschlags und eine zweiwöchige Wartezeit. Im Grunde blieben noch 41 Tage, bis der Hacker das auszahlen konnte, was 5 % des Gesamtangebots von Ethereum entsprach.

Aber der Hacker würde sein Ethereum niemals anrühren können. Was als Nächstes geschah, ist eine der kühnsten und umstrittensten Episoden in der Geschichte der Blockchain. Die Community beschloss, dass sie den Hacker nicht gewinnen lassen würde. Sie wollten die Geschichte umschreiben, sodass jede an dem Hack beteiligte Transaktion rückgängig gemacht würde und jeder sein Geld zurückbekäme. Sie entschieden sich, Ethereum zu forken.

Eine Blockchain ist wie eine Liste von Transaktionen, die mit jedem geminten Block weiter wächst. Jede Transaktion ist für immer in der Blockchain verankert. Aber wenn über 50 % der Miner zusammenarbeiten, können sie die Blockchain fälschlicherweise verändern und die Geschichte umschreiben, wie sie wollen. Normalerweise wird dies als 51%-Angriff bezeichnet. Aber an diesem Fork war nichts Bösartiges – die Community forderte lediglich Geld zurück, das ihr gestohlen worden war.

Code ist Gesetz (11:48)

Dennoch waren nicht alle mit dem vorgeschlagenen Fork einverstanden. Sie argumentierten, dass Code Gesetz sei. Aus dieser Sicht war der Angreifer weniger ein Hacker als vielmehr ein kluger Anwalt, der die Bedingungen eines Vertrags sorgfältig gelesen hatte. Daher wurden eigentlich keine Gelder gestohlen und sie sollten rechtmäßig Anspruch auf die Ether aus der Dark DAO haben.

Es ist wichtig anzumerken, dass Ethereum selbst eigentlich nie gehackt wurde – es war nur ein schlecht geschriebener Smart Contract, der ausgenutzt wurde. Zwei verschiedene Dinge. Zusätzlich glaubten sie, dass Dinge, die auf der Blockchain passieren, unveränderlich sind und unabhängig von der Situation niemals manipuliert werden sollten.

Einen Tag nach dem ersten Angriff sandte der Angreifer einen offenen Brief in den Slack-Gruppenchat der DAO, signiert mit seinem privaten Schlüssel:

„An die DAO und die Ethereum-Community: Ich habe den Code von The DAO sorgfältig geprüft und rechtmäßig 3 Millionen Ether beansprucht und möchte der DAO für diese Belohnung danken. Ich bin enttäuscht von denjenigen, die die Nutzung dieser beabsichtigten Funktion als ‚Diebstahl‘ bezeichnen. Ich mache von dieser explizit programmierten Funktion gemäß den Bedingungen des Smart Contracts Gebrauch. Ein Soft oder Hard Fork käme einer Beschlagnahmung meiner legitimen und rechtmäßigen Ether gleich. Ein solcher Fork würde das gesamte Vertrauen nicht nur in Ethereum, sondern auch in den Bereich der Smart Contracts und der Blockchain-Technologie dauerhaft und unwiderruflich ruinieren. Täuschen Sie sich nicht: Jeder Fork, ob Soft oder Hard, wird Ethereum weiter beschädigen und seinen Ruf und seine Attraktivität zerstören.“

Bei genauerer Betrachtung stellten die Leute fest, dass die Signatur ungültig war, sodass dieser Brief nur von jemandem geschrieben wurde, der behauptete, der Angreifer zu sein.

Andererseits argumentierten Befürworter, dass „Code ist Gesetz“ eine zu drastische Aussage sei und dass Menschen durch sozialen Konsens das letzte Wort haben sollten. Dem Hacker sollte es nicht erlaubt sein, von dem Exploit zu profitieren, da dies ethisch falsch und höchstwahrscheinlich illegal ist. Aber am wichtigsten war, dass die DAO einfach zu groß war, um zu scheitern. Sie hielt rund 15 % des Gesamtangebots an Ether.

Ethereum Classic (14:34)

In einem Ereignis, das an die Finanzkrise von 2008 erinnerte, retteten die Ethereum-Entwickler die DAO. Vitalik Buterin, der Schöpfer und leitende Entwickler von Ethereum, entschuldigte sich nicht dafür, auf einen Fork gedrängt zu haben. In einem Interview sagte er später: „Einige Bitcoin-Nutzer sehen den Hard Fork in gewisser Weise als Verletzung ihrer grundlegendsten Werte. Ich persönlich denke, dass diese grundlegenden Werte, wenn sie auf solche Extreme getrieben werden, albern sind.“

Diese Ansichten beherrschten die Mehrheit der Ethereum-Community. Eine umstrittene Abstimmung der Community – bei der ein Ether einer Stimme entspricht – zeigte 87 % Unterstützung für den Fork. Also aktualisierten Computerknoten auf der ganzen Welt bei Block 1.920.000 ihre Software und akzeptierten den Fork. Alle Ether aus der DAO und den Child-DAOs wurden in einen Rückerstattungsvertrag verschoben.

Aber damit nicht genug. Die ursprüngliche Ethereum-Blockchain – die mit dem DAO-Hack – lief weiter. Tatsächlich wuchs sie. Miner, die sich dem Fork widersetzten, minten weiterhin Blöcke und es wurden immer noch Transaktionen durchgeführt. Am nächsten Tag listete Poloniex den Coin und er wurde zu je 2 $ gehandelt. Diese Chain wurde als Ethereum Classic bekannt – die ursprüngliche, unveränderte Blockchain.

Wenn Sie vor dem Fork Ether hielten, hätten Sie nun ein Ethereum und ein Ethereum Classic. Wenn Sie einen Ether in der DAO hielten, könnten Sie ein Ethereum aus dem Rückerstattungsvertrag abheben. Und wenn Sie gerade die DAO gehackt hätten, hätten Sie ein anständiges Vermögen in Ethereum Classic gemacht – rund sieben Millionen Dollar.

Das Vermächtnis der DAO (16:14)

Anfänglich gewann Ethereum Classic als Alternative an Dynamik, mit einer starken Community von Blockchain-Fundamentalisten, die mit der Rettungsaktion nicht einverstanden waren. Aber seitdem hat Ethereum Classic es nicht geschafft, Fuß zu fassen, und existiert eigentlich nur noch als Idee mit wenig Nutzen. Während Ethereum die Heimat von Tausenden von Protokollen ist, hat Ethereum Classic nur ein paar grundlegende. Es ist klar, dass der Fork gewonnen hatte.

Zwei Monate später übertrug Robin Hood 2,9 Millionen ihres Ethereum Classic an Poloniex und verkaufte alles gegen Ethereum in einem Versuch, den Preis zu drücken. 14 % wurden erfolgreich umgewandelt, aber 86 % wurden von Poloniex eingefroren und an die Gruppe zurückgegeben. Robin Hood richtete einen Rückerstattungsvertrag im Ethereum Classic-Netzwerk für Benutzer ein, die vom DAO-Hack betroffen waren.

Was den Hacker betrifft, so ging er mit 3,6 Millionen Ethereum Classic davon – heute 150 Millionen Dollar wert. Aber wenn es keinen Fork gegeben hätte, wären diese 3,6 Millionen Ethereum heute über sieben Milliarden Dollar wert.

Die nachhaltigen Auswirkungen der DAO (17:26)

Es ist wichtig anzumerken, dass die DAO heute allgemein als Genesis DAO bezeichnet wird, um Verwirrung zu vermeiden, da sie die erste DAO war, aber definitiv nicht die letzte. Trotz der anfänglichen Rückschläge sind DAOs nur noch beliebter geworden. MakerDAO verwaltet den Stablecoin DAI, und DeFi-Protokolle wie Uniswap mit seinem UNI-Token haben normalerweise eine Governance-DAO. Diese DAOs bauen alle auf den Erfahrungen früherer Projekte auf, um noch vielseitigere und erfolgreichere Organisationen zu schaffen.

Aber die Genesis DAO war die erste ihrer Art, geschaffen als Experiment – ein teures –, das auf seinem Höhepunkt 250 Millionen Dollar oder 15 % des Gesamtangebots von Ethereum kontrollierte. Christoph Jentzsch, der leitende Entwickler, hatte nur erwartet, dass sie fünf Millionen Dollar einbringen würde, und sagte später, er bedauere, sie nicht gedeckelt zu haben. Für ein so großes Experiment war es viel zu früh und sicherlich zu groß, um zu scheitern.

Einen Smart Contract zu erstellen ist wie die Entwicklung eines selbstfahrenden Autos – es ist eine große Verantwortung, die umfangreiche Tests erfordert, um Unfälle zu vermeiden. Selbst mit dieser neuen Vorsicht werden DeFi-Protokolle immer noch um Beträge von über 50 Millionen Dollar gehackt, einige sogar, nachdem sie von professionellen Wirtschaftsprüfungsgesellschaften geprüft wurden. Aber seit dem DAO-Hack gab es keine Rettungsaktionen mehr. Die Ethereum-Community ist jetzt stärker und bereit, zu noch größeren und ehrgeizigeren Projekten überzugehen und die nächste Generation digitaler Anwendungen zu entwickeln.

War diese Seite hilfreich?