Was ist eine doppelte Ausgabe?
Was muss ich als jemand, der Bitcoin verwendet, darüber wissen, wie das Bitcoin-System doppelte Ausgaben verhindert? Gibt es noch Umstände, unter denen sie auftreten können?
Eine doppelte Ausgabe ist ein Angriff, bei dem der angegebene Satz von Münzen in mehr als einer Transaktion ausgegeben wird. Es gibt zwei Hauptmethoden, um doppelte Ausgaben zu tätigen:
Um Schäden durch den ersten Angriff zu vermeiden, warten Sie, bis eine Bestätigung für eine bestimmte Transaktion erscheint. Um Schäden durch den zweiten Angriff zu vermeiden, warten Sie, bis 6 Bestätigungen für eine Transaktion angezeigt werden, oder weniger, wenn die Transaktion klein ist (aber immer noch mindestens 1 erforderlich ist). Schäden durch den dritten Angriff können das gesamte Bitcoin-Netzwerk lahmlegen, also machen Sie sich keine Sorgen – Ihr Unternehmen wird höchstwahrscheinlich nicht das Hauptziel sein (es ist unwahrscheinlich, dass dies geschieht, ohne dass wirklich viel Geld involviert ist).
Weitere Informationen zu all diesen Angriffen finden Sie in meiner Masterarbeit zum Thema Bitcoin-Sicherheit .
Als Händler können Sie die Wahrscheinlichkeit von Verlusten durch doppelte Ausgaben durch einen Rennangriff verringern, indem Sie Ihren Knoten richtig konfigurieren (keine eingehenden Transaktionen, explizite ausgehende Verbindungen zu gut verbundenen Knoten). Es besteht immer noch ein kleines Risiko, selbst mit dieser Konfiguration betrogen zu werden, aber es ist selten und relativ zufällig. Somit wird der Angreifer dadurch abgeschreckt, dass bei nur selten Erfolgen beim Double Spending jeder fehlgeschlagene Versuch ein gewinnbringender Verkauf an den Händler ist und somit auf Dauer für den Angreifer unrentabel und für den Händler gewinnbringend ist.
Es gibt Umstände, unter denen ein Händler anfälliger ist. Ein unbeaufsichtigter Münzwechsler in einem Waschsalon wäre beispielsweise das Worst-Case-Szenario für den Händler. Der Angreifer verliert nichts für fehlgeschlagene Versuche (vorausgesetzt, die Maschine zieht keinen Gewinn aus jedem "Verkauf"), nimmt die Gewinne bei gelegentlichen erfolgreichen Versuchen und wird wahrscheinlich nicht wegen Betrugs erwischt, wie es der Waschsalonbetreiber tut bewusst, dass etwas passiert ist, ist der Dieb schon lange weg. (Demgegenüber steht natürlich die Wahrscheinlichkeit, dass die Blockchain-Überwachung die zahlreichen Double-Spend-Versuche erkannt hätte und der Waschsalonbetreiber somit auch dies verhindern kann.)
Der Finney-Angriff hat auch Kosten, die ihn weniger bedrohlich machen, als es den Anschein hat. Das Halten eines Blocks kostet etwa einen Dollar pro Sekunde. Wenn also einmal ein Block abgebaut, aber nicht gesendet wird und der Dieb dann 40 Sekunden braucht, um die Transaktion mit dem Händler abzuschließen, sollte es besser sein, mehr als 40 Dollar Gewinn daraus zu machen, sonst wird der Versuch am Ende unwirtschaftlich auf lange Sicht. Auch hier würde der Händler schließlich wissen, dass die doppelte Ausgabe stattgefunden hat (gemessen in Sekunden, wenn die Blockchain überwacht wird), so dass dies nicht gut funktioniert, wenn der Dieb riskiert, erwischt zu werden. Die Vorbeugung dafür besteht also darin, keine Transaktionen mit großem Wert (z. B. hundert Dollar oder mehr) ohne Verzögerung auf 0/unbestätigt durchzuführen, wenn Sie auf doppelte Ausgaben achten.
Der 51-%-Angriff, der bestätigte Transaktionen rückgängig machen würde, ist so teuer und daher so unwahrscheinlich, dass er auftritt, dass er für einen typischen Händler nicht einmal von Belang ist. (d. h. jemand, der Millionen von Dollar ausgibt, um diesen Angriffsvektor zu verdoppeln, wird, wenn es jemals passiert, Trades verfolgen, bei denen große Werte ausgetauscht werden – denken Sie, dass Goldbarren um Mitternacht unter einer Brücke gegen Bitcoins gehandelt werden. Das sind sie Sie versuchen nicht, Ihre Unterhaltungselektronik zu kaufen, die Sie per UPS versenden, noch treffen sie Sie bei Starbucks in der Hoffnung, Sie um Ihre 200 Dollar zu betrügen.)
Wenn jeder zweimal denselben Bitcoin ausgeben könnte, dann würde das ganze System zusammenbrechen, weil Bitcoins nicht knapp wären.
Doppelt ausgeben, wenn ein Benutzer seine Coins mehr als einmal ausgeben kann. Dies geschieht normalerweise, wenn Sie zwei verschiedene Versionen des Blockchain-Ledgers erstellen können und beide zu unterschiedlichen Zeiten gültig waren.
Lesen Sie zum Verständnis dieses reale Beispiel, in dem ein Angreifer 807.000 ETC doppelt ausgeben konnte.
Angreifer hat 807.000 ETC in Ethereum Classic 51 % Attack gestohlen
Mursch
Igor Jalowoj
Programmierer
Programmierer