Ist der Angriff "Gebühr höher als Blockbelohnung" möglich?

Stellen Sie sich folgendes Szenario vor:

  • Ich schicke dir 1000 BTC.

  • Nach 6 Bestätigungen geben Sie mir, was ich gekauft habe.

  • Ich erstelle eine weitere Transaktion mit 900 BTC in meine eigene Brieftasche und 100 BTC als Transaktionsgebühr, wobei ich die gleichen Eingaben wie bei der vorherigen Transaktion verwende. (doppelt ausgeben)

  • Die Mining-Pools stellen fest, dass 100 BTC höher sind als 6 Blockbelohnungen, was 12,5 * 6 = 75 BTC entspricht, also beginnen sie mit dem Mining im letzten Block, der nicht meine erste Transaktion enthält.

  • Diese 6 Bestätigungen sind verwaist und die Pools haben mehr Geld verdient.

  • Meine doppelte Ausgabe war erfolgreich.

Ich weiß, dass diese Mining-Strategie heute in den meisten Pools nicht implementiert ist, aber nichts hindert Pools daran, dies in Zukunft zu tun.

100 BTC sind eine große Menge Geld. Aber nach vielen Jahren wird die Blockbelohnung sehr niedrig sein, sodass dieser Angriff in Zukunft möglicherweise nicht mehr so ​​viel Geld erfordert.

Ich habe gegoogelt und keine verwandten Fragen gefunden.

Ich möchte wissen, ob diese Art von Angriff in der Praxis möglich ist und was wir tun können, um dies zu verhindern.

Ich denke, dies impliziert, dass der Mining-Pool die vorherigen 6 Blöcke nicht kannte (höchst unwahrscheinlich). Wenn es der Kette hinzugefügt wird, ist es normalerweise irreversibel, sie würden nicht von einem alten Block abzweigen, da es rechnerisch nicht möglich wäre, aufzuholen und erzeugen eine längere Kette als die aktuelle. Und wenn sie die Kette schnell genug umschreiben könnten, gäbe es weitaus lukrativere Dinge, die sie tun könnten.
Viele Pools können diese Strategie gemeinsam gewinnbringend anwenden
Ich denke, es ist Sache des Empfängers des Geldes, so etwas zu verhindern, indem er mehr als 6 Blöcke wartet, oder besser, indem er so viele Blöcke wartet, dass die Belohnungen größer sind als der übertragene Wert.

Antworten (1)

Ein Angriff wie dieser ist möglich, es ist nur eine Möglichkeit, von einem 51%-Angriff zu profitieren. Sie müssen jedoch einige Dinge beachten:

  • Wenn ein Miner weniger als 51 % der Hashpower kontrolliert, ist es ihm wahrscheinlich nicht möglich, nach dem Mining des bösartigen TX wieder zum Netzwerk zurückzukehren, sodass sich das ehrliche Netzwerk als die längste Kette durchsetzen wird

  • Wenn ein Miner den Angriff versucht, aber keinen Erfolg hat, hat er dabei viele Ressourcen verschwendet (Opportunitätskosten). Vergleichen Sie dies mit einem garantierteren Gewinn, wenn Sie nicht böswillig sind

  • Wenn ein solcher Angriff erfolgreich wäre und die Benutzer es bemerken würden, würde dies die Sicherheit des Netzwerks beeinträchtigen, und daher ist mit einem Rückgang der Münzpreise zu rechnen. Der Bergmann hat also seine eigene Investition untergraben.

Wenn Sie online suchen, habe ich eine einfache Formel gesehen, um den Wert der Transaktion im Vergleich zur Anzahl der Blockbestätigungen zu bestimmen, auf die gewartet werden muss, bevor der tx als „final“ betrachtet wird. Ihre Argumentation ist richtig: Bei größeren Werttransfers sollte die Wartezeit länger sein, damit die potenzielle Belohnung für böswilliges Verhalten durch die Belohnung für ehrliches Mining aufgewogen wird.

Warum sagen Sie, dass ein Miner, wie ich ihn beschrieben habe, nicht „ehrlich“ ist? Der Miner schürft nur für den maximalen Gewinn. bitcoin.stackexchange.com/a/26936/49906 Hier ist eine Mining-Strategie, die nur den Tx mit der höchsten Gebühr unter allen Konflikt-Txs abbaut. Es ist nicht unehrlich und jeder Pool kann das.
„Ehrlich“ und „unehrlich“ werden hier nur verwendet, um das allgemeine Verhalten der Miner zu kennzeichnen (dh der Miner, der an dem Angriff beteiligt war, vs. nicht). Obwohl ich denke, dass ein Miner, der versucht, das Netzwerk zu 51% anzugreifen, um eine doppelte Ausgabe zu beanspruchen, auf jeden Fall als „unehrlich“ bezeichnet werden könnte.