Was kann ein Angreifer mit 51 % Hash-Power tun?

Angenommen, Organisation X hat 51 % der Hash-Power für einen Zeitraum von 1 Woche. Was genau kann X in dieser Woche tun und was nicht?

Beachten Sie, dass es einige Angriffe geben kann, wie z. B. Selfish Mining , die < 51 % erfordern.
Ich bin gestern über ein kurzes/lustiges Videointerview von Andreas Antonopoulos zum 51% Bitcoin Attack gestolpert. Das könnte Sie interessieren. youtube.com/watch?v=ncPyMUfNyVM

Antworten (7)

Tatsächlich ist es sehr einfach, dem Netzwerk Schaden zuzufügen, sobald Sie 51 % haben; Bauen Sie einfach Ihre eigene Kette auf, die schneller ist als das Netzwerk, und übertragen Sie sie, wann immer Sie möchten. Wenn Sie einige Ihrer Münzen an eine neue Adresse in Ihrer eigenen Kette senden, werden alle Transaktionen, die im Live-Netzwerk durch die Ausgabe derselben Münzen ausgegeben wurden, in dem Moment rückgängig gemacht, in dem die längere Kette gesendet wird.

Direkt aus dem Bitcoin-Wiki (wahrscheinlich von vielen Augenpaaren Korrektur gelesen):

Ein Angreifer, der mehr als 50 % der Rechenleistung des Netzwerks kontrolliert, kann für die Zeit, in der er die Kontrolle hat, die Reihenfolge der Transaktionen ausschließen und ändern. Dies ermöglicht ihm:

  • Stornieren Sie Transaktionen, die er sendet, während er die Kontrolle hat
  • Verhindern Sie, dass einige oder alle Transaktionen Bestätigungen erhalten
  • Verhindern Sie, dass einige oder alle anderen Generatoren Generationen erhalten

Der Angreifer kann nicht:

  • Stornieren Sie die Transaktionen anderer Personen
  • Verhindern Sie, dass Transaktionen überhaupt gesendet werden (sie werden als 0/unbestätigt angezeigt)
  • Ändern Sie die Anzahl der pro Block generierten Coins
  • Erstellen Sie Münzen aus dem Nichts
  • Senden Sie Münzen, die ihm nie gehört haben

Es ist viel schwieriger, historische Blöcke zu ändern, und es wird exponentiell schwieriger, je weiter man zurückgeht. Wie oben können Sie durch Ändern historischer Blöcke nur die Reihenfolge von Transaktionen ausschließen und ändern. Es ist unmöglich, Blöcke zu ändern, die vor dem letzten Kontrollpunkt erstellt wurden.

Da dieser Angriff nicht allzu viel Macht über das Netzwerk zulässt, wird erwartet, dass niemand ihn versuchen wird. Eine gewinnorientierte Person wird immer mehr gewinnen, wenn sie nur die Regeln befolgt, und selbst jemand, der versucht, das System zu zerstören, wird wahrscheinlich andere Angriffe attraktiver finden. Wenn dieser Angriff jedoch erfolgreich ausgeführt wird, ist es schwierig oder unmöglich, das entstandene Durcheinander zu „entwirren“ – alle Änderungen, die der Angreifer vornimmt, können dauerhaft werden.

