Was sind Bitcoin-„Bestätigungen“?

Wenn ich Bitcoins erhalte, sehe ich eine bestimmte Anzahl von "Bestätigungen" im Client. Was bedeuten diese? Warum lassen mich die meisten Websites auf 6 "Bestätigungen" warten, bevor ein Kauf abgeschlossen wird?

Antworten (2)

Bitcoin-Bestätigungen stellen die Anzahl der Blöcke in der Blockkette dar, die seit dem Block, der die Transaktion enthält, vom Netzwerk akzeptiert wurden.

Einfacher ausgedrückt stellt es die Schwierigkeit eines Double-Spend-Angriffs dar. Bei null Bestätigungen wurde kein Arbeitsnachweis erbracht, sodass Sie nicht feststellen können, ob jemand die Transaktion für gültig hält. Selbst mit einer einzigen Transaktion ist es einem Angreifer möglich, einen einzelnen Block vorzuberechnen .

Mit null oder sogar einer Bestätigung ist eine doppelte Ausgabe sehr wahrscheinlich, da der nächste gelöste Block möglicherweise einen anderen Block bestätigt als den, der die Transaktion enthält. Dieser andere Block zeigt die Münzen, die woanders ausgegeben werden. Die Wahrscheinlichkeit, dass eine doppelte Ausgabe stattgefunden hat, wird mit jeder Bestätigung exponentiell kleiner.

Ein Angreifer muss die Leistung des gesamten Bitcoin-Netzwerks nutzen, um mit der Blockerstellung Schritt zu halten, sodass es mit der Zeit immer schwieriger wird, eine Transaktion zu fälschen.

Für die meisten Transaktionen wird allgemein akzeptiert, dass 6 Bestätigungen eine ausreichende Sicherheit darstellen, um sicherzustellen, dass der Übergang gültig ist.

Wahrscheinlich sollten Sie zwischen „einer 50/50-Chance, dass eine doppelte Ausgabe möglich ist“ und einer „50/50-Chance, dass eine doppelte Ausgabe erfolgt ist“ unterscheiden, da viele Leute Ersteres als Letzteres ansehen könnten.
Diese Antwort könnte verbessert werden, indem angegeben wird, dass die Wahrscheinlichkeit einer doppelten Ausgabe nicht 50/50 beträgt. Sie basiert auf dem Prozentsatz der Hashing-Power des Angreifers (vorausgesetzt, sie beträgt weniger als 50 %). Wenn der Angreifer also 10 % Hashing-Power hat, hat er eine 10 %ige Chance, einen Block umzukehren. Ungefähr eine Chance von 0,1 ^ 2 = 1%, zwei Blöcke umzukehren usw. Wenn der Angreifer 51% Hashing-Power hat, gilt dies nicht, da eine unendliche Anzahl von Blöcken erforderlich ist, um sicherzustellen, dass die Transaktion nicht rückgängig gemacht werden kann daher sind alternative Mittel erforderlich, um die Blockchain zu schützen.
Der größte Teil dieses Beitrags beantwortet die Hauptfrage prägnant, aber der 50/50-Abschnitt ist geradezu falsch. Es wäre toll, wenn das verbessert werden könnte.
@Murch der 50/50-Kommentar lässt die Hash-Rate absichtlich aus, da es sich um eine unbekannte Variable handelt. Sie WISSEN NICHT die Hashing-Rate, die ein * möglicher * Angreifer verwendet , wenn er Bestätigungen in Betracht zieht, aber ich stimme zu, dass dies nicht klar erklärt wird, also werde ich die Antwort klarstellen. Es ist nicht "einfach falsch", nur unklar.
@JoshuaKolden Entschuldigung, "geradezu falsch" war in der Tat der falsche Weg, es auszudrücken. Was ich meinte war: Vielleicht wird der Ausdruck „50/50“ umgangssprachlich unterschiedlich verwendet, aber „ungefähr eine 50/50-Chance“ zu lesen würde für mich gleiche Chancen (50%/50% von 100%) für jeden Fall bedeuten. Jemandem auf der Wissensstufe zu fragen: "Was ist eine Bestätigung?" es klingt, als ob doppelte Ausgaben häufig vorkommen und viel wahrscheinlicher sind, als es in Wirklichkeit ist, und dass man immer auf sechs Bestätigungen warten sollte, um Zahlungen sicher zu erhalten. Die Absätze implizieren mehr Genauigkeit, als das beschriebene Szenario zulässt.

Wenn Sie das grundlegende Konzept nicht verstehen, stellen Sie sich für eine Sekunde vor, dass ein Netzwerkausfall das Bitcoin-Netzwerk in zwei Hälften teilt. Ich könnte eine Transaktion mit 30 Bitcoins an Abel an die eine Hälfte senden und eine Transaktion mit denselben 30 Bitcoins an Fred an die andere Hälfte. Jede Hälfte würde diese Transaktion akzeptieren, und bis die beiden Hälften wieder miteinander verbunden wären, wüssten Sie nicht, welche Transaktion morgen akzeptiert würde.

Bestätigungen sind einfach Blöcke, die nach dem Block generiert wurden, der Ihre Transaktion enthält. Da es keine zentrale Stelle gibt, die konsultiert werden kann, um sicherzustellen, dass eine Transaktion durchgeführt wird, verwenden die Empfänger die Anzahl der Bestätigungen, um sich vor Double-Spend-Angriffen zu schützen.

Das Netzwerk versucht immer, die längste Kette zu verlängern, und schließlich wird eine Kette gewinnen. Je tiefer die Transaktion in der Kette ist, desto höher ist die Chance, dass sie gewinnt, da das Netzwerk sehr bemüht ist, Anstrengungen nicht zu wiederholen. (Da Miner wollen, dass ihre Coinbase-Transaktionen gewinnen, bemühen sie sich alle sehr, die Kette zu verlängern, die am wahrscheinlichsten gewinnt, was sicherstellt, dass sie tatsächlich gewinnt.)

Je mehr Bestätigungen, desto höher ist die Wahrscheinlichkeit, dass eine Transaktion für immer in der öffentlichen Hash-Kette verbleibt, anstatt eine widersprüchliche Transaktion zu sein, falls es eine gab. Bei 6 Bestätigungen ist es vielleicht eine von einer Milliarde, dass eine Transaktion nicht dauerhaft ist – und das ist der Fall, wenn der Absender einen Double-Spending-Angriff versucht.

Ich mag dieses Beispiel, danke :)
Wenn es also etwa 10 Minuten dauert, bis ein neuer Block abgebaut wird, dann bedeuten 6 Bestätigungen 60 Minuten