Proof-of-Stake, Angriffe auf private Schlüssel und fälschungssichere Werte als ungekrönter Held

Aus dem Original “Proof-of-Stake, Private Keys Attacks and Unforgeable Costliness the Unsung Hero“ von Hugo Nguyen, erschienen am 03. April 2018 auf Medium. Übersetzt von Yvette, Lektorat durch DerGeier.


In meinem vorherigen Artikel habe ich ausgeführt, dass PoS hinsichtlich aller denkbaren Worst-Case-Szenarien weniger belastbar ist als PoW.

In diesem Artikel möchte ich das Worst-Case-Szenario Nr. 3 besprechen: Angriffe auf private Schlüssel.

Es gibt 2 Arten von Angriffen auf private Schlüssel: Angriff auf alte private Schlüssel und Angriff auf neue private Schlüssel.

Angriff auf alte private Schlüssel

Frühere Versionen von PoS verwenden üblicherweise eine besondere Form der Validierung. Diese bewirkt, dass Benutzer, die ihre Bestände in der Vergangenheit verkauft haben, auch in Zukunft am Validierungsprozess (im PoS entspricht die Validierung dem Blockminting) teilnehmen können. Dies ist eine riesige Lücke, da für jeden, der diese veralteten Schlüssel in die Hände bekommt (durch Überschreiben der Historie), viel Geld zu verdienen ist und er im Gegenzug keine Nachteile zu erwarten hat. Dies wird auch als das nothing-of-stake-Problem also „nichts-gespeichert-Problem“ bezeichnet.

Um dieses Problem zu beheben, verwenden neuere Versionen von PoS dynamische Validierungsansätze. Die Idee hierbei ist, dass frühere Anteilseigner Ihr Recht zur Teilnahme an einer zukünftigen Validierung verlieren.

Aber selbst mit diesen Maßnahmen können PoS-Protokolle dieses Problem nicht vollständig lösen. Zwei Arten von Knotenpunkten (Nodes) sind nach wie vor besonders anfällig:

a) Nodes, die gerade dem Netzwerk beigetreten sind

b) Lange ruhende Nodes

Da diese Nodes entweder mit einem leeren oder lückenhaften Speicher starten, können sie nur schwer ermitteln, ob einige Parteien ihre Coins bereits über die „echte“ Kette verkauft haben, während die Node nicht mit dem Netzwerk verbunden war.

Einige PoS-Befürworter werden darauf hinweisen, dass ein ähnliches Problem für neue Nodes bei PoW besteht – was korrekt ist und tatsächlich ein akzeptables Problem darstellt.

Dieses Argument ist höchst irreführend. Auf der einen Seite ist es so, dass neue Benutzer eines PoW-Systems irgend jemandem vertrauen müssen, um die richtige Version der Software und Peers zu laden, jedoch erstreckt sich diese Vertrauen nicht auf die Auswahl der gültigen Blockchain.

Zweitens und viel wichtiger: Sobald die Software für die PoW-Node heruntergeladen wurde, ist es für den PoW-Knotenbetreiber einigermaßen sicher, den Knoten für eine beliebige Zeit auszuschalten. Nach der Synchronisierung ist PoW in hohem Maße frei in der Benutzung: Nodes können kommen und gehen wann immer sie möchten. Die einzige Ausnahme hiervon sind sogenannte Hard Forks, bei denen die Node-Betreiber den Synchronisations-Prozess wiederholen müssen (ein weiterer Grund warum Hard Forks sehr umsichtig verwendet und wenn möglich vermieden werden sollten).

Ein PoS-Nodebetreiber muss wiederkehrend und mit der korrekten Software vertrauenswürdige Dritte kontaktieren, um sicherzustellen, dass er in der richtigen Blockchain-Version bleibt. Die Angst, den Kontakt zum Hauptnetzwerk zu verlieren & in die falsche Kette gelockt zu werden, wird ewig anhalten, möglicherweise lange nachdem die vertrauenswürdigen Dritten nicht mehr existieren! Hieraus entsteht eine erhebliche Verschlechterung hinsichtlich der Sicherheit.

Alle PoS-Protokolle leiden unter diesem grundlegenden Problem.

Angriff auf neue private Schlüssel

Bei der zweiten Angriffsart sind die Schlüssel neuerer Art. Das bedeutet, dass weder dynamische Validatoren noch Checkpoints helfen würden. (Tatsächlich würden automatische Checkpoints das Problem verschärfen, indem sie nicht validierte Forks hiermit zu permanenten Forks machen.)

