Hacking Verge: wie es war (Teil 2)

Der erste Teil

Time Warps, Mining-Schwachstellen, DOS-Angriffe und mehr.

Mining in Verge: Wenn 5 Algorithmen übertrieben sind

Traditionell werden bei Kryptowährungen, die auf dem Proof-of-Work-Protokoll basieren, Blöcke mit einem einzigen Algorithmus abgebaut, meistens SHA-256. In Verge war es möglich, 5 verschiedene Algorithmen zu verwenden (für Neugierige - Scrypt, X17, Lyra2rev2, myr-groestl und blake2s.). Der Grund für die Verwendung mehrerer Algorithmen wird unten beschrieben.

Einige Bitcoin-Kritiker argumentieren, dass im Laufe der Zeit Bitcoin-Mining ist zu spezialisiert und zentralisiert, der größte Teil des Mining wird auf ASICs (kurz für anwendungsspezifische integrierte Schaltung) durchgeführt - Geräte, die ausschließlich für das Währungs-Mining entwickelt wurden, und der Großteil des Bitcoin-Mining wird in mehreren Mining-Pools von Gruppen von Minern durchgeführt, die ihre Ressourcen und teilen ihre Einnahmen untereinander. Diese Tendenzen zu unterschiedlichen Arten der „Zentralisierung“, heißt es, widerspräche dem Grundprinzip der Kryptowährungen. Die Verwendung einer Münze mit mehreren Mining-Algorithmen gleicht solche Trends aus. Der Grund dafür ist, dass die Verwaltung von fünf verschiedenen Algorithmen in Bezug auf Hardware, Produktion und Ressourcenmanagement unweigerlich schwieriger sein wird als die Steuerung eines Algorithmus, was es Verge ermöglicht, eine stärkere Dezentralisierung und Verteilung des Bergbaus zu erreichen.

Die Situation ist wie folgt: Der einzige Weg, um einen korrekten Betrieb zu erreichen - und das Konzept des "korrekten Betriebes" beinhaltet in diesem Fall die Einhaltung eines 30-Sekunden-Intervalls zwischen den Blöcken, die Aufrechterhaltung der Wirtschaftlichkeit aller fünf Algorithmen für die Miner und die Verhinderung der Dominanz von ein Algorithmus (der das ganze Experiment bedeutungslos machen würde) - um es so zu machen, dass jeder Algorithmus seinen eigenen Schwierigkeitsparameter hat, der unabhängig von den anderen vier angepasst werden würde. Mit anderen Worten, die Schwierigkeit des Minings im Scrypt-Algorithmus wird angepasst, um ein 30-Sekunden-Intervall für jeden Block einzuhalten, wie in X17 und anderen Algorithmen.

Dies bedeutet, dass unser Hacker die Mining-Schwierigkeit für das gesamte Netzwerk nicht wirklich reduziert hat; er hat es nur für diejenigen herabgestuft, die einen der fünf Algorithmen verwendet haben - Scrypt. Und während die Scrypt-Miner ein lächerlich einfaches Mining genossen, hat die Komplexität der Aufgaben für den Rest der Miner, die an anderen Algorithmen arbeiteten, nicht abgenommen, was bedeutet, dass ihre gesamte kombinierte Leistung nicht dazu beiträgt, die Sicherheit des Netzwerks zu gewährleisten. Dies bedeutete, dass der Angreifer nur mit dem Scrypt-Algorithmus arbeitete und mit anderen Benutzern konkurrieren musste, die dasselbe taten; somit betrug die erforderliche Hash-Power für unseren Angreifer nicht mehr als 50 % (Dominanz über das gesamte Netzwerk), aber nur mehr als 10 % (Dominanz über andere Scrypt-Miner).

Wir werden jetzt ins Reich der Spekulationen gehen, aber es sieht so aus, als ob die Situation noch schlimmer war. Wir haben einen Wert von 10 % angenommen, basierend auf der Tatsache, dass für jeden Algorithmus ungefähr die gleiche Menge an Ressourcen zugewiesen werden sollte (dies ist die Essenz des Mechanismus zur Einstellung von Mining-Schwierigkeiten). In der Realität werden die Axiome einer freien Marktwirtschaft jedoch nicht immer eingehalten. Es wird in der Community geglaubt, dass verschiedene Faktoren - zum Beispiel die Existenz nicht aktivierter ASICs für Scrypt sowie kostenlose Ressourcen, die über Nicehash gemietet werden können usw. - dazu führten, dass die Dominanz des Mining auf Scrypt während des Angriffs war viel billiger als jeder andere der vier Algorithmen. Es ist davon auszugehen, dass die erforderliche Hash-Rate am Ende weit unter 10 % lag – nach einigen vorläufigen Schätzungen auf Reddit könnte die Hash-Rate nur 0,4 % betragen.

Zusammenfassend lässt sich sagen: Gefälschte Zeitstempel haben die Komplexität des Mining drastisch reduziert; Durch die Verwendung von fünf Algorithmen konnte die Komplexität nur für einen von ihnen reduziert werden, was die Erfassung des gesamten Netzwerks stark vereinfachte; der Wirtschafts- und Produktionsstatus dieses speziellen Mining-Algorithmus machte die Erfassung noch einfacher; und schließlich wurde aufgrund der reduzierten Komplexität des Minings die Zeit für die Blockbildung stark verkürzt, was den Angriff etwa 30-mal profitabler machte.

