Was ist der Long-Range-Attack im Proof-of-Stake?

Was ist der Long-Range-Attack im Proof-of-Stake? Und wie wird dieser Vektor mit der Casper Proof-of-Stake-Implementierung gemildert?

Antworten (2)

Nehmen Sie in einem naiv implementierten Proof of Stake an, dass es einen Angreifer mit 1% aller Münzen am oder kurz nach dem Genesis-Block gibt. Dieser Angreifer startet dann seine eigene Kette und beginnt, sie abzubauen. Obwohl der Angreifer nur in 1 % der Fälle für die Erstellung eines Blocks ausgewählt wird, kann er leicht 100-mal so viele Blöcke produzieren und auf diese Weise einfach eine längere Blockchain erstellen.

https://blog.ethereum.org/2014/05/15/long-range-attacks-the-serious-problem-with-adaptive-proof-of-work/

Kannst du etwas erweitern? Ich verstehe nicht, wie der Angriff die reale Kette „überholen“ könnte, da sich die Hauptkette mit der gleichen Geschwindigkeit bewegen würde (oder würde es?). Würde der Schwierigkeitsmodifikator nicht immer noch erfordern, dass Blöcke im gleichen Intervall erscheinen?

Aus Casper101 :

Es ist ungefähr der gleiche Mechanismus wie der 51%-Angriff (erstellen Sie eine längere Kette, die das Ledger zugunsten des Angreifers umschreibt), aber anstatt den Angriff 6 Blöcke zurück zu starten, gehen Sie viel weiter zurück in der Geschichte der Kette (dh 60.000 Blöcke). Dies ist ein Problem für PoS, da kein Arbeitsnachweis (oder ein zeitintensiver Vorgang) erforderlich ist, um eine sehr lange Kette neu zu schreiben.

Dieses und das Problem, dass nichts auf dem Spiel steht, werden durch Ideen von Slasher (und seinen verbesserten Variationen) gelöst. Die Hauptpunkte sind, dass (1) Validatoren bekannt sind, die eine Fehlerzuordnung auf Validatorebene ermöglichen, und (2) dass es möglich ist, diese Probleme zu mindern, indem „Kürzungsbedingungen“ vorhanden sind, die bestimmte Aktionen stark abschrecken. Auch dieses Beispiel ist entscheidend, um die Ansicht des Casper-Teams zum Design von Konsensalgorithmen zu verstehen: Wir können das Design wirtschaftlicher Mechanismen für ein sicheres verteiltes System nutzen.

Wenn Sie etwas auf dem Spiel haben, wie senden Sie die gestaketen Coins an das Netzwerk? Klingt so, als müssten Sie den privaten Schlüssel oder einen anderen Schlüssel mit geringerem Zugriff verwenden. Was ist auch, wenn Knoten gehackt werden und ein Hacker den Knoten dazu bringt, ein falsches Ergebnis an das Netzwerk zu senden? Der Einsatz würde gekürzt und sie würden jede Menge Geld verlieren?
@AndroidDev93 Ja. Das Gleiche gilt für eine normale Brieftasche: Wenn ein Angreifer Ihre Brieftasche hackt, kann er Ihr gesamtes Geld stehlen. Die sichere Aufbewahrung Ihres geheimen Schlüssels ist die goldene Regel, egal ob Sie PoW oder PoS verwenden.
@stackoverflower Wenn mein PoW-Miner kompromittiert wird, werden meine Gelder jedoch nicht gestohlen. Mein Miner hat nur den öffentlichen Schlüssel. Beim Proof of Stake ist dies jedoch nicht der Fall. Das klingt nach einer neuen Schwachstelle beim Vergleich von PoS mit PoW?
@AndroidDev93 Der PoW-Miner hat auch ein Schlüsselpaar, das verwendet wird, um Transaktionsgebühren und neue Bitcoins zu erhalten, obwohl Sie regelmäßig Gelder aus der Brieftasche des Miners verschieben können, um den Verlust gering zu halten. Mit PoS können Sie Ihre Gelder auf mehrere Miner aufteilen und diese parallel betreiben. Dies verbraucht jedoch nicht mehr Strom, da Sie sie so programmieren können, dass sie immer die gleiche Entscheidung treffen.
@stackoverflower Der PoW-Miner hat nur den öffentlichen Schlüssel. Nicht der private Schlüssel des Wallets. In PoW nimmst du niemals Geld aus der Brieftasche. Sie legen nur Geld in die Brieftasche. PoW hat also nur den öffentlichen Schlüssel. Bei PoS scheint das aber nicht der Fall zu sein. Sie müssen in der Lage sein, Gelder zu kürzen, wenn sie falsch reagieren. Sie müssen also eine Art privaten Schlüssel im Miner haben.