Die Angriffe auf Ethereum nehmen kein Ende. Der Hacker scheint den Entwicklern immer einen Schritt voraus zu sein. Seit gestern kommen Transaktionen kaum mehr durch. Ist dies das Ende der Kryptowährung?
Es könnte so schön sein. Die Banken dieser Welt interessieren sich für Ethereum, jeder möchte Token und Verträge auf die Blockchain bringen, und die Entwickler feiern sich auf der devcon zwei ausgiebig selbst. Wäre da nicht dieser verfluchte Hacker, der einfach nicht damit aufhört, die Ethereum-Blockchain anzugreifen.
Ich habe ehrlich gesagt nicht die geringste Ahnung, wie viele Angriffswellen es bereits gab. Alles begann damit, dass vor nunmehr rund 20 Tagen der Go-Client geth angegriffen wurde. Die Community wich auf den Client Parity aus, die geth-Entwickler schrieben ein Update, es gab den nächsten Angriff und so weiter. Prinzipiell macht der Hacker immer dasselbe: Er nutzt eine fehlerhafte Berechnung des Gas-Preises aus, um die Blockchain mit Transaktionen und Verträgen zu fluten und die einzelnen Knoten mit CPU- oder Arbeitsspeicherlastigen Operationen auszuknocken.
Jedes Update von geth scheint bisher nur einzelne Löcher zu stopfen. Der Hacker startet einfach einen neuen Angriff. Bei geth hat er irgendwann im Lauf der letzten Woche fast vollständig gewonnen. Seine Angriffe haben die Synchronisierung von geth so sehr verlangsamt, dass es, mehr oder weniger, unmöglich wurde, den Client ans Netz zu bringen. Auch nach dem Update auf 1.4.17 braucht geth noch extrem lange, um zu synchronisieren.
Bisher konnte die Ethereum-Community noch stets auf parity ausweichen. Seit kurzem ist es aber auch damit vorbei. Der Angreifer fährt eine neue Attacke, die sich gegen alle Clients richtet. Dabei scheint der Hacker fortlaufend neue Accounts zu bilden. Das Ergebnis ist, dass Transaktionen mehr oder weniger gar nicht mehr durchgehen. Ethereum ist verstopft mit Spam und der Mempool wächst schneller, als das Netzwerk ihn abbauen kann.
Bereits seit einigen Wochen ist eine weitere Hardfork im Gespräch, um das Problem mit der falschen Gas-Berechnung zu lösen. Nachdem alle konsens-gleichgültigen Updates der Clients bestenfalls kurzfristig helfen, haben die Entwickler mit EIP150 eine Hardfork geschrieben, die die Berechnung der Gaspreise korrigiert. Daneben wird diese auch eine Säuberung des gebloateten States beinhalten, so Jeffrey Wilcke von geth.
Ethcore – die Macher von parity – rate derweil dazu, das Gas-Limit auf 500k Wei je Block zu senken, um die Angriffe abzuwehren. Startups, die wie Ambisafe mit Smart Contracts arbeiten, protestieren, weil ein so geringes Gas-Limit ihren Service unmöglich machen würde.
Ob die Ethereum-Entwickler mit der Hardfork die DoS-Probleme final lösen werden, oder ob weiterhin Lücken bleiben, die der Angreifer ausnutzen kann – die langanhaltende Attacke trägt nicht dazu bei, Vertrauen zu Ethereum aufzubauen. Das letzte offizielle Blogpost von der Ethereum-Foundation ist vom 22. September, was angesichts der dramatischen Ereignisse ein dramatischer Mangel an Transparenz darstellt. Dass die Angriffe trotz der Fixes der Entwickler immer wieder und immer stärker auftreten, zeigt, wie schwierig es ist, ein Projekt wie Ethereum, das eine turing-vollständige (oder, wie Vitalik Buterin sagt, State-sensible) Blockchain aufbaut, sicher zu halten. Es scheint einfach unendlich viele Angriffe zu geben.
Aber sowohl für ein Requiem als auch für ein herzhaftes Aufatmen ist es derzeit noch zu früh.
