Gab es jemals einen erfolgreichen Double-Spend-Angriff auf das Bitcoin-Netzwerk? Wenn nicht, ist es wirklich notwendig, auf Bestätigungen zu warten?

Es gibt viele Bedenken, auf Bestätigungen zu warten, um einen Double-Spend-Angriff zu vermeiden, aber hat es jemals tatsächlich einen Double-Spend-Angriff gegeben?

Es scheint, dass es zwei Arten von Double-Spend-Angriffen gibt. Einer wird ohne einen signifikanten Bruchteil der gesamten Mining-Leistung des Netzwerks begangen. Um dies erfolgreich durchzuführen, muss der Angreifer beide Transaktionen nahezu gleichzeitig senden. Wenn zwischen der legitimen Transaktion und der doppelten Ausgabe eine erhebliche Verzögerung auftritt, erhält fast jeder Miner die legitime Transaktion vor der doppelten Ausgabe. Die Miner werden die doppelten Ausgaben ablehnen, und die legitime Transaktion wird fast garantiert in den nächsten Block aufgenommen. Um diese Art von Doppelausgaben erfolgreich durchzuführen, muss der Angreifer also beide Transaktionen gleichzeitig senden, sodass die Hälfte des Netzwerks auf der einen und die Hälfte des Netzwerks auf der anderen arbeitet. Wenn sie dies jedoch tun, dann sollte es für den Zahlungsempfänger einfach zu erkennen sein und somit kann der Zahlungsempfänger die Zahlung innerhalb von Sekunden ablehnen. Somit scheint ein Double-Spend-Angriff ohne einen wesentlichen Bruchteil der Netzwerkleistung kein Problem zu sein – er wird leicht und sofort erkannt (oder er schlägt fehl).

Daher ist die einzige Art von Doppelausgaben, die wahrscheinlich erfolgreich ist, eine, bei der der Angreifer einen erheblichen Teil der Netzwerkleistung kontrolliert und ein anfängliches Handicap bei der Blockerstellung aufholen kann. Bis eine solche doppelte Ausgabe nachgewiesen wurde, bedeutet dies jedoch, dass keine böswillige Entität die Kontrolle über einen wesentlichen Teil der Rechenleistung des Netzwerks erlangt hat.

Wenn also noch nie ein Double-Spending-Angriff verübt wurde, können alltägliche Benutzer, die kleine Bitcoin-Beträge transferieren, sehr sicher sein, dass sie nicht Opfer eines Double-Spending-Angriffs werden (wie stehen die Chancen, die ersten zu sein?) und auf Bestätigungen zu warten .

(Personen, die andererseits sehr große anonyme Transaktionen durchführen, gehören möglicherweise zu den ersten Personen, die von einem doppelten Spender angegriffen werden, der einen erheblichen Teil der Rechenleistung des Netzwerks erreicht hat.)

Ist diese Analyse richtig?

Nicht unbedingt ein "mögliches Duplikat", da es nicht die spezifische Frage anspricht, ob jemals ein Angriff verübt wurde, aber ziemlich ähnlich einer Frage, die ich vor einiger Zeit gestellt habe

Antworten (5)

Für das, was es wert ist, behauptete MyBitcoin.com, dass ihre Schließung durch eine Reihe von Double-Spend-Angriffen ausgelöst wurde:

Unser Programmierer ging davon aus, dass ein Block gut genug war, um eine Transaktion zu sichern. Vor zwei Jahren, als die Software geschrieben wurde, war dieser einzige bestätigte Mythos ein weit verbreiteter Glaube.

Benutzer themos (ein Administrator des bitcointalk.org-Forums) hatte sie öffentlich gewarnt , dass das Akzeptieren von Transaktionen nach einer einzigen Bestätigung „verrückt“ sei.

