Transaktionsvalidierung

Ich habe verstanden, dass Miner die Transaktionen validieren, indem sie auf doppelte Ausgaben prüfen, und dass die Transaktion noch nicht bestätigt wurde. Was ich nicht verstehe, ist, wie die Miner dies tun können, wenn alle Daten, die sie haben, die Transaktionen sind.

  1. Pflegen Bergleute ein UTXO-Set, das die UTXO-Details aller
    Knoten im Netzwerk enthält? Wenn dies der Fall ist, ist es möglich, dass die UTXO-Sets, die von verschiedenen Minern verwaltet werden, zu einem bestimmten Zeitpunkt unterschiedlich sind.
  2. Sobald der Block an das Netzwerk gesendet wird, wissen wir, dass andere Miner ihre Zustimmung zum Block ausdrücken, indem sie den nächsten Block darüber abbauen. Aber vorher validieren sie den gerade veröffentlichten Block. Wie validieren sie diesen Block? Und warum müssen sie sich darum kümmern, wenn sie Zeit sparen können, indem sie den nächsten Block erstellen? Geht es darum, dass wir
    von Bergleuten, die tatsächlich daran interessiert sind, Geld zu verdienen, Ehrlichkeit annehmen?

Antworten (1)

Erstens verwaltet jeder Knoten im Netzwerk ein UTXO-Set. Nicht nur Bergleute.

zu 1. Der UTXO-Satz wird erstellt, indem alle Transaktionen in jedem Block in der Kette von Anfang an angewendet werden. Alle Transaktionen, die beim Erreichen der Kettenspitze nicht ausgegeben werden, befinden sich im UTXO-Set. Je älter ein Block ist, desto höher ist die Wahrscheinlichkeit, dass das gesamte Netzwerk einen gleichen Block hat. Gleiche Blöcke führen zu einem gleichen UTXO-Set.

zu 2. Jeder Node validiert Blöcke, nicht nur Miner. Ein Block gilt als gültig, wenn er den Konsensregeln folgt. Eine Konsensregel ist, dass jede Ausgabentransaktion (TXO) im aktuellen UTXO-Set (vor der Annahme) oder einem TXO sein muss, das früh im selben Block erstellt wurde. Die Blockvalidierung stört das eigentliche Mining nicht (nur für kurze Zeit, wenn der Block akzeptiert wird und ein neues Blocktemplate an den ASIC gepusht werden muss). Die Validierung erfolgt auf der Host-CPU und der eigentliche Mining-Teil findet im ASIC statt. Wenn ein Miner einen ungültigen Block nicht validiert, verschwendet er seine Zeit/Strom/Geld damit, einen ungültigen Block zusätzlich zum vorherigen ungültigen Block abzubauen.