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/chainstate
es 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 chainstate
beschä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 chainstate
auf 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.
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.
Pieter Wuille
craigpastro
Jannes
Pieter Wuille