Jede Lösung für das Problem des byzantinischen Generals kann als Konsensmethode verwendet werden, auf der ein verteiltes Hauptbuch basiert.
Warum hat sich Satoshi Nakamoto dann für den superteuren (in Strom- und CPU-Zyklen) Proof-Of-Work entschieden?
Mir fallen folgende Gründe ein:
Diese Gründe sind eindeutig nicht gut genug. Welche wirklichen Gründe gibt es also, Proof-of-Work über zB Multi-Paxos oder eine andere „klassische“ Lösung für das Problem der byzantinischen Generäle zu verwenden?
Nakamoto Consensus hat einige Eigenschaften, die BFT-Algorithmen überlegen sind. (Es hat auch einige Eigenschaften, die minderwertig sind, aber das ist eine andere Geschichte).
Erstens gehen BFT-Algorithmen davon aus, dass eine zentrale Autorität auswählt, wer die Teilnehmer sind. NC hingegen erlaubt es jedem, zu versuchen, die nächste Runde zu gewinnen.
Zweitens erfordern BFT-Algorithmen im Allgemeinen, dass 2/3 + 1 (z. B. 67 %) der Teilnehmer ehrlich sind. NC setzt eine untere Schwelle von 1/2 + 1 (z. B. 51 %). Das liegt daran, dass das PoW von NC verhindert, dass ein Knoten zwei Nachrichten gleichzeitig rundsendet.
Schließlich hat NC die interessante Eigenschaft, dass in dem Moment, in dem ein Miner „gewinnt“, er auch gleichzeitig die Transaktionen auswählt, die er in den Block aufnehmen wird. Dies bedeutet, dass es für einen Angreifer kein Zeitfenster gibt, um zu versuchen, den gewinnenden Miner zu beeinflussen, damit er gegen die Regeln verstößt.
Beachten Sie, dass Paxos kein BFT-Algorithmus ist. Paxos löst Stop-Fail-Fehler. Das Schlimmste, was ein Knoten tun kann, ist aufhören zu arbeiten. Paxos löst keine "byzantinischen" Fehler, bei denen ein Knoten versuchen kann, zwei verschiedene Dinge zu sagen.
Konsensteilnehmer sind nicht im Voraus bekannt, sodass Sie nicht wissen, auf wen Sie hören und wen Sie ignorieren sollen. Auch Identitäten sind in Bitcoin extrem schwach (Miner haben überhaupt keine Identitäten, Benutzer normalerweise nur ein billiges Schlüsselpaar), so dass Sybil-Angriffe ( https://en.wikipedia.org/wiki/Sybil_attack ) billig sind.
Proof-of-Work schafft eine Beziehung zwischen der Fähigkeit eines Miners, darüber abzustimmen, was der nächste Block sein soll, und realen Kosten (Stromkosten). Sie können Proof-of-Work-Ergebnisse nicht fälschen, also können Sie das Netzwerk nicht fälschen, indem Sie vorgeben, Arbeiten zu erledigen, die Sie nicht tatsächlich ausgeführt haben.
Wenn es keine Kosten für den Betrieb eines „Mining-Knotens“ im Netzwerk gäbe, was würde dann passieren, wenn ein ganzes Amazon-Serverlager mit Knoten dem Netzwerk beitritt? Sie brauchen eine Methode, um sich gegen Sybil/Ddos-Angriffe zu verteidigen.
Um deine Punkte zu beantworten:
In Bezug auf Paxos sagt das, was ich über Multi-Paxos lese, dass einem Leader-Knoten vertraut werden muss, also scheint es, dass in diesen Systemen ein gewisses Maß an Vertrauen erforderlich ist. Paxos-Systeme halten auch einen Zustand, während die Bitcoin-Blockchain zustandslos ist, das ist also auch ein Unterschied in den Sicherheits-/Fehlermodi.
@Makyen
), sobald Sie dies gelesen haben, damit ich es löschen kann, da es nichts mit Ihrer Antwort hier zu tun hat.]
craf
Qqwy
Pieter Wuille