Ich verstehe, dass Bitcoin derzeit die Kette mit den meisten Proof-of-Work als Konsens verwendet. Dieses Verfahren könnte jedoch verbessert werden, indem beispielsweise nur ein Block zu einem bestimmten Zeitpunkt generiert wird und jeder Knoten diesen Block mit seinen eigenen vergangenen Daten verifiziert. Wenn es mehr als 2/3 Knoten gibt, die beweisen, dass der Block gültig ist, wird der Block der Kette hinzugefügt. Wenn jemand einen gefälschten Block erstellen möchte, muss er mindestens 2/3 der gesamten Knoten kontrollieren. Für welche Art von Angriff ist dieser Konsens anfällig?
Ich verstehe, dass Bitcoin derzeit die Kette mit den meisten Proof-of-Work als Konsens verwendet.
Dieses Verfahren könnte jedoch verbessert werden, indem beispielsweise nur ein Block zu einem bestimmten Zeitpunkt generiert wird und jeder Knoten diesen Block mit seinen eigenen vergangenen Daten verifiziert.
Nein, es kann auf diese Weise nicht verbessert werden; nicht im erlaubnislosen oder dezentralisierten Bedrohungsmodell von Bitcoin, bei dem jeder Knoten dem Bitcoin-Netzwerk jederzeit beitreten und es verlassen kann. Es würde sogar noch schlimmer werden.
Um zu verstehen, warum Ihr Schema in der erlaubnislosen Umgebung nicht funktioniert , müssen Sie verstehen, wie Sybil-Angriffe [ 2 ] es brechen. Eigentlich ist es ganz einfach: Ein Angreifer kann immer dann eine Wahl gewinnen, wenn er eine Mehrheit der falschen Wähler kontrollieren kann. Aus diesem Grund funktioniert Ihr Schema in der erlaubnislosen Einstellung von Bitcoin nicht. In Ihrem Schema kann der Angreifer eine Mehrheit der falschen Wähler kontrollieren, indem er eine Reihe von Knoten hinzufügt, bis er 2/3 der Knoten im Netzwerk kontrolliert. Dann kann er den Konsens diktieren.
Tatsächlich erwog Satoshi natürlich, eine 2/3-Mehrheitsabstimmung (1 Knoten = 1 Stimme) zu verwenden, um Bitcoin zu sichern, aber bald erkannte er, dass Sybil-Angriffe jedes solche Konsensschema brechen würden, weil es sehr billig ist, falsche Wähler zu schaffen: einfach gefälschte Knoten hervorbringen . Auch das Whitepaper von Bitcoin erwähnt dies deutlich (siehe Abschnitt 4, S. 3) [ 1 ].
Es ist wichtig zu verstehen, dass das Spawnen von Knoten so einfach ist wie das Generieren von Schlüsselpaaren. Mit anderen Worten, eine Signatur von einem Knoten ist in der Permissionless-Einstellung wertlos . Was garantiert eine Signatur wirklich, wenn jeder Trottel Millionen von Knoten hervorbringen und Millionen von Signaturen bereitstellen kann?
Bitcoin verhindert Sybil-Angriffe, indem es Abstimmungen teuer macht. Da jeder Dummkopf dem Bitcoin-Netzwerk beitreten und versuchen kann, Chaos anzurichten, sagt Bitcoin im Wesentlichen: „Mach es! Aber übrigens, wenn du wählen willst, musst du ein paar Billionen SHA256-Hashes berechnen.“ Bitcoin verwendet immer noch eine Mehrheitsabstimmung, um einen Konsens zu erreichen, aber es zählt die Stimmen nicht nach der Anzahl der Knoten, sondern nach der Anzahl der CPUs. Wieso den? Weil Dummköpfe nicht viele CPUs haben. Daher wird es für sie schwieriger, die Mehrheit der Stimmrechte zu übernehmen.
Wenn ich bei Bitcoin einen Konsens diktieren will, muss ich ASIC-Miner im Wert von 160 Millionen Dollar kaufen (nach einigen groben Berechnungen) und dann auch noch eine riesige Stromrechnung bezahlen.
Jetzt hast du gesagt:
Ich verstehe, dass Bitcoin derzeit die Kette mit den meisten Proof-of-Work als Konsens verwendet.
... aber es scheint, als würden Sie den Grund nicht verstehen, warum Bitcoin 1 CPU = 1 Stimme verwendet, anstatt 1 Knoten = 1 Stimme zu verwenden. Auch hier lautet die Antwort: um Sybil-Attacken zu verhindern.
Wenn es mehr als 2/3 Knoten gibt, die beweisen, dass der Block gültig ist, wird der Block der Kette hinzugefügt. Wenn jemand einen gefälschten Block erstellen möchte, muss er mindestens 2/3 der gesamten Knoten kontrollieren. Für welche Art von Angriff ist dieser Konsens anfällig?
Sybil greift an, wie bereits erwähnt.
Ich hoffe, das hilft bei der Beantwortung Ihrer Frage.
PS: Ich möchte darauf hinweisen, dass Ihr System in einer zugelassenen Umgebung gut funktioniert , in der es eine feste Anzahl von Knoten oder einen Zugangskontrollprozess gibt, der Knoten überprüft, bevor sie in das System aufgenommen werden. In dieser Einstellung sind Sybil-Attacken kein Problem. Beachten Sie jedoch, dass diese Einstellung das genaue Gegenteil der Bitcoin-Einstellung ist. Bitcoin möchte dezentral/offen/erlaubnislos bleiben (und viele andere Schlagworte, die Bitcoin-Fanatiker gerne verwenden).
Ihr Vorschlag ist nicht ausreichend spezifiziert:
Es ist nicht klar, wie Ihr Vorschlag überhaupt Konsens erzielt. Darüber hinaus scheint die Abstimmung über Blöcke keine nennenswerten Kosten zu verursachen, sodass der Vorschlag anfällig für Sybil-Angriffe ist .
Nate Eldredge
Yangrui
Jestin