Und das passiert so: Ein Angreifer, der Zugang zu privaten Schlüsseln erhält, die mindestens 1/3 des Vorrats an Coins kontrollieren1, kann leicht zwei gleichermassen valide Blöcke gleicher Höhe erstellen, wobei keiner der Blöcke „richtiger“ erscheint für den Rest des Netzwerks (und erstellt damit in Konsequenz eine Teilung – also einen Fork – der Blockchain). Dies wäre für die meisten PoS-Protokolle bereits das Todesurteil, da sie gezwungen wären, den Betrieb einzustellen, wenn die Gegenseite keine 2/3+ Mehrheit erreicht. Hieraus folgt dann, dass ab diesen Zeitpunkt kein Block mehr als valide gekennzeichnet werden kann. Die gesamte PoS-Blockchain müsste damit an dieser Stelle eingestellt werden.

(Die Fähigkeit, einen kontinuierlichen Betrieb zu gewährleisten, wird als „liveness“ bezeichnet).

Ein genauerer Blick auf einige PoS-Implementierungen:

i) Tendermint:

Tendermint erkennt den oben genannten Mangel an und räumt ein, dass Benutzer im Falle eines solchen Blockierens des Protokolls die Blockchain verlassen müssen, um wieder einen Konsens zu erzielen:

„Eine Teilmenge der Validatoren sollte sich in diesem Fall mit externen Parteien koordinieren, um einen Vorschlag auszuarbeiten, welcher der Forks zukünftig gewählt werden soll.“

Die Ehrlichkeit ist lobenswert, aber ich bin der festen Überzeugung, dass diese „Lösung“ überhaupt keine Gangbare ist. Die zunehmende Abhängigkeit von manuellen menschlichen Eingriffen bedeutet, dass das Protokoll weniger skalierbar und leichter korrumpierbar ist. Es ist weit entfernt davon so robust zu sein, wie wir es bei der Entwicklung kritischer Software auf Infrastrukturebene anstreben sollten. Dies ist im Wesentlichen ein Problem der Denkweise, wie ich bereits in meinem vorherigen Artikel besprochen habe.

ii) Casper

Casper kann auch stecken bleiben, wenn ein Gegner mehr als 1/3 des Einsatzes kontrolliert.

Casper führt das problematische Konzept des „Inaktivitätslecks“ ein, bei dem Nodes bestraft werden, wenn sie offline gehen. Ob Sie absichtlich offline gehen, um Schaden anzurichten oder nicht, spielt hierbei keine Rolle. Dies ist eine inakzeptable Regel, weil a) sie eine neue Schwachstelle einführt, bei der ein Angreifer ehrliche Validatoren mit DDOS dazu bringen kann, offline zu gehen und sie Geld dabei verlieren, und b) sie möglicherweise Node-Betreiber davon abhält, zu investieren. Dies wirkt sich unmittelbar negativ auf die Gesamtsicherheit aus, da die Teilnahme am Staking äußerst kritisch für PoS ist (s.u.).

iii) DFINITY

In DFINITY muss ein Block zweimal validiert (sprich: notarisiert) werden, bevor er finalisiert werden kann. Ein Gegner mit 1/3+ Anteil könnte jedoch auch verhindern, dass Blöcke notarisiert werden und hierdurch ebenfalls das Protokoll einfrieren.

In DFINITY gibt es einiges Erwähnenswerte.

DFINITY führt einen Mechanismus der Gewichtung innerhalb einer PoW-Kette ohne hierfür aufzuwendende Energie ein, um Forks auflösen zu können. Es weist jedem Validator im Losverfahren eine Gewichtung über einen sogenannten „Random Beacon“ zu. Die Bewertung jedes Blocks wird dem Rang desjenigen zugeordnet, der den Block erstellt hat. Einfach ausgedrückt, basiert die Gewichtung von DFINITY auf nichts als Zufälligkeit (und alle sind sich einig, dass dies auf Zufall basiert).

Abgesehen von der Frage, ob sich der „Random Beacon“ wirklich sicher & dezentral implementieren lässt, ist dies intuitiv eine fehleranfällige Variante.

Ein digitaler Block hat keine tatsächliche Gewichtung. Ein Block besteht lediglich aus einem Haufen Nullen und Einsen. Wenn die Herstellung nichts kostet, kostet es auch nichts, diese zu fälschen oder zu reproduzieren. Was die Gewichtung eines PoW-Blocks wirklich ausmacht, ist, dass es eine direkte, nachweisbare Verbindung zwischen dem Block-Hash und der Energie gibt, die für das Mining dieses Blocks aufgewendet wurde. (Weitere Informationen dazu finden Sie in meinem Artikel zu PoW).

