Es gab kürzlich Behauptungen, dass Bitcoin Core die Signaturen in einem Block nicht standardmäßig validiert. Wenn das stimmt, kann Bitcoin Core dann überhaupt behaupten, ein Full Node zu sein?
Bitcoin Core validiert alle Signaturen nach einem bestimmten Punkt und kann so konfiguriert werden, dass alle Signaturen im Verlauf validiert werden, falls dies gewünscht wird.
Die assumevalid
Funktion deaktiviert die Signaturvalidierung nur für Blöcke vor einem bestimmten konfigurierten Block, der für jede Version aktualisiert wird. Dieser Block ist in der Regel mehrere (zehn)tausend Blöcke tief, wenn die Veröffentlichung tatsächlich erfolgt. Bei jedem Block, der ein Vorfahre dieses bestimmten Blocks ist (und dieser Block befindet sich in der Hauptkette), werden die Signaturen nicht überprüft. Alle nachfolgenden Blöcke werden signiert. Dies bedeutet, dass nach der Synchronisierung Ihres Knotens alle neuen Blöcke die Signaturen überprüfen lassen.
Darüber hinaus ist dies assumevalid
kein Kontrollpunkt und funktioniert auch nicht auf Blockhöhen. Wenn es aus irgendeinem Grund eine Neuorganisation gab, die den assumevalid
Block aus der Hauptkette entfernte, würden alle Signaturen in der Blockchain validiert. Es handelt sich lediglich um eine Optimierung und hat keinen Einfluss auf die Sicherheit Ihres Knotens.
Kann Bitcoin Core überhaupt behaupten, ein Full Node zu sein?
Ja, es gehört mehr dazu, ein vollständiger Knoten zu sein, als Signaturen zu validieren. Zur Validierung gehört mehr als nur Signaturen. Bitcoin Core überprüft immer noch das PoW, ob die ausgegebenen Ausgaben vorhanden waren usw.
MCCCS
Jannes
Pieter Wuille
Jannes