aus der Dokumentation: Der Client akzeptiert die „längste“ Blockkette als gültig. Die „Länge“ der gesamten Blockchain bezieht sich auf die Kette mit der größten kombinierten Schwierigkeit, nicht auf die mit den meisten Blöcken. Dies verhindert, dass jemand die Kette verzweigt und eine große Anzahl von Blöcken mit geringem Schwierigkeitsgrad erstellt und vom Netzwerk als „längste“ akzeptiert wird.
Ja sicher. Länger ist im Sinne von Proof-of-Work gemeint.
Ein 51%-Angreifer kann Münzen von SegWit-Adressen stehlen.
Wie würde ein Angreifer einen historischen Block ändern?
@IlyaSaunkin, wie würde ein Angreifer einen Block mit geringem Schwierigkeitsgrad erstellen? Müsste er nicht immer noch die zufällige Nonce in jedem Block finden, um von allen genehmigt zu werden, sobald der Fork wieder zusammengeführt wird?
@JoeMB Zwei Jahre zu spät, aber um Ihre Frage für alle zu beantworten, die über diesen Thread stolpern: Bergleute versuchen verschiedene Nonces, in der Hoffnung, eine zu finden, die dazu führt, dass der numerische Wert des Hashs des Block-Headers niedriger ist als ein Schwierigkeitsziel. Dieses Schwierigkeitsziel wird basierend auf der Netzwerk-Hashrate dynamisch angepasst. Das Ziel geben Sie im Blockheader an. Bitcoin-Knoten werden Blöcke mit künstlich niedrigem Schwierigkeitsgrad ablehnen, um Betrug zu verhindern.
wie ist das so? @MCCCS
@JohnD Kurz nachdem SegWit aktiviert wurde, aber nicht viel später, können Bergleute die Soft Fork umkehren und die Münzen ausgeben, die jeder für ältere Kunden ausgeben kann, aber sichere Segwit-Ausgänge für neuere Kunden, was zu einer Kettenspaltung führen würde, und wenn 51% SegWit umkehren möchten, Börsen, die ihre Kunden noch nicht aktualisiert haben, würden der Kette mit dem höchsten angesammelten PoW folgen, in der Bergleute SegWit-Ausgaben ausgeben könnten, wo immer sie wollen. Dies ist nicht möglich, wenn alle Kunden und Unternehmen SegWit am Tag 1 übernehmen, aber da SegWit als Soft Fork konzipiert wurde, ist ein 51%iger Angriff durch Bergleute nicht durchführbar
würden weiterhin ältere Software beschädigen, bis sie bankrott gehen. Da SegWit jedoch heute mehr oder weniger überall eingesetzt wird, hätte ein solcher undurchführbarer Angriff nur geringe Auswirkungen. Es wäre hilfreich zu lesen, wie SegWit als Soft Fork funktioniert, um zu verstehen, was ich beschrieben habe.
> Da dieser Angriff nicht allzu viel Macht über das Netzwerk zulässt, wird erwartet, dass niemand ihn versuchen wird. * * * Er er. Die ersten aufgeführten „Mächte“ würden eine Zentralisierung des Protokolls ermöglichen, sodass ein Agent auf staatlicher Ebene es höchstwahrscheinlich versuchen kann und wird, wenn er es aus politischer Sicht interessant findet. Sie würden Bitcoin im Grunde in eine reguläre staatlich kontrollierte Währung verwandeln.

Theoretisch besitzt dieser Angreifer genug Rechenleistung, um einen „Double Spend“-Angriff auszuführen. Sie könnten Münzen an einem Ort ausgeben, den Münzen erlauben, wie gewohnt in die Blockchain einzutreten, bis die erforderlichen Bestätigungen erfüllt sind, und dann ihre 51 % der Miner anfeuern, um einen betrügerischen Fork der Blockchain zu erstellen, in dem diese Münzen nie ausgegeben wurden , sodass sie die Münzen erneut ausgeben können. Dies könnte theoretisch so lange wiederholt werden, wie der Angreifer die Kontrolle über 51 % oder mehr der Hashrate behält.

Realistisch gesehen sind 51 % nur der Punkt, an dem dies möglich wird, nicht der Punkt, an dem es wahrscheinlich oder einfach wird . Ein Angreifer würde wahrscheinlich etwa 65 % benötigen, um einen solchen Angriff tatsächlich auszuführen.

