Auf Seite 2 des Bitcoin-Papiers heißt es:
Das Problem ist natürlich, dass der Zahlungsempfänger nicht nachweisen kann, dass einer der Besitzer die Münze nicht doppelt ausgegeben hat. Eine gängige Lösung besteht darin, eine vertrauenswürdige zentrale Behörde oder Minze einzuführen, die jede Transaktion auf doppelte Ausgaben überprüft. Nach jeder Transaktion muss die Münze an die Münzstätte zurückgegeben werden, um eine neue Münze auszugeben, und es wird darauf vertraut, dass nur direkt von der Münzstätte ausgegebene Münzen nicht doppelt ausgegeben werden. Das Problem bei dieser Lösung ist, dass das Schicksal des gesamten Geldsystems von dem Unternehmen abhängt, das die Münze betreibt, wobei jede Transaktion genau wie eine Bank über sie laufen muss.
Wir brauchen eine Möglichkeit, damit der Zahlungsempfänger weiß, dass die vorherigen Eigentümer keine früheren Transaktionen unterzeichnet haben. Für unsere Zwecke zählt die früheste Transaktion, daher kümmern wir uns nicht um spätere Versuche, doppelte Ausgaben zu tätigen. [Hervorhebung hinzugefügt] Die einzige Möglichkeit, das Fehlen einer Transaktion zu bestätigen, besteht darin, sich aller Transaktionen bewusst zu sein. Beim mintbasierten Modell war sich die Mint aller Transaktionen bewusst und entschied, welche zuerst eintraf. Um dies ohne eine vertrauenswürdige Partei zu erreichen, müssen Transaktionen öffentlich angekündigt werden [1] , und wir brauchen ein System, mit dem sich die Teilnehmer auf einen einzigen Verlauf der Reihenfolge ihres Eingangs einigen können. Der Zahlungsempfänger muss nachweisen, dass zum Zeitpunkt jeder Transaktion die Mehrheit der Knoten zugestimmt hat, dass es sich um die erste Transaktion handelt.
Warum zählt nur die früheste Transaktion für doppelte Ausgaben? Ich dachte, dass es spätestens sein würde, da der Vorbesitzer bis dahin geprüft hätte. Aber selbst das ist fehlerhaft ... Wir müssen alles überprüfen.
Liegt es daran, dass die Münze eine Liste von Transaktionen ist und nur die erste nicht verifiziert wird?
„Doublespend“ bezieht sich auf den Versuch, dasselbe Geld zweimal auszugeben. Insbesondere bei Bitcoin tritt dies auf, wenn ein Benutzer zwei Transaktionen veröffentlicht, die in Konflikt stehen, weil er versucht, dieselbe nicht ausgegebene Transaktionsausgabe als Eingabe zu verwenden. Offensichtlich kann nur eine der beiden Transaktionen gültig sein.
Vor der Veröffentlichung von Bitcoin bestand die Lösung des Doublespending-Problems darin, einen zentralen Akteur zu benennen, der entschied, welche der beiden Transaktionen Vorrang hat. Der zentrale Akteur würde dies tun, indem er ankündigt, welchen der beiden er zuerst gesehen hat .
Das "First-Seen"-Verhalten war zunächst explizit im Knotenverhalten codiert: Knoten würden keine widersprüchlichen Transaktionen in ihren Mempool (die vorübergehende Speicherung unbestätigter Transaktionen) akzeptieren. Dies führte jedoch zu der falschen Annahme, dass Nullbestätigungstransaktionen zuverlässig sein könnten, während das Doppelausgabenproblem tatsächlich dadurch gelöst wird, dass Miner Transaktionen zur Bestätigung in Blöcke sammeln. Die Blöcke dürfen nur eine der beiden widersprüchlichen Transaktionen enthalten, da sonst der Block ungültig ist. Somit legt die Blockchain den Vorrang von Transaktionen fest, indem sie auf einem gemeinsamen Journal der Transaktionen ohne einen zentralen Akteur zusammenläuft.
In den vergangenen Monaten haben wir gesehen, wie das „first-seen“-Paradigma deutlich aufgeweicht wurde, da doppelte Ausgaben (von unbestätigten Transaktionen) aufgrund der hohen Nachfrage nach Blockspace mehr oder weniger trivial geworden sind. Da es für Benutzer üblich wird, Transaktionen mit einer höheren Gebühr (dh doppelte Ausgaben) zu aktualisieren, wird das Paradigma „zuerst gesehen“ nicht mehr verwendet und durch den Defacto-Mechanismus des „zuerst eingeschlossenen“ ersetzt. Unter der Annahme eines rationalen Miner-Verhaltens, das zuerst die profitabelsten Transaktionen auswählt, werden wir uns schließlich auf ein vollständiges System zum Ersetzen durch Gebühren konvergieren.
Mit anderen Worten, wenn das Whitepaper die Anforderung an das Bitcoin-System beschreibt, eine konvergente Historie mit „First-Seen“ zu erstellen, beschreibt es eine vereinfachte Situation, die die Netzwerkdynamik des Wettbewerbs um Blockspace nicht berücksichtigt. Aus heutiger Sicht ist dies als „erstbestätigt“ zu verstehen.
Bitcoin wird mit verteiltem Rechnen und mathematischen Berechnungen als Proof of Concept erstellt.
Jedes Mal, wenn Sie eine Transaktion durchführen, wird diese an das Netzwerk gesendet und basierend auf den verfügbaren Gebühren und Ressourcen verarbeitet.
Bitcoin vertraut niemandem, daher genehmigt es Transaktionen im Allgemeinen, nachdem mindestens 6 weitere Blöcke/Transaktionen zum Ledger hinzugefügt wurden.
Wenn Sie also doppelte Ausgaben tätigen möchten, müssen Sie die andere Transaktion mit genau einem früheren Zeitstempel fälschen, und Sie müssen die nächsten sechs Blöcke vor dem gesamten Bitcoin-Netzwerk der Welt verarbeiten. Dazu müssen Sie mindestens 51 % der Rechenleistung des gesamten Bitcoin-Netzwerks erwerben, was nicht möglich ist.
Daher verwirft Bitcoin jede doppelte Transaktion basierend auf der längsten Transaktionsblockkettenlänge.
Ashish Negi
Murch
Nether
totalMongot
Murch
totalMongot
Murch