Egoistische Miner in Kombination mit großen Transaktionen zerstören PoW?

BEARBEITEN Es gibt eine klarere Beschreibung einiger Teile des Problems in den Linkfragen.


Wenn es einen Transaktionswert gibt, der viel höher ist als die Zahlung für das Schürfen von 10 neuen Blöcken, wie können Sie dieser Transaktion vertrauen?

Um mehr ins Detail zu gehen. Wenn ich ein böser Junge bin und mit einer Proof-of-Work-Kryptowährung eine große Summe bezahle. Groß bedeutet, dass der Wert viel höher ist als die Zahlung für das Mining von 10 neuen Blöcken. Danach warte ich einige Zeit – zum Beispiel so lange, dass zwischendurch 10 neue Blöcke geschürft werden – damit jeder denkt, die Transaktion sei sicher. Dann besteche ich die Miner mit dem halben Wert meiner Transaktion, um eine neue Kette ohne meine Transaktion zu erstellen. Da die Hälfte des Wertes meiner Transaktion sehr viel ist und die Miner egoistisch sind, werden sie die neue Kette erstellen, um auf diese Weise mehr Zahlung zu erhalten.

Gibt es eine Lösung für solche Angriffe bei der Konstruktion einer beliebigen Kryptowährung, die mit Proof-of-Work arbeitet?

Die einzige Lösung, die ich sehe, ist, dass wir nur Transaktionswerten vertrauen, die mit Mining-Kosten vergleichbar sind. Aber dann ist die Kryptowährung sehr ineffizient.

Wie werden Sie Bergleute bestechen, um eine Abzweigung 10 Blocks hinter der aktuellen Spitze zu erstellen? Sie werden eine hohe Gebühr auf diese Transaktion erheben. Warum würden Bergleute diese Transaktion nicht in den Block über dem aktuellen Tipp aufnehmen?
Ich würde die Miner im wirklichen Leben nicht mit einer hohen Gebühr bestechen, die jeder merkt. Und ein Teil der Bestechung besteht darin, dass die Miner den Fork erstellen.
Sie geben ihnen also eine doppelte Belohnung von 10 Blöcken, wenn sie 10 Blöcke erstellen, die Sie erstellen möchten?
Ja zum Beispiel vielleicht auch viel mehr als 2x.
Guter Angriff. Nun ja, es sieht so aus, als würden Sie der Transaktion, die X BTC bezahlt hat, erst vertrauen, nachdem sie durch eine kumulative Blockbelohnung in einer Größe vergleichbar mit X begraben wurde?
Aber dann brauchen wir irgendwo eine Zahlung X von Mining-Kosten (Energie!), um Vertrauen in eine Transaktion mit Wert X zu bekommen, das scheint Unsinn zu sein.
Keine vollständige Antwort, aber hier ist ein relevantes Papier: cs.umd.edu/~gasarch/reupapers/bitcoin.pdf
@PieterWuille Ja, es gibt ein ähnliches Angriffsszenario, aber Berechnungen dort helfen nicht. Sie sagen, wenn ich die Mehrheit der Bergleute besteche und sie wissen, dass die anderen auch bestochen werden, sind die Kosten für den Angriff größer als 0. \delta=0 in der Zeitung. Aber das ist trivial.

Antworten (3)

Ich denke, was Sie beschreiben, ist ein 51%-Angriff, aber mit einem Dritten, der kein Miner ist, der das „schlechte Verhalten“ des Miners anregt. Selbst mit einer Off-Blockchain-Bestechung würden Sie mehr als 51 % der Miner benötigen, damit dieser Angriff funktioniert (andernfalls würde die „ursprüngliche Kette“ der „bestochenen Kette“ immer davonlaufen).

Wenn also ein „egoistischer“ Miner diesen Angriff durchführen wollte, wäre es meiner Meinung nach sinnvoller, ihn für seine eigene Transaktion zu tun, nicht für jemand anderen. Die Durchführung dieses Angriffs unter Beteiligung eines Dritten erhöht nur das Risiko für den Miner (was ist, wenn der Dritte das Bestechungsgeld nicht zahlt? usw.). Ich denke, es ist sinnvoller, wenn ein Miner den Angriff einfach selbst durchführt: 1000 BTC an eine Börse senden, in Altcoin umwandeln, abheben und dann die BTC-Kette zurücksetzen, um die Transaktion zu entfernen, die Coins an die Börse geschickt hat.

