Supermajority, um 51%-Angriff zu verhindern?

Ich würde denken, dass die Änderung des Bitcoin-Protokolls dahingehend, dass eine Supermajorität, sagen wir 60 % oder 75 %, zur Überprüfung des Arbeitsnachweises erforderlich ist, dazu beiträgt, das Risiko eines 51-%-Angriffs zu verringern. Wenn dem so ist, was sind die größten Hindernisse oder Dinge, die ich nicht in Erwägung ziehe?

Das einzige, was mir sofort in den Sinn kam, war, dass es den Zeithorizont verlängern würde, in dem die meisten Transaktionen verifiziert werden, was dem Ökosystem erheblich schaden könnte. Was sonst?

Können Sie genauer erklären, wie das modifizierte Protokoll funktionieren würde? Der 51%-Angriff ergibt sich aus dem Prinzip, dass der längste Zweig der Blockchain als gültiger Zweig betrachtet wird. Ich verstehe nicht, wie Sie das ändern würden, um eine andere Nummer zu erhalten.
Es hilft wahrscheinlich zu verstehen, was der Angriff tut, und diese Antwort scheint es gut zu erklären: bitcoin.stackexchange.com/a/660/18253

Antworten (5)

Der 51%-Angriff ist ein emergentes Verhalten des Systems. Es liegt nicht daran, dass irgendwo im Protokoll „50 %“ vergraben sind, die einfach auf 60 % oder 75 % geändert werden können. Jemand mit mehr Hashing-Power als alle anderen zusammen kann mit genügend Zeit immer eine längere Kette aufbauen als alle anderen.

Beachten Sie, dass, obwohl oft von „51 %-Angriffen“ gesprochen wird, es keine magische Schwelle bei 50 % gibt. Sie könnten einen 51%-Angriff mit 49% der Hashing-Leistung durchführen, es wäre nur etwas schwieriger.
@jwg Nun, der 50%-Punkt ist wichtig. Mit über 50 % Hash-Power können Sie bei ausreichender Zeit garantiert länger als jeder andere eine Blockchain erstellen. Wie Sie betonen, ist es natürlich immer noch möglich, mit purem Glück eine längere Kette mit weniger als 50% Hash-Power zu erstellen, nur nicht wahrscheinlich.
@jwg es ist eine wichtige Schwelle. Wie Svante sagte, mit mehr als 50% werden Sie schließlich alle Blöcke selbst abbauen. Sie müssen einfach nur an Ihrer eigenen Kette weiterarbeiten, anstatt die von anderen zu akzeptieren. Und mit genügend Zeit wird Ihre Kette länger und daher akzeptiert.
@Svante Ich bin völlig anderer Meinung. Es steht jedem frei, seine eigenen Blöcke zu akzeptieren und die von anderen abzulehnen. Das Erstellen der längsten Kette erfordert Glück bei 49 % oder bei 51 % - bei letzterem ist es nur geringfügig wahrscheinlicher.
@LucaMatteis siehe meine Kommentare zu Svante
@jwg Was hier zählt, ist die Wahrscheinlichkeit, dass ein Angreifer schließlich die Hauptkette überschreitet, wenn er von $N$ Blöcken zurück beginnt. Es gibt eine „magische Schwelle“ bei 50 % in dem Sinne, dass bei 50 % Hashpower diese Wahrscheinlichkeit unabhängig von $N$ 100 % beträgt. Sie haben Recht, dass sich die Wahrscheinlichkeit für jedes $N$ 100% nähert, wenn sich die Hashpower 50% nähert, sodass ein Angreifer mit sogar 40% Hashpower extrem gefährlich ist. Aber unter 50 % fällt die Wahrscheinlichkeit exponentiell mit $N$ ab, sodass Sie in Gegenwart eines Angreifers unter 50 % auf der sicheren Seite sein können, indem Sie einfach viele (vielleicht Zehntausende) Bestätigungen verlangen.
@jwg: Auf mathematischer Ebene ist Ihre Aussage nicht korrekt. Auf lange Sicht wird ein Angreifer mit 51 % der Hash-Power mit überwältigender Wahrscheinlichkeit die längste Kette erstellen als ein Angreifer mit 49 %. In der Tat ist bei ausreichender Zeit für den 51-%-Angreifer fast garantiert, dass er die längste Kette erhält, und für den 49-%-Angreifer ist dies fast garantiert nicht . Das ist das Gesetz der großen Zahlen , ein grundlegender Wahrscheinlichkeitssatz.
Das ist alles andere als wahr, @NateEldredge, und eine völlig falsche Anwendung des Gesetzes der großen Zahlen. Die Fähigkeit, die Kette zu forken und immer noch die längste zu haben, hängt nicht mit dem Nettoungleichgewicht in der Anzahl der erstellten Blöcke zusammen , worüber Ihnen das LLN sagt. Sie bezieht sich auf die Anzahl aufeinanderfolgender Blöcke, die ein Agent erstellen kann .
@jwg: Ich fürchte, dann verstehe ich deinen Punkt nicht. Wenn ich 51 % der Hash-Power habe, kann ich (schließlich) mehr Blöcke erstellen als jeder andere, und wenn ich das möchte, kann ich sie alle miteinander verknüpfen, sodass sie alle aufeinander folgen. Irgendwann habe ich eine Kette, die (von dem, was ich als Starthöhe genommen habe) vollständig aus meinen eigenen Blöcken besteht und länger ist als jede andere Kette. Sobald ich es loslasse, können die Leute ihre eigenen Blockaden an das Ende anhängen, wenn sie wollen, aber wenn ich will, kann ich ihre Blockaden schließlich durch eine längere eigene Kette ersetzen.
@NateEldredge siehe meine Antwort, wo ich diese Punkte ausgearbeitet habe.