Könnten Sie klarstellen, ob diese Zahl von 65 % eine erfundene Zahl ist, die auf etwas basiert? Ich vermute, es könnte eine Kurve geben, die die Wahrscheinlichkeit des Erfolgs im Vergleich zum Prozentsatz der Hashing-Leistung darstellen könnte, aber ich kenne die Details nicht gut genug, um sicher zu sein ...
Wird das Warten auf weitere Bestätigungen die Wahrscheinlichkeit einer erfolgreichen Doppelausgabe verringern, wenn ein Angreifer eine Woche lang konstant 51 % hat?
Die 65 % sind eine erfundene Zahl, kaum mehr als eine halbwegs gebildete Vermutung. Wenn jemand echte Mathematik zu teilen hat, würde ich meine Antwort gerne ändern, um sie einzuschließen. Das Warten auf Bestätigungen wird helfen, aber nur so viel. 51 % oder mehr verleihen dem Angreifer eine gewisse Chance, einen Block zu bilden. Wenn der Angreifer eine Woche lang 100 % hätte, könnte er in dieser Zeit die Blockaden einer Woche rückgängig machen. 51 % würden einen Dieb wahrscheinlich nur eine kleine Handvoll Blöcke rückgängig machen lassen, wenn es so viel ist - auch hier, wenn jemand die Mathematik hat, um dies zu belegen, posten Sie es bitte.
51 % würden einem Angreifer erlauben, beliebig viele Blockierungen rückgängig zu machen und eine Transaktion rückgängig zu machen, egal wie viele Bestätigungen sie hat. Sie übertragen einfach die Transaktion, die sie rückgängig machen möchten, in die öffentliche Blockchain und eine widersprüchliche Transaktion in ihre private Blockchain. Sie warten dann, bis so viele Bestätigungen wie nötig vorhanden sind. Sie warten dann, bis ihre private Blockchain länger ist als die öffentliche Blockchain, was sie schließlich mit immer größerer Wahrscheinlichkeit sein wird. Sobald ihre Kette länger ist, kündigen sie es an und ihre Kette gewinnt.
Nun, die Frage gibt eigentlich an, welcher Schaden in einer Woche angerichtet werden kann . Es scheint, dass keine der Antworten, einschließlich dieser, dies berücksichtigt haben.

Und dann gibt es noch die Denial-of-Service-Möglichkeit, sich plötzlich aus dem Dienst zurückzuziehen, die notwendigen Rechenressourcen wegzunehmen, um weiterhin alle zehn Minuten Blöcke zu lösen, bis die Schwierigkeit wieder heruntergeregelt wird (was bei nur einem Block sehr lange dauern kann jeden Tag zum Beispiel).

Dafür bräuchte man natürlich weit mehr als 51% Hashpower.

Wenn alle 10 Minuten Hashes erstellt werden und 51% das Netzwerk verlassen, werden etwa alle 20,4 Minuten Hashes erstellt, sodass diese Antwort falsch ist (oder viel mehr als 51% annimmt und daher die Frage nicht beantwortet).
@Artem: Ja, ich habe versucht, das im letzten Satz zu vermitteln. Entschuldigung, wenn das unklar war. Ich verschiebe die Antwort auf die Frage "Was kann ein Angreifer mit 95 % Hash-Power tun?" einmal gefragt ;-)

Jeder, der 51 % des Netzwerks besitzt, wird massiv in Hardware und Systeme investiert haben, um eine Maschine zu organisieren und zu konstruieren, die in der Lage ist, einen solchen Angriff auszuführen. Wenn ihr Motiv der Gewinn ist, dann wird ihnen der kurzfristige Gewinn, der mit der Verzweigung der Blockkette verbunden ist, um „doppelte Ausgaben“ zu ermöglichen, einen vernachlässigbaren Vorteil einbringen; Es ist schwer vorstellbar, dass sie diese Strategie auf der Grundlage verfolgen würden, dass die daraus resultierende Instabilität letztendlich genau die Münzen entwerten wird, die sie „zweimal ausgeben“ wollen. Wenn ihr Motiv darin besteht, Bitcoin zu zerstören, Punkt, das ist eine ganz andere Sache. Diese Art von Techno-Vandalismus könnte vernünftigerweise nur von jemandem motiviert werden, dessen Hauptmotiv Zerstörung und Störung sind.