Es gibt einen Grund, warum diese Art von Angriff nicht stattgefunden hat: Miner sehen es auf lange Sicht als weniger profitabel an.

Aber die Frage bleibt: Warum „sehen Miner es auf lange Sicht als weniger profitabel an.“?
Weil die Bergleute glauben, dass sie den größten Gewinn erzielen, indem sie das Bitcoin-Netzwerk weiterhin sichern, anstatt nur ein schnelles Bestechungsgeld anzunehmen und zuzusehen, wie das öffentliche Vertrauen in das Netzwerk sinkt (dh Preisverfall). Bergleute erwarten, dass sie viel länger als die nächsten zehn Blöcke von ihrer Ausrüstung profitieren werden, die Bestechung müsste riesig sein, mindestens so groß wie 51 % der Bergbaubelohnung für das nächste Jahr oder mehr.
Das ist nur ein technisches Argument. Vielleicht gibt es eines Tages (heute?) ein Altcoin-Resistenzszenario gegen Angriffe, das Bergleute abbauen können, wenn die PoW-Währungen sinken, also geht es bei der Bestechung nur um die Belohnung während des Angriffs.
Ich glaube nicht, dass die Existenz einer alternativen Münze mit dieser Eigenschaft Miner dazu anregen würde, diesen Angriff durchzuführen. Technische Benutzer verstehen vielleicht gut genug, um zu einer „sichereren“ Münze zu migrieren, aber die breitere Öffentlichkeit würde das Vertrauen in Kryptowährungen verlieren, sodass die „Marktkapitalisierung der Branche“ sinken würde. Also noch einmal, ich glaube nicht, dass Miner diesen Angriff wählen würden
Ok, aber selbst wenn wir denken, dass Hardware danach wertlos ist, können wir eine Short-Position nutzen und so hohe Gewinne und Bestechungsgelder erhalten, dass die Miner kein Interesse daran haben. Ich habe eine Berechnung auf bitcointalk.org/index.php?topic= durchgeführt 2512771.0 . Sie sollten mit dem Lesen im Block über die Berechnungen beginnen.
Je komplizierter Sie den Plan machen, desto höher ist das Risiko, dass er nicht funktioniert. Was ist, wenn die Börse, die Sie zu kurz nutzen, aufgrund eines DOS-Angriffs ausfällt, der durch Marktpanik verursacht wird, wenn die Leute zum Ausstieg rennen? Am sichersten ist es, kooperativ abzubauen. Ich habe eine ähnliche Frage gepostet, auf die Sie geantwortet haben, darin sieht die grobe Mathematik vor, dass 51 % der jährlichen Mining-Belohnung auf ~ 3,3 Milliarden US-Dollar festgelegt sind. Die Bergleute würden erwarten, dass ihre Position auf dem Markt in den kommenden Jahren weiterhin Gewinne abwerfen wird (da sie wieder in ihren Betrieb investieren), daher müsste die Bestechung meiner Meinung nach im 11-stelligen Bereich liegen, um verlockend zu sein. Das ist eine Menge!

Lassen Sie uns dies unter der Annahme durchspielen, dass die Blockbelohnung plus Gebühren im Durchschnitt 15 BTC beträgt. Dies würde 10 Blöcke im Wert von etwa 150 BTC ergeben.

Angriff Nr. 1 – Anreiz für eine einzelne Transaktion:

  1. Alice hat 600 BTC in Adresse A
  2. Alice sendet alle 600 BTC von Adresse A an Bobs Adresse B
  3. Bob wartet 6 Blocks und überschreibt dann seine Villa an Alice
  4. Alice fährt zu ihrem Versteck und wartet bis zum 10. Block
  5. Alice postet eine neue Transaktion von Adresse A und sendet 300 BTC an Adresse C mit Mining-Gebühren von 300 BTC
  6. Bergleute sehen, dass die Transaktion die Blockchain zurückspulen und sich an die Arbeit machen, um diese Gebühr zu erhalten.
  7. Ein Miner findet diesen Block und vergibt sich diese Gebühr.
  8. Diese Kette ist jetzt 9 Blöcke hinter der ursprünglichen Kette ohne zusätzlichen Anreiz, dort zu bleiben, also springen die Miner zurück zur ursprünglichen Kette.

Ergebnis: Diese Angriffsmethode funktioniert nicht, da der Fork aufgegeben wird.

