Es gab einige Diskussionen über mögliche Angriffe, wenn man über die Mehrheit (über 50%) der Rechenleistung des Bitcoin-Netzwerks verfügt. Was passiert, wenn ein Angreifer (oder eine koordinierte Gruppe von Angreifern) mehr Rechenleistung als jeder andere Benutzer (oder eine koordinierte Gruppe von Benutzern) hat, aber nicht unbedingt die Mehrheit aller Rechenleistung?
Stellen Sie sich als Spielzeugbeispiel vor, dass wir 3 Benutzer haben: Alice, Bob und Steve.
Alice und Bob sind beide ehrliche Benutzer, die das angegebene Protokoll problemlos verwenden können. Sie werden jedoch nicht über das Protokoll hinausgehen, um sich gegenseitig zu helfen (tatsächlich würden sie gerne Geld aus dem Nachteil des anderen machen, solange sie sich weiterhin an das Protokoll halten).
Steve ist ein Angreifer und bereit, Aktionen außerhalb des Protokolls auszuführen, um entweder Profit zu machen oder einfach nur das Netzwerk zu zerstören. Wenn Steve 41 % der Rechenleistung hat, Bob 34 % und Alice 25 %, gibt es dann Angriffe, die Steve starten könnte?
Das Spielzeugbeispiel ist beigefügt, um nur zu verdeutlichen, was ich mit Pluralität vs. Mehrheit meine und was ich mit ehrlichen, aber unkoordinierten Benutzern meine . Ich bin offensichtlich mehr an einer Antwort auf die allgemeine Frage interessiert als an diesem speziellen Spielzeugmodell.
In gewisser Weise sind alle 51%-Angriffe wirklich Pluralitätsangriffe, aber Sie müssen alle ehrlichen Benutzer als eine einzige "koordinierte Gruppe" betrachten. (Was wahr ist, wenn man darüber nachdenkt: Sie alle folgen dem beabsichtigten Protokoll, wie es von Standardsoftware implementiert wird.)
Nehmen wir zum Beispiel an, dass 30 % der Hash-Power von ehrlichen Bergleuten, 32 % von Kartell X und 38 % von Kartell Y kontrolliert werden. Die ehrlichen Bergleute bauen in der Hauptkette ab. Kartell X möchte eine Transaktion rückgängig machen, die in einem früheren Block A aufgetreten ist, also schürfen sie auf einer Seitenkette, die bei Block A-1 von der Hauptkette abweicht. Kartell Y möchte eine andere Transaktion rückgängig machen, die in einem vorherigen Block B aufgetreten ist, und baut daher ebenfalls auf seiner eigenen Seitenkette von B-1 ab.
Mit genügend Zeit wird die Kette von Kartell Y schließlich länger sein als entweder die "ehrliche" Kette oder die von Kartell X produzierte Kette, so dass sie der offizielle Rekord wird. Kartell Y wird es schaffen, seine Transaktion rückgängig zu machen, Kartell X nicht.
Die Zahl von 51 % basiert auf der Annahme, dass alle Miner, die nicht Teil des angreifenden Kartells sind, ehrlich sind. Aber wenn einige von ihnen Teil eines konkurrierenden Kartells sind, dann reicht tatsächlich eine Vielzahl, vorausgesetzt, Sie zählen alle ehrlichen Bergleute zu einem eigenen Kartell.
Im Prinzip könnte etwas Ähnliches im Falle eines Blockchain-Forks passieren, bei dem sich ehrliche Miner in zwei oder mehr nicht kooperierende Gruppen aufteilen, die auf unterschiedlichen Chains minen. In diesem Fall könnte ein Angreifer, der mehr Hash-Power als jede Gruppe kontrolliert, ebenfalls einen 51-%-Angriff durchführen.
Es sind keine derartigen Angriffe bekannt und es gibt einige Gründe dafür, dass es wahrscheinlich keine gibt. Soweit wir wissen, können kooperierende Benutzer nichts Besonderes tun. Und der einzige „Wendepunkt“, an dem etwas möglich wird, liegt bei 51 % der gesamten Bergbauleistung. Abgesehen davon hat es keinen Vorteil, mehr Rechenleistung zu haben als jemand anderes.
Es gibt mindestens zwei Doppelausgaben-Angriffe, wenn Händler Zero-Confirm-Transaktionen akzeptieren. (Beachten Sie, dass eine einzelne Bestätigung durchschnittlich 10 Minuten dauert, mit einer Wahrscheinlichkeit von 1:400 länger als eine Stunde).
Mit der Finney-Attacke berechnen Sie einen Block mit einer Transaktion an sich selbst vor. Wenn Sie eine Lösung haben, gehen Sie zu einem Händler und kaufen etwas, indem Sie ihm eine Transaktion von derselben Adresse (und derselben Ausgabe) geben. Wenn Sie mit Ihren Waren aus dem Geschäft treten, geben Sie den vorab aufgelösten Block (der eine Transaktion an sich selbst enthält) frei und machen die echte Transaktion ungültig.
Mit dem Rabattsystem übersteuern Sie die Transaktion nur mit einer bestimmten Wahrscheinlichkeit (proportional zur Größe Ihres Rigs), aber es gibt keine zeitlichen Probleme. Ein mögliches Beispiel aus der Praxis wird hier beschrieben . Siehe auch hier für eine Diskussion.
David Schwarz
David Perry
David Schwarz
Artem Kaznatcheev