David Schwartz hat eine gute Antwort.

Aber um ein wenig weiter zu untersuchen, können Sie sich das Proof-of-Work-System von Bitcoin auf lange Sicht grob als Wahl vorstellen, um zu entscheiden, welche die „wahre“ Blockchain ist und somit welche Transaktionen als stattgefunden anerkannt werden. So wie es aussieht, erhält jeder Miner bei dieser Wahl ein Stimmrecht proportional zu seiner Hash-Macht (ein Hash, eine Stimme), und das Ergebnis wird durch die Mehrheit bestimmt. Ein Miner, der mehr als die Hälfte der Hash-Macht kontrolliert, kann also immer die Wahl gewinnen und ist als solcher praktisch ein Diktator: Er kann entscheiden, welche Transaktionen anerkannt werden und welche nicht. Dies macht es ihr sehr leicht, Menschen zu betrügen, da sie eine Transaktion durchführen, die Waren abholen und später erklären kann, dass die Transaktion nie stattgefunden hat und sie immer noch ihr Geld hat.

Angenommen, wir könnten einen Weg finden, um die Wahl von einer Mehrheit zu einer Supermajorität zu ändern (obwohl mir nicht sofort klar ist, wie das erreicht werden könnte). Nehmen wir an, eine 75-prozentige Supermajorität war erforderlich. Dies hätte den Vorteil, dass ein Angreifer mit beispielsweise 70 % der Hash-Power nicht mehr zum Diktator werden könnte.

Aber es hätte das ernsthafte Problem, dass ein Angreifer mit nur 30% der Hash-Power einen Denial-of-Service-Angriff starten könnte, indem er einfach auf eine gegenteilige Weise abstimmt. Damit verhindert er, dass eine Supermajorität erreicht wird, keine Transaktionen bestätigt werden können und das gesamte Währungssystem kreischend zum Erliegen kommt.

Ich nehme an, dieses Problem ist jedem politischen System eigen, das eine Supermajorität verwendet (siehe zum Beispiel den US-Senat). Bitcoin ist insofern etwas anders, als die Fragen, über die abgestimmt wird, nicht kontrovers sein sollen: Jeder ehrliche Wähler sollte auf die gleiche Weise abstimmen. Die Minderheit sollte also absichtlich keine Stimme haben. Und unter dem derzeitigen System haben sie überhaupt keine Stimme. Aber bei einer Supermajorität kann die Minderheit die Mehrheit behindern, und das wollen wir nicht.