Angriff Nr. 2 – Multi-Transaktions-Anreiz:

  1. Alice hat 6000 BTC in Adresse A
  2. Alice sendet alle 6000 BTC von Adresse A an Bobs Adresse B
  3. Bob wartet 6 Blocks und überschreibt dann seine 10 Villen an Alice
  4. Alice fährt zu ihrem Versteck und wartet bis zum 10. Block
  5. Alice postet eine neue Transaktion von Adresse A und sendet 5700 BTC an Adresse C mit Mining-Gebühren von 300 BTC
  6. Bergleute sehen, dass die Transaktion die Blockchain zurückspulen und sich an die Arbeit machen, um diese Gebühr zu erhalten.
  7. Ein Miner findet diesen Block und vergibt sich diese Gebühr.
  8. Im 2. Block sendet Alice 5400 BTC von C nach D mit einer Gebühr von 300 BTC
  9. Im 3. Block sendet Alice 5100 BTC von D nach E mit einer Gebühr von 300 BTC
  10. Im 4. Block sendet Alice 4800 BTC von E nach F mit einer Gebühr von 300 BTC
  11. Im 5. Block sendet Alice 4500 BTC von F nach G mit einer Gebühr von 300 BTC
  12. Im 6. Block sendet Alice 4200 BTC von G nach H mit einer Gebühr von 300 BTC
  13. Im 7. Block sendet Alice 3900 BTC von H an I mit einer Gebühr von 300 BTC
  14. Im 8. Block sendet Alice 3600 BTC von I nach J mit einer Gebühr von 300 BTC
  15. Im 9. Block sendet Alice 3300 BTC von J an K mit einer Gebühr von 300 BTC
  16. Im 10. Block sendet Alice 3000 BTC von K nach L mit einer Gebühr von 300 BTC
  17. Im 11. Block sendet Alice 2700 BTC von L nach M mit einer Gebühr von 300 BTC
  18. Die gegabelte Kette ist jetzt 1 Block vor der ursprünglichen Kette, sodass der normale Anreiz dazu führt, dass Miner auf der gegabelten Kette bleiben.

Ergebnis: Auf dem Papier profitieren Miner und Alice von dieser Angriffsmethode. In der Praxis greift dieser Angriff jedoch aus mehreren Gründen immer noch zu kurz:

  1. Wie werden Miner im ersten Block des Forks wissen, dass Alice weiterhin den Anreiz bieten wird, der erforderlich ist, um diesen Fork am Leben zu erhalten? Wenn Alice zu irgendeinem Zeitpunkt aufhört, werden alle potenziellen Gewinne verschwinden, wenn die Bergleute zur ursprünglichen Kette zurückkehren. Eine Möglichkeit ist, dass Alice alle 11 Transaktionen vorveröffentlicht.
  2. Da die Blockchains öffentlich bekannt sind, würde ein erfolgreicher Angriff dieser Größenordnung das öffentliche Vertrauen in Bitcoin erschüttern. Dies liegt daran, dass Benutzer nicht mehr darauf vertrauen können, dass 6-Blöcke ausreichen, um zu wissen, ob eine Transaktion akzeptiert wurde oder nicht, da 10-Blöcke von Transaktionen mit diesem Angriff rückgängig gemacht wurden. Dies würde das grundlegende dezentrale Vertrauen in Bitcoin untergraben und das System zum Absturz bringen, in das die Bergleute so stark investiert sind. Obwohl die Bergleute kurzfristig mehr Bitcoin hätten, würde diese Bitcoin stark abgewertet. Darüber hinaus wird es die gesamte Plattform untergraben, in die sie so stark investiert sind, was ihren Interessen zuwiderläuft.

Daher wird es langfristig nicht im besten Interesse der Bergleute sein, sich an einem solchen Angriff zu beteiligen.

Der einzige Weg, wie es möglicherweise funktionieren würde, wäre, wenn eine Mehrheit der Bergleute möchte, dass Bitcoin scheitert, und in diesem Fall hat Bitcoin viel größere Probleme.

