Seit einigen Monaten hält sich Verge (XVG) solide in den Schlagzeilen. Neben der Aufregung über die Kooperation mit Pornhub (zum Artikel), fiel Verge vor allem durch den Verlust von 20 Millionen XVG auf, welche durch einen Hack im April entwendet wurden. Als wäre die Dramatik nicht groß genug, stellt sich nun heraus, dass am 22. Mai, laut offizieller Aussage von Verge, einige Miningpools erneut Opfer einer DDoS (Distributed-Denial-of-Service) Attacke geworden sind.
Anscheinend wurde die Sicherheitslücke im System der anonymen Kryptowährung nicht ausreichend geschlossen, denn der Hacker nutzte einem dem ersten Angriff sehr ähnlichen Angriffsvektor. Während Verge weiterhin dachte, es handle sich um eine DDoS Attacke der Minings-Pools, entwendete der Hacker über mehrere Stunden 35.000.000 XVG (aktueller Wert ca.: 1.330.000€ bei einem Kurs von 0,038E/XVG). Seit Bekanntgabe der Meldung ist der Kurs auf 0,038€ pro XVG um ca. 15% eingebrochen.
Zusammenfassend lässt sich sagen, dass eine Zeitstempel-Manipulation die Verringerung der Schwierigkeit des Minings möglich machte. Verge verwendet fünf proof-of-work Algorithmen. Der Hacker macht sich dies zu Nutze, indem nicht die Schwierigkeit des gesamten Netzwerkes gesenkt werden musste, sondern die Senkung der Difficulty eines einzelnen Algorithmus (April Hack) respektive zweier Algorithmen (Scrypt“ und „Lyra2RE) ausreichten, um das gesamte Netzwerk mit weitaus weniger als 51% der Hash-Rate zu überschreiben. Schlussendlich führte die drastische Verringerung der Blockzeiten dazu, dass der Angreifer stundenlang im Sekundentakt Blöcke minen konnte.
Ein tieferer Einblick in die Strategie des Verge-Hackers
Das Abacus Crypto Journal erläutert das detaillierte Vorgehen des Hackers anschaulich. Wir haben euch die englische Information übersetzt und auf das wesentliche reduziert.
Um das Verge-Netzwerk dezentral zu halten, muss sichergestellt werden, dass Geräte mit relativ kleinem Umfang an der Ausführung der Netzwerksoftware teilnehmen können. Daraus folgt, dass das Volumen der Zahlungsaktivität im Netzwerk begrenzt ist. Da ein akzeptierter Block eine Blockbelohnung (Block Reward) kreiert, liegt ein Anreiz vor, die Blöcke möglichst schnell zu bestätigen. Das Ziel von Verge ist die Erstellung eines neuen Blocks alle 30 Sekunden. Die Schwierigkeit (engl.: difficulty) des zu minenden Blocks wird ständig basierend auf der aktuellen Zeitrate der Blockbestätigungen angepasst.
Wenn die Generierung der Verge-Blöcke zunimmt, erhöht das Protokoll die Mining-Schwierigkeit, und die Blockerstellungsrate wird gedrosselt. Umgekehrt wird der Abbau erleichtert, wenn die Minenleistung sinkt und die Zeit für die Blockerstellung zunimmt.
Senkung der Difficulty über Zeitstempelmanipulation
Verge verwendet den Dark Gravity Wave Algorithmus, um die aktuelle Schwierigkeit zu berechnen. Die Mining-Schwierigkeit ist eine Funktion der aktuellen Blockfrequenz. Die Berechnungen auf Blockfrequenz beinhaltet die Betrachtung der Zeitstempel. Somit ergibt sich folgendes Problem: Wenn fehlerhafte Zeitstempel erstellt werden, sind alle Einsätze deaktiviert.
Hier setzt der Hacker seine erste Manipulation an: Während der Dauer des Hacks wurde jeder zweite Block ungefähr eine Stunde vor der aktuellen Zeit mit einem Zeitstempel versehen. Dies verwirrte den Mining-Anpassungsalgorithmus des Protokolls. Denn im Fall von Verge erlaubt das Protokoll den Knoten, Zeitstempeln während eines Fensters von zwei Stunden zu widersprechen. Die kontinuierliche Fälschung der Zeitstempel führte zur dauerhaften Verringerung der Difficulty. Die durchschnittliche Schwierigkeit in den Stunden vor dem ersten Angriff war 13228119.66794196. Während des Angriffs wurde die Schwierigkeit auf 0.00154024 gedrosselt. Dies entspricht einer Abnahme von über 99.9%.
Die neue Art der 51%-Attacke
Sinkende Schwierigkeit führt dazu, dass mehr Blöcke in kürzerer Zeit gemined werden. Im vorliegenden Fall mehrere Blöcke im Abstand weniger Sekunden. Die Schwierigkeit zu verringern ist jedoch nur die halbe Wahrheit. Zeitstempelmanipulation isoliert, würde dem Angreifer keinen Vorteil verschaffen. Die Reduktion der Schwierigkeit ermöglicht schnelleres Mining für alle. Die Miner stehen weiterhin im Wettbewerb. Um das Netzwerk zu kontrollieren sind daher 51% der Hash-Rate nötig. Mit einer intelligenten Idee konnte der Hacker das Netzwerk jedoch mit weitaus geringerem Anteil kontrollieren.
Hierfür ist die Erläuterung des Konsensmechanismusses von Verge wichtig: Im Allgemeinen werden Blöcke in proof-of-work Algorithmen durch einen einzelnen Algorithmus abgebaut. Verge erlaubt es Minern jedoch einen von fünf verschiedenen Algorithmen zu verwenden. Um die Blockzeiten von 30 Sekunden beizubehalten, alle fünf Algorithmen wirtschaftlich zu halten und vor allem zu verhindern, dass einer der fünf Algorithmen dominiert, muss jedem Algorithmus eine individuelle Schwierigkeit zugeordnet werden.
Der Zeitstempel-Fälscher hat während des Hacks nicht die Schwierigkeit des gesamten Netzwerks verringert, sondern nur für zwei der fünf Algorithmen. Entscheidend dabei ist, dass der Angreifer somit nur gegen Miner, welche mit dem Scrypt- und dem Lyra2RE-Algorithmus arbeiten, konkurrieren musste. Die erforderliche Hash-Power, um Konsens zu kreieren war also deutlich geringer als 51% (zum Vergleich: im ersten Hack ca. 10% der Hash-Rate des Gesamtnetzwerks). Während die Difficulty im April von nur einem Algorithmus gesenkt wurde, wurden am 22. Mai zwei Algorithmen manipuliert („Scrypt“ und „Lyra2RE“). Im Vergleich zum ersten Verge Angriff, ist dies die einzige Änderung der Vorgehensweise. Der Vergleich der Schwierigkeiten der gehackten Algorithmen gegenüber der verbleibenden im Folgenden schön zu erkennen:
Quelle: https://bitcointalk.org/index.php?topic=3256693.msg38135174#msg38135174
[Bild: Denis Mikheev/Shutterstock]