Das Gewicht eines DFINITY-Blocks hingegen ist subjektiv und kann daher manipuliert werden. Dieses Scheingewicht würde bedeutungslos werden, wenn a) Nodes sich einmal über die Zufälligkeit uneins werden oder b) über die Ursache von Zufälligkeitsfehlfunktionen (s. auch meinen Artikel zu PoW)

Insgesamt könnte die Sicherheit von DFINITY tatsächlich sogar schlechter sein als die von Tendermint und Casper. Die „Kontrollgruppe“ ist zwar eine coole Idee, repräsentiert aber nur eine Teilmenge aller aktiven Validatoren (k < N). Da die Teilmengen zufällig ausgewählt werden, können gegnerische Nodes in einigen Teilmengen leicht überrepräsentiert sein (und in anderen unterrepräsentiert). Ein Gegner, der 1/3 der Validatoren kontrolliert, könnte mehr als 1/3 der Gewichtung bestimmen. Der Angreifer könnte seine Chancen weiter ausnutzen, indem er Identitäten herrichtet, bis er die gewünschte Beteiligungsquote erreicht. (Er muss nur einen Schwellwert kontrollieren, nicht alle.)

Beteiligung am Staking

Bisher haben wir in dieser Analyse angenommen, dass der schlimmste Fall darin besteht, dass ein Angreifer die Kontrolle über 1/3+ der gesamten Coins erlangt, was schwierig aber nicht unmöglich ist. In Wirklichkeit sind die Anforderungen an den Angreifer jedoch viel geringer, da der Angreifer nur die 1/3+ Mehrheit der aktiv Beteiligten benötigt.

Es ist äußerst unwahrscheinlich, dass alle Münzinhaber am Staking- und Validierungsprozess teilnehmen. Nehmen wir an, die Beteiligungsrate beträgt 50%, dann benötigt der Angreifer nur 1/6 anstelle 1/3 des Münzvorrats, um widersprüchliche Blöcke/Checkpoints für Forks zu verursachen. Bei einer aktiven Beteiligungsquote von 25% benötigt der Angreifer nur 1/12. Dies ist ziemlich alarmierend, da die Vermögensverteilung wie gesagt Machtgesetzen folgt. Eine Handvoll der reichsten Anteilseigner könnte somit leicht 1/12 der Regeln im Netzwerk (Coins) kontrollieren.

Eine geringe Beteiligung am Staking ist wahrscheinlich die größte Bedrohung für PoS-Protokolle.

Ein weiteres Problem, welches das Problem des möglichen Diebstahls der Schlüssel verschlimmert, ist die Anforderung an die PoS-Konnektivität: Validatoren müssen ihre Staking-Schlüssel online vorhalten, um Transaktionen zu signieren. Da diese Schlüssel immer mit dem Netzwerk verbunden sind, sind sie viel anfälliger für Hacker oder Diebstahl. Es spielt keine Rolle, ob diese Staking-Schlüssel die Gelder hinter den Stakes direkt kontrollieren oder nicht: Diejenigen, die die Kontrolle über die Mehrheit dieser Staking-Schlüssel (die zum aktiven Prüfungmechanismus gehören) erlangen, erhalten die Kontrolle über die geprägten Blöcke3.

Fälschungssichere Validierung: der ungekrönte Held

Lassen Sie uns einen Schritt zurücktreten und das Geheimnis hinter der bahnbrechenden Innovation von Bitcoin lüften. Es gibt drei Hauptzutaten:

  1. Zufall
  2. Fälschungssichere Datenhaltung
  3. Anreize

(1) und (2) sind Aspekte des PoW-Mining. Während (3) in die Software der Nodes eingebettet ist.

(1) fällt in den Bereich der Informatik und Kryptographie, während (3) in den Bereich der Wirtschaftswissenschaften und der Spieltheorie fällt.

(2) hingegen passt in keine Disziplin. Die mentalen Modelle, die erforderlich sind, um zu verstehen, warum (2) wichtig ist, stammen aus einer Kombination verschiedener Disziplinen wie Archäologie, Evolutionspsychologie, Ökonomie und sogar Physik2.

Möglicherweise aufgrund dieser wenig erforschten Natur von (2) wurde es vielfach abgelehnt und seine Bedeutung massiv unterschätzt. PoS-Protokolldesigner machen diesen Fehler häufig und berücksichtigen bei ihren Designs leider nur (1) und (3).

Dies zeigt sich in DFINITYs Besessenheit vom Zufall. DFINITY-Forscher glauben, dass Zufall der Schlüssel zur Lösung aller Probleme ist.

