Was ist das Ripple-Äquivalent zum „51 %-Angriff“?

Wenn ein Teilnehmer bei Bitcoin die Kontrolle über mehr als 50 % der Hash-Power erlangt, kann er einen Double-Spending-Angriff ausführen. Der "Angriff" könnte von innen kommen, etwa wenn die bestehenden mächtigen Miner beschließen, die Regeln zu ändern.

Hat Ripple ein ähnliches Problem, bei dem ein paar Leute effektiv die Kontrolle über das System übernehmen können? Wenn ja, wie funktioniert es?

Antworten (2)

Ripple löst das Problem der doppelten Ausgaben im Konsens. Jeder, der einen Server im Ripple-Netzwerk betreiben möchte, wählt eine Reihe von Validatoren aus und versucht, mit ihnen einen Konsens darüber zu erzielen, welche Transaktionen gültig sind.

Das Ripple-Äquivalent zum 51%-Angriff von Bitcoin wäre, wenn eine Gruppe die Kontrolle über genügend Validatoren erlangt, dass der Konsensprozess fehlschlägt. Da die Leute speziell Validierer auswählen, von denen sie glauben, dass sie wahrscheinlich keine Absprachen treffen, wäre dies eine außergewöhnlich schwierige Sache.

Wenn Validatoren sich weigern, sich untereinander zu einigen, ist dies für andere Validatoren erkennbar. Dann erklären sie das Netzwerk für kaputt (weil sie nicht wissen, welche Seite Recht hat).

In diesem Fall würden Server das Ripple-Netzwerk automatisch für unbrauchbar erklären. Bis zur Behebung des Problems konnte auf keine Transaktionsergebnisse zurückgegriffen werden.

Die Lösung würde darin bestehen, die signierten Validierungen und Vorschläge zu analysieren, um festzustellen, welche Validatoren unvernünftig waren, und alle ehrlichen Menschen diese Validatoren aus den UNLs (Listen von Validatoren, mit denen sie versuchen, einen Konsens zu erzielen) zu entfernen.

Sie müssten also das Vertrauen der Menschen gewinnen, und dann würden Sie im Verlauf des Angriffs dieses Vertrauen verlieren und von vorne beginnen müssen.

Wenn dagegen jemand ASICs erworben hat, um Bitcoin anzugreifen, könnte er Bitcoin wiederholt angreifen. Es ist nicht klar, wie Bitcoin auf einen solchen Angriff reagieren könnte, aber eine Änderung des Mining-Algorithmus (um die ASICs des Angreifers wertlos zu machen) ist wahrscheinlich ein Fehlstart, da es auch alle Investitionen der Bitcoin-Miner in ASICs wertlos machen würde.

Wie stellt das Netzwerk sicher, dass keine Cluster von Validatoren entstehen? Wenn ich richtig liege, ignorieren Nodes Vorschläge von anderen Nodes als denen, denen sie vertrauen. Was passiert, wenn ein Cluster von Knoten entsteht, die nur den anderen im Cluster vertrauen, aber keine Verbindung zu irgendeinem anderen Knoten außerhalb des Clusters haben?
Eine Blockchain-Fork :)
"Bis das Problem gelöst wurde, konnte man sich auf keine Transaktionsergebnisse verlassen." Bedeutet dies, dass Transaktionen nicht durchgeführt werden? Würde ein Benutzer wissen, dass sich das System in diesem Zustand befindet?
In Bitcoin können Sie doppelt ausgeben, wenn Sie über genügend Hash-Power verfügen, und dies ist beabsichtigt. Wollen Sie damit sagen, dass Sie in Ripple einfach nicht doppelt ausgeben können, sondern das System aufgrund mangelnder Übereinstimmung einfach zum Stillstand bringen können (selbst wenn Sie die meisten Validierungsknoten kontrolliert haben)?
@StevenRoose: An einem Cluster von Validatoren ist nichts auszusetzen, sie würden nur ihr eigenes Netzwerk bilden. Wenn Sie die Konsistenz mit dem globalen Netzwerk von Validatoren wahren und mit ihnen im selben Ledger stehen möchten, müssen Sie der Software mitteilen, dass Sie dies wünschen.
@Manish: Ja, das ist grundsätzlich richtig, wenn UNLs ordnungsgemäß gepflegt werden. Aber denken Sie darüber nach – sagen Sie, Sie kommen in diesen Zustand und Sie haben jetzt zwei Hälften des Netzwerks, die anderer Meinung sind. Das Netzwerk ist zum Stillstand gekommen und die einzige Möglichkeit, es zu reparieren, besteht darin, sich für die eine oder andere Seite zu entscheiden. Der Vorteil ist, dass Sie keine Leute haben sollten, die sich auf die Transaktionen der einen oder anderen Seite verlassen haben.
Ist dieser "Halt"-Zustand etwas, von dem jeder Knoten weiß? Oder ist es wie bei Bitcoin, wo Sie glücklich für immer auf einem alternativen Zweig aufbauen könnten (und am Ende zwei Hauptbücher haben)? Was bedeutet "anhalten", bedeutet es keine Transaktionen mehr?
@Manish: Der Ripple-Server hat ein internes "Gate". Es läuft weiter basierend auf dem, was es im Netzwerk sieht, und bildet einen Konsens mit allem, was es kann. Aber es meldet Transaktionen nur dann als validiert an Kunden, wenn sie dieses „Gate“ passieren. Wenn die Prüfer nicht einverstanden sind, passiert nichts das Tor. Der Server meldet veraltete Daten an die Clients und teilt ihnen mit, dass er nicht über aktuelle Daten verfügt. Sie konnten sich nicht auf die Ergebnisse von Transaktionen verlassen. Wenn Bitcoin einen ähnlichen fehlgeschlagenen Zustand hat, verarbeitet es Transaktionen immer noch gerne und meldet Bestätigungen. (Obwohl das sehr selten ist.)

Wenn dagegen jemand ASICs erworben hat, um Bitcoin anzugreifen, könnte er Bitcoin wiederholt angreifen.

Das Problem ist, dass auf der Erde nicht genügend ASICs verfügbar sind, um einen effektiven Angriff auf Bitcoin zu starten. Bestehende Miner müssten als Teil des Angriffs kooptiert werden, was effektiv zu einer Gabelung wird: Eine neue Kette spaltet sich mit anderen Regeln ab. Was beim bcash-Fiasko passiert ist. Die alte Kette läuft unbeeinflusst weiter, während die neue schwindet, wenn die Bergleute schließlich kapitulieren und zur profitableren Konsenskette zurückkehren.