Stattdessen gehe ich davon aus, dass es viel wahrscheinlicher ist, dass eine so massive und leistungsstarke Rechenressource (Bitcoin-Supercomputer) verwendet wird, um den Großteil des Netzwerks innerhalb der Grenzen seiner beabsichtigten Verwendung mit Strom zu versorgen und langfristig von Generierungsprämien und Transaktionsgebühren zu profitieren, als Das Netzwerk wächst und gedeiht im Laufe der Zeit.

"wird eine massive Investition in Hardware und Systeme getätigt haben": Basierend auf diesem und folgenden implizieren Sie gewissermaßen, dass der Angreifer riesige Mengen an realem Geld und Ressourcen investieren müsste. Das muss nicht wahr sein: 1) Angreifer können einen überhöhten Wert einer vorab geschürften virtuellen Währung verwenden; 2) betrügerisches technisches Engineering (z. B. automatisch aufgebautes Botnet); 3) Social Engineering, wie das Einladen von Minderheitsbenutzern zur Teilnahme an „Mining-Pools“, im Wesentlichen Anreize für Benutzer, freiwillig in Ad-hoc-Botnets gesteckt zu werden, die von Pool-Eigentümern orchestriert werden.

Die bisherigen Antworten konzentrieren sich auf den Algorithmus selbst, ich möchte noch ein paar sozialökonomische Gedanken hinzufügen.

Nehmen wir an, Bitcoin ist enorm beliebt und wird tatsächlich DIE globale Go-to-Währung, an diesem Punkt werden diese und ähnliche Fragen (sehr) relevant.

Was in reifenden Industrien passiert, ist, dass durch Kommerzialisierung und Fusionen immer weniger Akteure übrig bleiben. Durch Größenvorteile wird diese kleine Anzahl von Akteuren in der Lage sein, Dienstleistungen zu niedrigeren Kosten anzubieten und kleinere Akteure zu verdrängen. Ich sehe wenig Grund, warum die Branche der Bitcoin-Transaktionsverarbeitung von dieser allgemeinen Regel ausgenommen sein wird.

Als nächstes können wir nicht jeden Aspekt der Zukunft vorhersehen, obwohl die Bitcoin-Designer hervorragende Arbeit geleistet haben, wird es Situationen geben, die Änderungen am System erfordern. Zum Beispiel könnte es einen Aufruf von der Bevölkerung geben, Kinderpornonetzwerke zu stoppen, Kapitalunterschlüpfe für die Reichen zu stoppen, übermäßig profitable und mächtige Unternehmen zu stoppen, ... usw., was auch immer. Ob gerechtfertigt oder nicht, das Volk wird Veränderungen fordern, nicht unbedingt ein schurkisches Regierungsindividuum, das Volk.

Da es nur wenige Akteure gibt, ist es tatsächlich möglich, die Branche zu regulieren. Beispielsweise könnte die Regelung lauten, dass nur Zahlungen mit nachvollziehbarer Kontonummer verarbeitet werden, oder nur Zahlungen mit angehängten Gebühren, die einen Steueranteil enthalten.

Ich denke, die Regierung könnte sogar Änderungen am Kern des Algorithmus verlangen. Zum Beispiel verhindern, dass „nicht zertifizierte“ Spieler teilnehmen, wodurch die Macht der bestehenden Zahlungsabwickler weiter gestärkt wird.

Die neu gewählten Monopolisten werden dann in der Endphase der kapitalistischen Selbstzerstörung langsam aber stetig ihre Verarbeitungspreise erhöhen, die Kunden schließlich vertreiben und dazu führen, dass der Bitcoin niemals den deflationären Status erreicht, den viele Befürworter und frühe Investoren behaupten.