Es gibt jedoch keine Möglichkeit zu überprüfen, ob tatsächlich Double-Spend-Angriffe stattgefunden haben, da meines Wissens derzeit niemand im Netzwerk nach ihnen sucht (Double-Spend-Transaktionen werden normalerweise verworfen, nachdem das Ereignis zur Zufriedenheit der Blockchain). Alles, was wir öffentlich beobachten können, sind Blockchain-Reorganisationen , die auch natürlich von Zeit zu Zeit auftreten, wenn Blöcke nahezu gleichzeitig von verschiedenen Minern oder Pools gefunden werden. Vielleicht könnte ein statistisches Argument abschätzen, wie oft diese auftreten sollten (wir hatten 14 im letzten Monat) und auf dieser Grundlage für die Existenz von Double-Spend-Versuchen argumentieren, aber ich persönlich habe eine solche Analyse nicht gesehen.

Am kritischsten in Bezug auf Ihre Frage, ob Sie auf eine Bestätigung warten sollen oder nicht, ist jedoch die Tatsache, dass Sie einen möglichen Angriffsvektor übersehen haben, der nach Hal Finney, der ihn identifiziert hat , als „Finney-Angriff“ bekannt ist . Bei einem Finney-Angriff nimmt ein Miner beim Mining ein „Double“ der beiden Transaktionen in seine eigenen Blöcke auf, sendet es aber nicht an das Netzwerk. Wenn sie schließlich einen Block finden, kaufen sie etwas mit einer widersprüchlichen Transaktion (das zweite „Double“ im Double-Spend-Angriff) und senden dann sofort ihren Block, wodurch die Kauftransaktion in der Blockchain ungültig wird. Wenn der Händler nicht auf die Bestätigung gewartet hat, würde der Angreifer sowohl den gekauften Artikel (hoffentlich etwas Bargeldähnliches) als auch seine ursprünglichen Bitcoins mitnehmen.

Da diese Situation und ihre Varianten weitgehend auf Händler zutreffen, die Artikel auf Abruf anbieten, die sofort geliefert werden, bleibt Ihre Analyse von „alltäglichen Benutzern, die kleine Mengen an Bitcoins übertragen“ ungefähr richtig. Denken Sie daran, dass, wenn das Akzeptieren von 0-Bestätigungs-Transaktionen zur Norm würde, der Anreiz für den Angriff „sende sie gleichzeitig“ erheblich steigen würde (das Erfordernis nur einer Bestätigung verhindert dies in den allermeisten Fällen). Aber vorerst sollten normale Benutzer sich mehr Sorgen über den normalen alten „You pay first“-Betrug bei nicht treuhänderisch hinterlegten Transaktionen und Man-in-the-Middle-Angriffe machen, bei denen ein Gesprächspartner Nachrichten zwischen zwei vertrauenswürdigen Parteien weitergibt, die dies tun möchten Geschäft,in freier Wildbahn hingerichtet).

tl;dr Händler und Börsen müssen auf jeden Fall auf Bestätigungen warten, wenn Transaktionen von erheblichem Wert sind und/oder gegen bargeldähnliche Waren eingetauscht werden. Einzelpersonen, die kleine Beträge überweisen, müssen sich mehr Gedanken über andere Aspekte des Vertrauens in die Börse machen und können sich mit nur einer einzigen Bestätigung recht effektiv schützen.

Obwohl niemand behauptet hat, durch den Finney-Angriff verloren zu haben, sollte er nicht als unwahrscheinlich abgetan werden, dass er in Zukunft auftreten wird. Der wahrscheinliche Grund, warum wir nichts davon hören, ist, dass es nur wenige Händler gibt, die 0/unbestätigt akzeptieren, und noch weniger verkaufen Waren von ausreichendem Wert, damit es sich für den Angreifer lohnt, dies überhaupt zu versuchen.
Sie werden feststellen, dass ich den Finney-Angriff in meiner Antwort nicht abweise, sondern seine Bedeutung betone.
"Vor zwei Jahren, als die Software geschrieben wurde, war dieser einzige bestätigte Mythos ein weit verbreiteter Glaube." ... beliebt bei Menschen mit so begrenztem Wissen über die Bitcoin-Technologie, dass sie keine Geschäftssoftware dafür haben