Angriff Nr. 3 – Bestechung ohne Transaktionsgebühr:

  1. Alice hat 600 BTC in Adresse A
  2. Alice sendet alle 600 BTC von Adresse A an Bobs Adresse B
  3. Bob wartet 6 Blocks und überschreibt dann seine Villa an Alice
  4. Alice fährt zu ihrem Versteck und wartet bis zum 10. Block
  5. Alice besticht alle Bergleute, um zu einer gegabelten Kette zu wechseln. Wenn dies auf der Kette von Wallet A wäre, würde es wie folgt aussehen:
    1. Für alle Bergleute, die in den 10 Blöcken Blockbelohnungen und Gebühren verdient haben, zahlt sie ihnen diesen Betrag für eine Gesamtsumme von 150 BTC
    2. Für alle Miner auf der Welt zahlt sie ihnen den Bruchteil der Hashing-Power, die sie von den verbleibenden 150 BTC haben
  6. Miner sehen diese Transaktion, von der sie alle profitieren, spulen die Blockchain zurück und machen sich an die Arbeit, um diese Transaktion zu erhalten.
  7. Alle Bergleute bleiben in dieser Kette, da sie alle mit mehr Bitcoin als die ursprüngliche Kette beginnen, und es hat die gleichen Belohnungen.

Das ist technisch weniger aufwändig als Angriff #2, erfordert aber die Teilnahme von über 50% der Miner weltweit und somit ist der Koordinationsaufwand enorm. Denn alle teilnehmenden Miner müssen ihre Mining-Software koordinieren, um nach diesen Regeln spielen zu können. Abhängig von der Anzahl der Miner/Mining-Pools, die nicht teilnehmen, wird dies die Anzahl der Blöcke erhöhen, die Alice schweben müsste. Wenn zum Beispiel 30 % der Miner nicht teilnehmen, werden zu dem Zeitpunkt, an dem der 10. Block auf der gegabelten Kette herumrollt, etwa 13 Blöcke auf der ursprünglichen Kette vorhanden sein.
Dies hätte wieder das gleiche Szenario, in dem es öffentlich bekannt wäre, dass Miner die Geschichte umgeschrieben und die Blockchain untergraben (kein Wortspiel beabsichtigt) haben. Selbst wenn es sich bei der Transaktion von Alice um eine Off-Chain-Transaktion handelte, wird sie dennoch das Kernprinzip brechen, dass Transaktionen mit einer Tiefe von 6 Blöcken sicher sind und somit Bitcoin entwerten.

Auch hier würde dies möglicherweise nur funktionieren, wenn eine Mehrheit der Bergleute möchte, dass Bitcoin scheitert.

Hast du meine Kommentare dazu gelesen? Das Szenario besteht darin, Bergleute im wirklichen Leben zu bestechen und dies nicht durch Gebühren zu tun, was vielleicht zu offensichtlich ist. Und wenn es um große Summen geht, kann man Miner mit so viel Geld bestechen, dass es ihnen egal ist, ob Bitcoin hinterher vielleicht down ist. Außerdem meine ich Angriff Nr. 2.
Übrigens sind PoW-Miner nicht „stark in das System investiert“. Das ist vielleicht das Problem von allen. Ich denke, der Angriff ist in einem PoW-PoS-Hybrid nicht möglich, sodass Miner dorthin gehen können, nachdem sie die PoW-Währungen zum Absturz gebracht haben.
@sigmabe Danke für die Klarstellung, ich habe ein drittes Szenario basierend auf deinem ersten Kommentar hinzugefügt.
@sigmabe In Bezug auf PoW nehme ich an, dass Sie Recht haben, dass sie nicht unbedingt „stark in Bitcoin investiert“ sind. Stattdessen investieren sie stark in ihre Mining-Hardware. Jetzt, da wir Alt-Chains haben, an denen ihre Mining-Hardware arbeiten wird, könnten sie dem Bitcoin-Massaker entkommen, indem sie springen, um das Alt zu minen. Wenn der Alt jedoch keinen Schutz gegen einen ähnlichen Angriff hat, wird er auch dort den Glauben untergraben, also ist Ihr Vorschlag eines PoW-PoS-Hybrids oder etwas anderem, um dies zu vereiteln, genau richtig als Voraussetzung, um diese Art von Angriff zum Laufen zu bringen.
Ja, drittes Szenario ist besser. Aber ich sehe nicht, wie es das Problem löst. Ja, Sie brauchen den Großteil der Mining-Power, aber es ist nicht so teuer wie gedacht. Sie müssen die Mining-Hardware und Energie nicht bezahlen, Sie müssen nur das Bestechungsgeld bezahlen. Und ich denke, man braucht nicht viel Geld, um zu bestechen, weil Miner egoistisch sind und hinterher zu einem besseren Coin gehen können.
Gibt es keine alternativen Münzen, die als PoW-PoS-Hybrid funktionieren?
Um noch mehr vom „Bitcoin-Massaker“ zu profitieren, sollten wir den Angriff mit geliehenen Münzen durchführen, damit es kein Problem gibt, wenn die Währung fällt, denn das ist es, was wir wollen.

