Wie verhindert der Bitcoin genau Double Spending Attacken?

Ich habe vor kurzem angefangen, über Bitcoin zu lesen, die Idee scheint schwer zu verstehen, und ich versuche jetzt, die Grundlagen zu verstehen.

Ich habe das Whitepaper von Satoshi Nakamoto gelesen, bin aber immer noch verwirrt

Erstens wurde gesagt, dass der Hauptvorteil von Bitcoin seine Fähigkeit ist, die Double-Spending-Angriffe zu verhindern. Meine Fragen sind:

  • Liegt das an der Idee der Blockchain oder am Proof of Work?
  • Kann jemand seine Bitcoins zweimal in zwei verschiedenen Transaktionen und zwei verschiedenen Blockchains ausgeben? Wenn nicht, wie verhindert das Protokoll einen solchen Fall?
  • Was genau ist der Prozess, den Minderjährige befolgen, um zu erkennen, dass eine bestimmte Transaktion die Bitcoins zweimal ausgibt?
  • Warum akzeptieren Minderjährige (Wähler) nicht einfach eine neue Sperre, ohne zu prüfen, ob sie wirklich gültig ist oder nicht? was sind die Konsequenzen?

Es tut mir leid, wenn meine Fragen sehr einfach erscheinen,

Vielen Dank im Voraus

Antworten (1)

Ein Full Node ist ein Computer, auf dem Full Node-Software wie Bitcoin Core ausgeführt wird, der jede Transaktion in der Blockchain verifiziert hat und weiterhin neue verifiziert, sobald er davon erfährt. Jeder Full Node validiert Transaktionen und lehnt doppelte Ausgaben ab. Wenn es von einer Transaktion erfahren hat, die bestimmte Münzen ausgibt, wird es jede neue Transaktion ablehnen, die versucht, dieselben Münzen auszugeben, es sei denn, die ursprüngliche Transaktion wurde als ersetzbar markiert.

Aufgrund der Natur von Computernetzwerken ist es möglich, dass nicht jeder Knoten von jeder Transaktion gehört hat. Es ist auch möglich, dass verschiedene Nodes von denselben Transaktionen in unterschiedlicher Reihenfolge gehört haben. Die Blockchain legt die Reihenfolge und den Verlauf der Transaktionen fest, sodass sich alle über den Stand des Hauptbuchs einig sind. Sobald eine Transaktion an die Blockchain übergeben wurde und der Kette nach dem Block, der die Transaktion enthält, genügend Blöcke hinzugefügt wurden, kann diese Transaktion nicht mehr geändert werden.

So verhindert jeder Knoten individuell doppelte Ausgaben, von denen er hört, und der kollektive Konsens darüber, welche Transaktionen stattgefunden haben oder nicht stattgefunden haben, kommt durch die Blockchain.

Was genau ist der Prozess, den Minderjährige befolgen, um zu erkennen, dass eine bestimmte Transaktion die Bitcoins zweimal ausgibt?

Bergleute sind nicht die einzigen, die Transaktionen validieren. Wie ich bereits sagte, validiert jeder Full Node Transaktionen, um sicherzustellen, dass es keine doppelten Ausgaben gibt.

Miner folgen dem gleichen Prozess wie Full Nodes. Die vollständige Liste der Validierungsregeln finden Sie hier .

Warum akzeptieren Minderjährige (Wähler) nicht einfach eine neue Sperre, ohne zu prüfen, ob sie wirklich gültig ist oder nicht? was sind die Konsequenzen?

Bei Bitcoin gibt es keine Abstimmung. Es sind nicht nur Miner, die die Gültigkeit von Blöcken überprüfen müssen. Vollständige Knoten, die von Benutzern ausgeführt werden, überprüfen dies ebenfalls. Wenn ein Miner einen ungültigen Block generiert, werden Full Nodes ihn ablehnen und der Miner verliert Geld, weil er Strom und Zeit verschwendet hat, um diesen Block zu produzieren.

Tatsächlich wird über Konsensänderungen abgestimmt. Es gab den Slogan „Eine CPU, eine Stimme“. frühzeitig.
@Willtech Mir wurde von gmaxwell gesagt, dass es keine Abstimmung in Bitcoin gibt, da die Abstimmung die Wahl eines Dritten bedeutet, der Sie vertritt. Er sagte, dass das einzige, was dem Konzept der Abstimmung nahe kommt, das „Hashrate-basierte Quorum“ ist, was ich als den Konsens verstehe, der unter Verwendung von Arbeitsnachweisen über den Zustand des Hauptbuchs gebildet wird.
Okay, @gmaxwell verwendet korrekte Terminologie und seine Aussagen, wie Sie sie weitergegeben haben, sind sicherlich fehlerfrei. Ich persönlich nenne es Abstimmungen nicht nur bei der Wahl eines Vertreters, sondern auch bei Beschlussfähigkeit, wenn die Mitgliederversammlung gültig ist und eine Feststellung getroffen wird.
Was ist, wenn alle vollständigen Knoten sich entscheiden, jeden Block unabhängig von seiner Gültigkeit zu akzeptieren (warum verschwenden sie überhaupt ihre Ressourcen mit der Überprüfung von Blöcken?)? was kann diese situation verhindern??
@ user971961 Die Regeln von Bitcoin verlangen, dass Sie Blöcke verifizieren. Wenn Sie sie nicht verifizieren, handelt es sich nicht um Bitcoin. Wenn Sie ungültige Blöcke zulassen, könnte jemand Geld verschieben, das ihm nicht gehört. es wäre ein unsicheres und wertloses System.