Gewonnene Erkenntnisse

Welche Schlussfolgerung lässt sich aus dieser Situation ziehen? Die kurzfristigen Folgen des Hacks waren vorhersehbar chaotisch und unverständlich. Einige Tage später haben die Hauptentwickler mit Hilfe von Utilities mehrere Fehler behoben, bei denen sich auch Fehler einschleichen können, und schließlich wurde ein Hard Fork im Netzwerk durchgeführt, der zunächst zufällig (oder nicht zufällig) hätte passieren können. . In Bezug auf die globale Reaktion stieg der Preis von Verge in der Woche nach dem Hack um 30%, und in der folgenden Woche wurde bekannt gegeben, dass die Verge-Währung als Abonnementgebühr auf pornhub.com akzeptiert wird. Wie der größte Kryptowährungs-Hack auf Protokollebene zum Wertzuwachs dieser Währung und später zum Abschluss einer Partnerschaft mit der meistbesuchten Pornoseite hätte führen können - diese Frage lasse ich offen. Ich persönlich denke, es ist einfach so, dass die Welt keinen Sinn hat und die Leute völlig verrückt sind.

Aber ich schweife ab. Auf globaler Ebene können wir aus dieser Situation mehrere Lehren ziehen:

Erstens ist die Technik der künstlichen Komplexitätsreduzierung mit Zeitstempeln eigentlich schon lange bekannt und hat es sogar geschafft, den Namen "Time-Warp"-Schwachstelle zu bekommen. Vor einigen Jahren wurde im Bitcoin-Forum ein Angriffsvektor diskutiert. In gewisser Weise half der Einsatz des neueren Schwierigkeitsanpassungsalgorithmus Dark Gravity Well, bei dem die Schwierigkeit mit jedem neuen Block angepasst wird, bei der Umsetzung des Angriffs auf Verge. Bei Bitcoin ändert sich die Schwierigkeit nur alle 2016 Blöcke. Trotz der Tatsache, dass solch eine zeitlich begrenzte und zeitweilige Schwierigkeitseinstellung wie eine seltsame Entscheidung erscheinen mag, hat der Verge-Hack deutlich gemacht, dass es sich tatsächlich um eine Sicherheitsmaßnahme handelt: Wenn es in Bitcoin eine Möglichkeit gibt, die Komplexität des Minings zu reduzieren, dann Angreifer können dies nur einmal alle 2 Wochen tun, was die Angriffsergebnisse im Vergleich zu Verge unbedeutend macht, wo Hacker die Mining-Schwierigkeit alle 30 Sekunden senken können.

Interessanterweise besteht einer der angeblichen Vorteile von Dark Gravity Wave darin, dass es gegen eine Time-Warp-Schwachstelle immun sein muss. Angesichts der Tatsache, wie stark diese Annahme widerlegt wurde, sollten andere Währungen, die diesen Algorithmus verwenden, zumindest nervös werden.

Was die Verwendung der fünf Algorithmen angeht: Während es auf den ersten Blick wie ein würdiges Experiment in einer wirtschaftlich stimulierenden dezentralen Umgebung erscheint, bringt es neue Komplexitäten mit sich, die unweigerlich die Wahrscheinlichkeit des Auftretens unvorhergesehener Schwachstellen erhöhen.

In beiden Fällen ist dieser Hack ein starkes Argument für bewährte Mechanismen und ruft zur Vorsicht bei der Komplizierung und Einführung unnötiger Risiken im Zusammenhang mit den finanziellen Vermögenswerten der Menschen auf. In diesen Angelegenheiten hat sich das Bitcoin-Team von seiner besten Seite gezeigt.

Die Frage ist etwas weiter gefasst: Softwareentwickler wollen es zwar nicht zugeben, sind aber letztendlich nur Menschen. Auch wenn grundlegende Sicherheitsprinzipien vollkommen solide erscheinen, kann immer Raum für Fehler sein. Es gibt unerwartete Angriffe, Kompromisse lohnen sich nicht immer und natürlich hat niemand die Möglichkeit guter alter Fehler ausgeräumt. Software funktioniert nicht immer so, wie wir es wollen, und niemand wird sich 2018 wundern, dass Fehler wie dieser zu einem Verlust von Geldern führen können. Aber wenn die Software само ist Geld, wir müssen besonders vorsichtig sein.

Da die meisten von uns nicht die Zeit haben, den Code jedes Projekts, in das wir investieren, gründlich zu überprüfen, ist die beste Verteidigung gegen Katastrophen das Vertrauen auf bewährte Systeme mit positiver Berufserfahrung und einem konservativen Entwicklungsansatz.

Und wenn Sie in Pilotprojekten rund um den Geldtransfer auf einige Fonds setzen möchten, dann sollten Sie sich zumindest der Risiken bewusst sein. Letztendlich ist die beste Verteidigung, wenn die Gemeinschaft angemessene Maßnahmen fordert, um zukünftige Katastrophen zu verhindern. Wenn ich mich nicht irre, sagte George Santayana: "Wer nicht aus Sicherheitslücken der Vergangenheit lernen kann, ist dazu verdammt, sie in Zukunft immer wieder zu wiederholen." Diese Worte müssen in Erinnerung bleiben, damit wir nicht unerwartet die Fehler der Vergangenheit wiederholen.

Bewerten Sie diesen Artikel
Blockchain-Medien
Kommentar hinzufügen