Was ist der Long-Range-Attack im Proof-of-Stake? Und wie wird dieser Vektor mit der Casper Proof-of-Stake-Implementierung gemildert?
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.
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.
coolboyjules