Es ist mir nicht klar, ob diese Analogie wirklich für Bitcoin funktioniert. Insbesondere das „Stimmenenthalten“ macht nicht viel Sinn, aber ich denke, das folgt aus der Tatsache, dass das „Fordern einer Supermajorität“ auch bei Bitcoin keinen Sinn macht.
@BrendanLong: Ich habe es vielleicht nicht sehr gut formuliert. Ich meinte, dass der Angreifer sich weigern kann, für die "richtige" Kette zu stimmen (indem er stattdessen für eine "falsche" Kette stimmt). Dann bekommt keine Kette eine Supermajorität und das System funktioniert nicht mehr. Ich stimme zu, dass ein System, in dem dies tatsächlich Sinn macht, ziemlich anders aussehen würde als Bitcoin.
Wow, du bist ein ausgezeichneter Lehrer.

Ich denke, Sie sollten genau angeben, was Sie mit "51% Angriff" meinen. Wenn Sie mit Angriff doppelte Ausgaben meinen, beschreibt das ursprüngliche Bitcoin-Papier von Satoshi, dass es mehr Belohnung bringt, alle Blöcke für sich selbst abzubauen und 100 % der Belohnungen zu erhalten, anstatt eine Neuorganisation für das doppelte Senden zu versuchen, was möglich wäre verlieren Sie die Belohnungen und damit die Miner (die Ihren Pool während Ihres belohnungslosen Versuchs, die Historie neu zu organisieren, verlassen würden). Aus dem Papier:

Wenn ein gieriger Angreifer mehr CPU-Leistung als alle ehrlichen Knoten zusammenbauen kann, müsste er wählen, ob er damit Menschen betrügen möchte, indem er seine Zahlungen zurückstiehlt, oder ob er damit neue Coins generiert. Er sollte es profitabler finden, sich an die Regeln zu halten, solche Regeln, die ihn mit mehr neuen Münzen begünstigen als alle anderen zusammen, als das System und die Gültigkeit seines eigenen Reichtums zu untergraben.

Diese Aussage von Satoshi ist bestenfalls zweifelhaft. Es setzt voraus, dass ein Angreifer nur an Akkumulation interessiert ist (und nicht etwa an Vandalismus) und dass es wünschenswert ist, einen großen Anteil neu abgebauten Blöcke zu haben, wie einen großen Anteil aller vorhandenen Coins zu haben. Da sich bereits vorhandene Münzen häufen und die Mining-Belohnungen abnehmen, entfernt sich dies immer weiter von der Wahrheit.

Ich habe versucht zu quantifizieren, unter welchen Umständen ein 51%-Angriff in den Kommentaren zu einer Schwesterantwort durchgeführt werden kann und unter welchen Umständen nicht, und ein paar Leute zogen mich auf die mathematischen Vor- und Nachteile zurück. Also dachte ich, ich schreibe das genau auf, bestenfalls beantworte ich die Frage etwas genauer als bisher getan, und schlimmstenfalls mache ich es jemandem leichter, mich genau darauf hinzuweisen, wo ich falsch liege.


Angenommen, Sie kontrollieren etwa die Hälfte der Rechenleistung im Netzwerk und möchten das Netzwerk angreifen. Dafür gibt es im Wesentlichen zwei Möglichkeiten:

  1. Sie können Ihre gesamte Rechenleistung aus der unbeschädigten Blockchain ziehen und sie Ihrem Angriff widmen.
  2. Sie können scheinbar weiterhin am normalen Hashing teilnehmen und versuchen, eine Situation zu erreichen, die Sie ausnutzen können.

Lassen Sie uns zuerst die Mechanik davon diskutieren und dann die Mathematik betrachten:

Strategie 1

Angenommen, es gibt einige Transaktionen, von denen Sie profitieren können, indem Sie sie aus der Blockchain entfernen oder hinzufügen, und es ist Ihnen egal, ob jemand bemerkt, dass Sie einen Angriff vorbereiten. Nehmen Sie zur Vereinfachung an, es handelt sich um eine einzelne Transaktion mit einer Gegenpartei namens Bob, die Sie entfernen möchten. Nehmen wir an, dass die Transaktion N-mal auf der legitimen Kette bestätigt werden muss, bevor Sie zum Angriff bereit sind (z. B. mussten Sie auf N Bestätigungen warten, bevor Sie Fiat im Austausch für einen Coin-Transfer erhalten).