Ethereum Casper hingegen ist besessen von Anreizen und geht so weit, dies als „Kryptoökonomie“ zu bezeichnen. Ethereum-Forscher gehen davon aus, dass clevere Anreizkonzepte der Schlüssel zur Lösung aller Probleme sind.

„Für einen Hammer ist alles ein Nagel“ – dieses Sprichwort passt in den Designraum des PoS-Protokolls.

Die Realität ist, dass fälschungssichere Werte wohl DIE wichtigste Komponente sind, die Bitcoin vorantreibt. Ausser fälschungssicheren Werten gibt es nichts Neues bei Bitcoin und auch keine Anfälligkeit für einen Fork.

Zusammenfassend lässt sich sagen, dass Angriffe auf private Schlüssel ein ernsthaftes Problem für PoS-Protokolle darstellen. Der Verlust der Mehrheitsregel in PoW (Hash-Rate) ist weniger gut, bedeutet aber nicht, dass das System hierbei vollständig ausfiele. Dem gegenüber macht der Verlust der Mehrheit im PoS (Stake) das System völlig wehrlos.

Hier geht es zum ersten Artikel Proof-of-Stake und die falschge Denkweise der Ingenieure, der das dritte Szenario “Angriffe auf private Schlüssel” vertieft.

Fußnoten
[1]: Das Verhältnis 1/3 stammt aus dem Forschungs-Bereich der traditionellen BFT-Systeme (von denen PoS-Protokolle eine Untermenge sind). Herkömmliche BFT-Systeme funktionieren nicht, wenn 1/3 oder mehr Nodes fehlerhaft sind. Der Begriff BFT leitet sich vom Problem der byzantinischen Generäle ab. Der Begriff BFT wurde 1982 von Lamport, Pease und Shostak definiert.

[2]: Lesen Sie Nick Szabos Essay über die Ursprünge des Geldes, um die Bedeutung fälschungssicherer Werte zu verstehen.

[3]: Danke @datavetaren für den Hinweis auf dieses Problem


Dies ist ein Gastbeitrag von Hugo Nguyen. Die geäußerten Meinungen sind ausschließlich seine eigenen und spiegeln nicht notwendigerweise die von Aprycot Media wider.

Die anderen Artikel dieser Serie findest du in unserer Mediathek unter Die Bitgenstein-Serie.

Vielen Dank für’s lesen! Aprycot Media kümmert sich darum, guten Bitcoin-Content auf Deutsch verfügbar zu machen. Ob einzelne Artikel, Bücher oder eine ganze Mediensammlung. 

Die Inhalte auf der Mediathek werden von unseren Übersetzern und Lektoren, unseren Content Plebs, auf freiwilliger Basis und unentgeltlich erstellt. Wenn du Ihnen etwas zurückgeben möchtest, findest du auf https://aprycot.media/content-plebs/ die Möglichkeit, Ihnen ein paar Sats zukommen zu lassen. #value4value

Eine noch umfangreichere Übersicht findest du unter: aprycot.media/thek/ oder auch bitcoinquellen.de.

Produkte

Weitere Artikel

Bitcoin-Transaktionskriege: Warum wir das Mining durch Home-Mining dezentralisieren müssen

Bitcoin-Transaktionskriege: Warum wir das Mining durch Home-Mining dezentralisieren müssen

Aus dem Original „Bitcoin Transaction Wars: Why we need to decentralize mining with home mining“ von Michael Schmid, erschienen am 9. September 2022 auf ungovernablemisfits.com. Übersetzt von stfano, Lektorat durch Juniormind. Es zeichnet sich ein neuer Bitcoin-Krieg ab: der Bitcoin-Transaktionskrieg,…
Bitcoin, gutes und schlechtes Geld

Bitcoin, gutes und schlechtes Geld

Ein Interview mit dem Ökonom und Autor Rahim Taghizadegan von Gilbert Rosenkranz. Erstmals erschienen am 26. September 2022 auf TIROLER Sonntag. Rahim Taghizadegan ist Ökonom der Österreichischen Schule in direkter Tradition in Österreich und Autor von mehr als einem Dutzend…
Der legendäre Schatz von Satoshi Nakamoto

Der legendäre Schatz von Satoshi Nakamoto

Aus dem Original „The Legendary Treasure of Satoshi Nakamoto“ von Tomer Strolight, erschienen am 06.09.2022 auf Medium. Übersetzt von BitBoxer, Lektorat durch Satsang. Prolog – Bitcoin ist spirituelles Erwachen Geld wird im Allgemeinen nicht als etwas angesehen, das mit Reisen…
Warenkorb
Es sind keine Produkte in deinem Warenkorb!
Weiter einkaufen
0