Was passiert mit einem Knoten, wenn .bitcoin/chainstate beschädigt ist?

Ich habe versucht, nach Antworten auf meine Fragen zu suchen, aber keine gefunden, aber bitte verzeihen Sie mir, wenn dies eine doppelte Frage ist.

Angenommen, .bitcoin/chainstatees wird irgendwie beschädigt, z. B. wird ein UTXO gelöscht. Ich nehme an, dass dieser Knoten dann versuchen wird, alle Blöcke abzulehnen, die eine Transaktion enthalten, die versucht, das gelöschte UTXO zu verwenden?

Oder wird der Knoten irgendwie feststellen, dass er chainstatebeschädigt wurde, und die Blockchain erneut scannen? Wenn dies der Fall ist, wie würde der Knoten dies erkennen?

Nehmen wir schließlich an, dass alle Knoten chainstateauf genau die gleiche Weise beschädigt wurden, ein UTXO wurde gelöscht. Dann ist dieser UTXO effektiv weg, obwohl er in der Blockchain verbleibt.

Danke schön.

Antworten (1)

Ich habe eine Antwort von Pieter Wuille auf eine andere Frage gefunden, die hier relevant zu sein scheint. Der relevante Teil besagt:

„Bitte laden Sie jedoch keinen Chainstate von einem beliebigen Ort im Internet herunter. Sie können beliebig viele Coins einführen, die ihnen selbst zugewiesen sind, und Ihr Client würde sie akzeptieren. Wenn viele Leute anfangen würden, Nodes mit demselben Chainstate zu betreiben, würden solche Transaktionen ‚kopiert‘ könnte sogar in Blöcke geraten und im besten Fall Forks und im schlimmsten Fall Diebstahl verursachen."

Dies scheint also darauf hinzudeuten, dass ein Knoten einfach nicht erkennt, dass sein Kettenzustand geändert wird.

Das ist richtig. Beim Start wird eine Konsistenzprüfung durchgeführt, bei der das UTXO mit den letzten Blöcken verglichen wird. Wenn die Beschädigung jedoch in einem UTXO auftritt, das von diesen Blöcken nicht berührt wurde, haben Sie Pech.
@PieterWuille Danke für die Bestätigung!
@PieterWuille Ich nehme an, der Kettenzustand enthält eine Prüfsumme als Teil der Konsistenzprüfung, die im Grunde jede versehentliche Beschädigung erkennen würde?
@Jannes Es ist eine LevelDB-Datenbank, die intern Prüfsummen hat.