Um eine alternative Kette zu erstellen, die als die längste Kette akzeptiert wird, müssen Sie N Blöcke zurückgehen, einen neuen Block mit Ihrer Änderung hinzufügen und dann Blöcke zur gegabelten Kette hinzufügen, bis sie länger als die legitime Kette ist. Dazu benötigen Sie O(N^2) Blöcke. Während Sie dies tun, veröffentlichen Sie entweder jeden Block der gegabelten Kette und machen so das gesamte Netzwerk auf die Gabelung aufmerksam (nennen Sie es Fall 1.a), oder Sie hören überhaupt auf, Blöcke zu veröffentlichen, und lassen alle wissen, dass Sie sich zurückgezogen haben Ihre Ressourcen aus dem Hashing (nennen Sie es Fall 1.b).

1.a - Strategie 1 mit Veröffentlichung

Sobald Sie dies getan haben, setzen Sie sich Gegenmaßnahmen aus – bevor Sie die richtige Anzahl an Blöcken erreichen. Im Fall 1.a wird der Fork von anderen Akteuren im Netzwerk untersucht. Die Leute werden versuchen, den Fork so schnell wie möglich zu lösen, wenn er unbeabsichtigt ist, und zu erkennen, welche Seite bösartig ist, wenn dies nicht der Fall ist. (Kurze unbeabsichtigte Gabeln wurden in der Vergangenheit durch Vereinbarung zwischen den großen Pools behoben.)

Nun wird Bob offensichtlich auf die (wahrscheinlich große) Transaktion hinweisen, die sich nicht in Ihrer Kette befindet, und Sie können natürlich genauso darauf hinweisen, dass es sich um eine betrügerische Transaktion handelt, die von Bob und seinen bösen Kohorten eingefügt wurde. Er hat jedoch die Tatsache, dass es in N Transaktionen vorgekommen ist, bevor irgendjemand von einem Fork auf seiner Seite wusste. Es wird Ihnen schwer fallen zu erklären, warum es in keinem Block Ihrer Kette auftaucht - ein Großteil des Netzwerks muss es gesehen haben, und da der Fork O (N ^ 2) Blöcke lang ist, ist die Entschuldigung, dass es nicht Noch nicht erreicht, du wirst dich nicht waschen. (Ein weniger ausgeklügelter Angriff, dessen Ziel es ist, Bitcoin zu zerstören, bei dem Sie sich beispielsweise mit dieser Strategie das Geld aller selbst bezahlen, wird an dieser Stelle vollständig scheitern.)

Sobald genügend Leute Ihre Seite der Fork als die korrupte erkennen, „checkpointen“ sie einfach einen Block auf der anderen Seite, vielleicht denjenigen, der zuerst die Transaktion mit Bob enthält. Das bedeutet, dass dieser Block als Wurzel der Kette behandelt wird. Dies wird bereits gelegentlich durchgeführt, wenn Client-Software aktualisiert wird, um den Überprüfungsaufwand für einen Client zu reduzieren. Der Effekt wird sein, dass sich Bitcoin selbst verzweigt, wobei Leute, die Ihre Kette akzeptieren, ein anderes Hauptbuch verwenden als diejenigen, die Ihre Kette unabhängig von der Länge ablehnen. Dies kann für Pools im Wesentlichen sofort und für andere Clients ziemlich schnell durchgeführt werden, obwohl sie möglicherweise Ausfallzeiten erleiden, bis das Problem behoben ist. Solange alle schnell dazu übergehen, Ihre Kette abzulehnen, haben Sie die Kontrolle über eine wertlose Währung Bitcoin A,

1.b - Strategie 1 im Geheimen