Ich denke, Sie haben einen berechtigten Punkt. Nehmen wir an, ich kontrolliere 50 % des Bergbaus. Wie viel würde ich akzeptieren, um einen neuen Fork von 10 Blocks zurück zu beginnen?

Mit 50 % des Minings würde ich etwa die Hälfte der Blöcke bekommen, oder 5 der 10 Blöcke, die gerade abgebaut wurden. Mich zu bitten, von 10 Blöcken zurück zu forken, würde bedeuten, dass ich diese Zahlung im Wert von 5 Blöcken aufgeben würde.

Die Frage ist dann, wie lange ich brauchen würde, um die echte Blockchain von 10 Blöcken Rückstand einzuholen. Bei 50 % Mining würde ich eine Münze werfen, um zu versuchen, 10 mehr Kopf als Zahl zu bekommen. Im Durchschnitt dauert das einige Flips, sagen wir N. Also müsste ich im Durchschnitt weitere N Blöcke abbauen, um die aktuelle Kette einzuholen.

Wenn Sie mir also mehr als N+5 Blöcke zahlen, dann wäre es für mich im Durchschnitt profitabler, eine Kette für Sie zu starten, als die aktuelle Kette fortzusetzen.

Dies ist jedoch der Durchschnitt, und die Verteilung hat einen langen Schwanz, was bedeutet, dass es Hunderte von Blöcken dauern kann, bis die neue Kette länger ist als die aktuelle. Es gibt einige Möglichkeiten, wie wir mit diesem Risiko umgehen können:

1) Ich berechne Ihnen eine Gebühr pro Block und Sie bezahlen mich so lange, wie Sie möchten, dass ich für Sie schürfe. Es gibt kein Versprechen, dass ich jemals die aktuelle Kette einholen werde, aber ich werde es weiter versuchen, solange Sie mehr bezahlen, als ich mit legitimem Mining verdienen würde.

2) Ich berechne Ihnen eine Vorauszahlung und übernehme das Risiko. In diesem Fall bin ich am Haken, um Sie an die bestehende Kette heranzuführen. Ich würde wahrscheinlich eine große Prämie verlangen, basierend auf dem Potenzial, meine Mining-Ressourcen für eine lange Zeit umzuleiten. Außerdem ist es möglich, dass ich nie aufholen werde, also würde ich wahrscheinlich eine Rückerstattungsklausel hinzufügen, um meine Verluste zu begrenzen, wenn es hoffnungslos aussieht.

Die Idee, dass ich legitim schürfen würde, weil ich möchte, dass Bitcoin erfolgreich ist, hat etwas Wahres, weil das Schürfen mit einigen Einrichtungskosten verbunden ist und ich eine Rendite auf diese Investition haben möchte, aber für den richtigen Preis würde ich wahrscheinlich das Risiko eingehen, Bitcoin zu töten . Dieses Risiko wird in der Prämie erfasst, die ich Ihnen auf mein normales Mining-Einkommen berechne.

Wenn ich einige Zahlen einsetze, verwende ich die Annahme von Briguy37 von 15 BTC pro abgebautem Block, und nehmen wir an, N ist 20 und meine Prämie beträgt 100 %. Dann würde ich 25 * 15 * 2 = 750 BTC berechnen, um diesen Fork zu machen.

Wir können über die genauen Zahlen streiten, aber der Hauptpunkt scheint das zu sein, was Sie gesagt haben, nämlich dass große Transaktionen nicht so vertrauenswürdig sind wie kleinere.

Ich würde noch einen Schritt weiter gehen und argumentieren, dass einige kleinere Transaktionen möglicherweise auch nicht vertrauenswürdig sind. Angenommen, ich stimme zu, 100 Personen jeweils 10 BTC zu zahlen. Das sind 1000 BTC von mir, aber jede Transaktion ist nur 10 BTC, soweit die Empfänger wissen. Wenn ich sie alle gleich terminiere, sind die Kosten für die Stornierung aller dieselben, als wären sie eine einzelne Transaktion.