Und hoffen wir einfach, dass es so endet, ein Forking-Szenario könnte sein, dass der Bitcoin den Status „too big to fail“ erreicht und die Leute weitere Regulierungen fordern (von Bearbeitungsgebühren, Mining-Speed-Caps usw.). Wir alle werden weiterhin einen Aufpreis für die Existenz der Währung zahlen, nur um der Stabilität willen und aus Angst vor einer Störung des Status quo. Genau wie bei den heutigen Währungen.

Ich versuche nicht, skeptisch zu sein, ich bin eigentlich sehr zuversichtlich, dass die Kryptowährungen bei der Globalisierung helfen und die Menschheit voranbringen werden. Als deflationäre Währung, um "einfach" für die (frühzeitige) Rente zu sparen, bin ich mir nicht so sicher. Als Transaktionssystem wahrscheinlich in gewisser Weise.

Vielleicht brauchen wir nicht wirklich eine "Währung", vielleicht brauchen wir nur eine Transaktion. Vielleicht kann es eine Superschicht über mehreren konkurrierenden Kryptowährungen geben, die Ihr Geld schnell und automatisch zwischen dem am besten geeigneten Mix aus Währungen und Investmentfonds hin und her wechselt. Was Sie wirklich interessiert, ist, wie Ihr Gehalt in Waren und Zukunftsversprechen eingetauscht wird.

Da die verschiedenen Regierungen wahrscheinlich unterschiedliche Interessen haben würden, scheint es unwahrscheinlich, dass eine Regierung etwas vom Bitcoin-Projekt verlangen könnte.
@Murch: Angesichts der Tatsache, dass Miner stark in wenigen Ländern ansässig sind, könnte sich eine Handvoll Regierungen darauf einigen, einen Großteil der Hashpower zu kapern und so die Regeln nach eigenem Ermessen zu ändern (z. B. einen Teil der Transaktionsgebühr zu erheben, um sie zu versteuern).
Die Miner-Zentralisierung ist in der Tat ein großes Problem, obwohl sie dies nur den Unternehmen in ihrem Zuständigkeitsbereich und wahrscheinlich nicht dem Netzwerk selbst auferlegen könnten. Wahrscheinlich würde das Netzwerk mit einer Änderung des Proof-of-Work-Algorithmus antworten, wenn dies zu einem großen Hindernis für den Transaktionsverkehr wird.
In diesem Szenario wird davon ausgegangen, dass diese Gruppe von Unternehmen 51 % der Hash-Power des gesamten Netzwerks hat und aufrechterhalten kann. Eine Globalisierung dieser Größenordnung existiert nicht und ich glaube nicht, dass sie jemals realisierbar sein wird

Ich vermute, dass er in der Lage sein könnte, mehr als 51 % der Blöcke abzubauen. Siehe Kann jemand mit 51 % Rechenleistung mehr verdienen, als er verdient?

Recht. Wenn Sie mehr als die Hälfte der Blöcke abbauen, können Sie andere am Abbau hindern. Irgendwann wird die Schwierigkeit sinken und Sie werden alle zehn Minuten einen Block abbauen.
Sie sollten erwägen, den von Ihnen angegebenen Link zu zitieren: Link-Antworten sind lästig und von schlechter Qualität

Ein 51-Prozent-Angriff würde die Währung einfach zerstören, und jeder, der eine Short-Position hält, würde 100 % Gewinn machen. Es gibt also einen starken finanziellen Anreiz für diesen Angriff, und er ist viele Male passiert.

Es wurde noch nie auf Bitcoin ausgenutzt.
Warum wird diese Antwort abgelehnt? Es ist absolut wahr mit der Schaffung von BTC-Futures. Für @RaghavSood gibt es Terminbörsen (große) erst seit etwa einem Jahr (ohne Bitmex). Wenn es die aktuellen Terminbörsen seit der Geburt von Bitcoin im Jahr 2009 gegeben hätte, würde ich sicher wetten, dass der Exploit in Betracht gezogen und wahrscheinlich sogar versucht wurde.