Was wäre, wenn Sie Strategie 1.b übernehmen und Ihren Fork geheim halten, bis er lang genug ist, um die „richtige“ Kette zu schlagen? Vermutlich bemerken viele Leute, dass Ihre Hashing-Power nicht mehr da ist. Das wird sie wahrscheinlich beunruhigen, und sie werden versuchen, etwas dagegen zu unternehmen. Die einfachste Antwort ist wieder, einen Block zu „checkpointen“. Abhängig davon, was N vernünftigerweise zu erwarten ist, werden sie eine Vorstellung von N^2 haben und wie lange es dauern wird, bis Sie aufholen. Sie müssen Blöcke überprüfen, mit denen alle (außer Ihnen) zufrieden sind, und zwar häufig genug, um Ihren mutmaßlichen Angriff zu vereiteln. Wenn Sie weiter angreifen wollen, müssen Sie jedes Mal, wenn sie dies tun, eine neue Transaktion generieren und von vorne beginnen.

Im Idealfall möchte die Community Blöcke überprüfen, die etwas älter als N Blöcke sind, damit jeder Zeit hat, sich zu vergewissern, dass er mit den Transaktionen in diesem Block einverstanden ist, und auf keinen Fall warten möchte, bis er in der Nähe von N ^ 2 Blöcken ist ; falls Sie eine Gewinnkette erhalten und vor dem Kontrollpunkt mit der Veröffentlichung beginnen. Da N^2 viel größer als N ist, gibt es viel Spielraum dafür.

Beachten Sie, dass das Scheitern dieser Strategie darauf beruht, dass Sie beim Mining verpasst werden. Wenn ein Angreifer einen geheimen Mining-Pool hat, den niemand kennt und der in etwa so groß ist wie alle bestehenden Minings, kann er mit diesem Angriff erfolgreich sein. (Nennen Sie es einen 101%-Angriff.)

Strategie 2

In Strategie 2. greifen Sie die Kette an, versuchen aber, den Anschein zu erwecken, nicht böswillig zu sein, bis Ihr Angriff erfolgreich war. Die Art und Weise, wie Sie dies tun, besteht darin, zu versuchen, die legitime Kette zu überholen, bevor jemand Ihre Abwesenheit bemerkt. Wenn Sie (ungefähr) die Hälfte der Leistung haben, wird jeder zweite neue Block im Durchschnitt Ihnen gehören, aber es könnte lange Folgen von nur Ihren Blöcken oder nur solchen geben, die nicht Ihnen gehören.

Was Sie tun, ist, sobald Sie Ihre und Bobs Transaktion veröffentlicht haben, versuchen Sie, N + 1 Blöcke zu erstellen, während der Rest des Netzwerks N erstellt. Sie halten all diese geheim, bis die anderen Miner N Blöcke abgebaut haben. und Bob hat das Kokain oder den Leonardo-Cartoon oder was auch immer übergeben, und dann veröffentlichen Sie alle N+1 davon, wodurch Ihre Kette am längsten wird.

Wenn Sie es nicht schaffen, N + 1 zu erreichen, bevor der Rest des Netzwerks N erreicht, werfen Sie Ihren Versuch weg und gehn zurück, um die richtige Kette zu hashen. Sie warten eine Weile, arrangieren dann eine weitere Transaktion mit Bob und versuchen es erneut. Die Zeit, die Sie warten müssen, hängt davon ab, wie unwahrscheinlich es ist, dass N Blöcke hintereinander abgebaut werden, keiner davon von Ihnen.

Ein paar Punkte zu dieser Methode. Zunächst einmal, während Sie in 1.a Ihre gegabelten Blöcke gegenüber dem Rest des Netzwerks rechtfertigen mussten und daher einen Anreiz hatten, Ihre Änderungen so plausibel wie möglich zu machen, können Sie hier beliebige Änderungen vornehmen – sogar Bezahlen Sie sich alle Bitcoins, die es gibt. Niemand wird die gefälschten Transaktionen sehen, bis es zu spät ist.