Diese Frage wurde mehrmals an verschiedenen Stellen gestellt, und bisher hat noch niemand Beweise für einen Double-Spend-Angriff vorgelegt. Es ist natürlich möglich, dass sich niemand mit einem solchen Angriff beschäftigt, weil alle sowieso auf Bestätigungen warten.

Ihre Analyse ist richtig. Sie können bei gleicher Zuverlässigkeit auf weniger Bestätigungen reagieren, wenn Sie das Netzwerk von mehreren Punkten aus überwachen – idealerweise so nah wie möglich an so vielen großen Mining-Pools. Und wenn es jemals jemandem gelingen sollte, einen solchen Angriff zu verursachen, hätten Sie einen unwiderlegbaren Beweis – die widersprüchliche Transaktion.

Ich frage mich, ob Mining-Pools bereit wären, eine Webseite bereitzustellen, die die Transaktionen auflistet, die sie in den nächsten Block aufnehmen wollen (vorausgesetzt, sie haben gerade eine abgebaut). Wenn einige der größeren Pools dies tun würden, könnten Sie viel sicherer sein, dass es keine widersprüchlichen Transaktionen im Netzwerk gab. Wenn die beiden größten Pools Ihre Transaktionen haben und keiner der Pools eine widersprüchliche Transaktion hat, können Sie fast sicher sein, dass Sie auch ohne Bestätigungen sicher sind.

Am 11. März 2013 gab es einen ungeplanten Hard Fork und als Ergebnis wurde mindestens ein Doppelausgaben-Angriff durchgeführt, bei dem eine große Menge an Geldern (Bitcoins im Wert von 10.000 USD) doppelt ausgegeben wurden.

Für diejenigen, die zu faul sind, sich durchzuklicken, oder falls die Links sterben, war es keine kriminelle Operation: Der Benutzer hat das Geld freiwillig zurückgegeben.

September/Oktober 2013 - GHASH.IO-Pool-Betreiber wurden beschuldigt, doppelte Ausgaben gegen BetCoin Dice getätigt zu haben:

https://bitcointalk.org/index.php?topic=321630.0

Auszug:

„Ich sage, ghash.io war wahrscheinlich an diesen doppelten Ausgaben beteiligt. Ich habe einen Bericht von einem Pool-Benutzer erhalten, dass es zwischen dem 25. und 27. September keine Blöcke (Belohnungen) gab. Das bedeutet, dass die Hashpower des Benutzers kostenlos von verwendet wurde Pool-Operatoren, um diesen Angriff durchzuführen."

Der Fall ist, dass BetCoin Dice eine 0-Bestätigungsmethode für Ausgaben verwendet hat und dass die Hash-Power von GHASH.IO missbraucht/verwendet wurde, um nur gewinnende Wetten zu überprüfen/bestätigen (wobei nicht gewinnende Wetten ignoriert wurden). Es gab einen ausreichend großen Strom von Nur-Gewinn-Bestätigungen, um darauf hinzuweisen, dass „jemand“ innerhalb des ghash.io-Pools fast nachweislich Bitcoins doppelt ausgab und dann die Hashing-Power von ghash.io nutzte, um Gewinnbestätigungen vor nicht gewinnenden Transaktionen in die Blockchain zu bekommen konnte vom Rest des Netzes bestätigt werden.

CEX.IO bestreitet offensichtlich eine Beteiligung, aber es wirft eine größere Frage auf, wie wir auf Betrug wie diesen aufpassen sollen? Abgesehen von den betroffenen Personen, stört sich irgendjemand daran, Blockergebnisse zu auditieren (ungültige und gültige gleichermaßen?)

Die alte Antwort von David Schwartz impliziert, dass noch nie eine erfolgreiche Doppelausgabe, nicht einmal eine UNBESTÄTIGTE Transaktion, gesehen wurde. Das muss aktualisiert werden:

Es gab mindestens eine signifikante Doppelausgabe – eine 15-Bestätigungs-Transaktion während der 0,7/0,8-Fork.

Es gibt jeden Tag erfolgreiche doppelte Ausgaben von unbestätigten Transaktionen. Siehe http://respends.thinlink.com