Was das wirklich bedeutet, ist, dass Sie keinen betrogenen Bob brauchen, der nach einer kleinen Anzahl von Bestätigungen gerne Nicht-Bitcoin-Assets weitergibt, vorausgesetzt , Sie werden gerne in Bitcoin bezahlt. Wenn Sie die Währung sabotieren wollen, können Sie dies tun, und es steht Ihnen tatsächlich frei, N als eine beliebige Zahl zu wählen, die klein genug ist, dass Sie keinen Verdacht erregen, dass Sie Strategie 1.b anwenden. Wenn Sie den Bitcoin nur wollen, um Fiat zu kaufen oder ein Lösegeld zu zahlen, müssen Sie sich an Bob's N halten.

Zweitens müssen Sie abwägen, wie verdächtig Ihr Verhalten ist und wie oft Sie es versuchen müssen. Wenn Sie weit mehr als 50 % haben, sind lange Sequenzen von Blöcken ohne von Ihnen geschürfte verdächtiger, und Sie müssen möglicherweise ein paar Blöcke in der regulären Kette hashen, damit die Dinge normal aussehen. Wenn Sie fast 50 % haben, erscheint es weniger verdächtig, aber es wird schwieriger für Sie, das Rennen um N+1 zu gewinnen. Natürlich hilft das Vergrößern von N in jedem Fall, diesen Angriff zu verhindern.

Drittens könnte Ihnen auch hier viel geheime Kraft helfen, indem Sie das Rennen gewinnen und gleichzeitig weniger offensichtlich machen, dass Sie eher auf Ihrer Gabel als auf der richtigen Kette hashen. Sie könnten versuchen zu beurteilen, wie lohnenswert es ist, geheime Hashing-Kapazitäten für Angriffe bereitzuhalten, anstatt sie zu verwenden, um ehrlich bezahlt zu werden.

Mathematische Analyse

Ich akzeptiere, was einige Leute gesagt haben, dass knapp über oder knapp unter 50 % den Unterschied zwischen einem definitiven Erfolg mit 1.a oder 1.b und nur mit einer geringen Wahrscheinlichkeit ausmachen. Dies folgt nicht aus dem schwachen Gesetz der großen Zahlen, sondern aus der Wiederholungseigenschaft von 1-d Random Walks (ein Unterschied zwischen den beiden besteht darin, dass letzteres anwendbar ist, selbst wenn Sie genau 50% konstant hätten). Ich glaube jedoch argumentiert zu haben, dass es nicht gut genug ist, um schließlich erfolgreich zu sein - die Zeit von O (N ^ 2), die Sie benötigen (was aus dem zentralen Grenzwertsatz stammt), sollte bedeuten, dass Ihr Angriff normalerweise verhindert wird.

Vorausgesetzt, Sie haben dagegen knapp 50 %, sollten Sie mit Strategie 2. erfolgreich sein, unabhängig davon, ob Sie knapp darüber oder knapp darunter sind. Natürlich helfen Ihnen höhere Proportionen und niedrigeres N, aber die Auswirkungen sind jetzt geringer - wenn Sie 1/2 - h haben, für h klein und positiv, sind Ihre Chancen 1/2 - O (h / sqrt (N)) . Das Central Limit Theorem funktioniert in die entgegengesetzte Richtung – selbst mit einer leicht gegen Sie gerichteten Münze ist es nicht unwahrscheinlich, dass Sie ein kurzes Rennen mit einem einzigen Wurf gewinnen.

Sie könnten auch verschiedene einfache Dinge tun, z. B. nur dann einen Angriff starten, wenn Sie den ersten Block vor den anderen Minern erhalten, oder nur, wenn Sie die ersten beiden Blöcke erhalten usw. Ob dies eine gute Idee ist und wie genau abgestimmt werden muss Dieser Angriff hängt davon ab, wie misstrauisch die Leute sind und/oder wie entgegenkommend Bob ist.

Wenn Sie auf Zerstörung aus sind, können Sie N auf Ihre eigene Kapazität optimieren - wenn Sie weniger als 50 % haben, können Sie kurze Rennen viel besser gewinnen als lange.

Fazit

Zuallererst sollten Sie so viele Bestätigungen verwenden, wie Sie sich leisten können, wenn Sie glauben, dass Ihre Transaktion diejenige sein könnte, die GHash.io dazu anregt, abtrünnig zu werden. Zweitens muss es Leute da draußen geben, die nach ungewöhnlichen Mustern von Mining-Aktivitäten suchen, insbesondere große Miner, die aus dem Netzwerk verschwinden.

Seien Sie jedoch gewarnt, dass eine mutwillige Zerstörung von Bitcoin bereits unter einer Konzentration von 50 % sehr wahrscheinlich ist und dass jede Art von Angriff leicht passieren kann, wenn jemand über große und geheime Machtreserven verfügt (dies gilt für viele Altcoins, wenn ihr Arbeitsnachweis dies kann effizient auf Bitcoin-Hardware durchgeführt werden).

Der Angreifer muss Konsequenzen haben, die groß genug sind, um den Schlag seines eigenen Angriffs zu spüren.

Um die Konsequenz für ihn zu schaffen: Der Wähler (Trusted Node/Full Node) muss Bitcoin haben, und je mehr Bitcoin der Node hat, desto mehr Stimmrecht (mehr Vertrauen haben sie). Wenn der Angreifer beispielsweise wirklich das gesamte Bitcoin-Netzwerk töten will, muss er mindestens 51 % der Bitcoins im Umlauf haben. Wenn ein Bitcoin-Netzwerk 100 Milliarden Dollar wert ist. Er muss es im Wert von 50 Milliarden Dollar kaufen. Versuchen Sie, das Netzwerk zu töten, und er wird seine 50 Milliarden Dollar verlieren. Ja, andere werden etwas an Wert verlieren, aber er wird viel mehr an Wert verlieren, und wir können eine weitere Kryptowährung starten.

Es muss kein lineares 1 Bitcoin = 1 Stimmrecht sein. Es kann eine Funktion sein. wie Stimmrecht = root2 (Bitcoin) oder andere Funktionen.

Das einzige Problem dabei ist, dass die meisten Leute einen zentralisierten Knoten verwenden (weil sie entweder einen leichten Knoten verwenden und keine Ressourcen für einen vollständigen Knoten verschwenden wollen), sodass ihre Stimmrechte irgendwo zentralisiert sein und vom verwendet werden können Angreifer zum Angriff (unter der Annahme, dass mehr Bitcoin = mehr Stimmrecht). Die Lösung hierfür besteht wahrscheinlich darin, eine Verlangsamungsfunktion (wie die Root-Funktion) anzuwenden, um ihre Stimmkraft zu begrenzen. Aber dann kann der Angreifer viele Brieftaschen mit kleinem Wert verwenden, um die große zentralisierte Brieftasche zu untergraben. (Alles in Maßen Taktik, zu viel oder zu wenig ist nicht gut) Also sollten wir auch das Stimmrecht derer senken, die sehr wenig Bitcoin in ihrem Knoten haben – siehe Bild.

Was passiert also mit dem Knoten, der kein Bitcoin hat? Es wird sowieso nutzlos sein, weil sie aus dem Netzwerk saugen werden. Ich würde sagen, ihnen überhaupt keine Bandbreite und Stimmrechte zuzuweisen, da sie ohnehin kein Bitcoin verwenden und nur Netzwerkressourcen verschwenden. Lassen Sie sie vielleicht eine Referenz mit niedriger Priorität sein, nur um sie ein wenig nützlich zu machen.

Gleiches gilt für die Miner. Wir sollten eine ähnliche Funktion wie auf dem Bild zuweisen. Wir wollen nicht, dass große Bergleute das Netzwerk zentralisieren und am Ende zu viel Macht haben, um das Netzwerk zu ruinieren. Da die Bitcoin-Community von den Menschen und für die Menschen ist; Das ist der Sinn der ganzen Sache mit der Dezentralisierung, nicht wahr? Damit wir nicht von der Großmacht schikaniert werden, die alles zentralisieren will. Wir sollten definitiv die große Macht begrenzen, ebenso wie die nutzlosen Leute, die Bitcoin nicht verwenden und aus dem Netzwerk saugen und die echte Gemeinschaft als Ganzes verlangsamen.

Siehe das Bild unten:Bitcoin Stimmrecht

Kann dies auch beim Umgang mit dem DDOS-Angriff helfen?