Wie behält eine verschlüsselte Brieftasche nach einem Neustart verwendete Schlüssel von "getnewaddress" und dem Schlüsselpool bei?

Ich lese dieses Wiki zur Wallet-Verschlüsselung und bin verwirrt darüber, wie ich getnewaddress wie hier beschrieben aufrufen kann und wo das nach einem Neustart von Bitcoin nachverfolgt wird.

Wenn eine Brieftasche verschlüsselt ist, wird die Passphrase benötigt, um den Schlüsselpool aufzufüllen. Wenn die Passphrase also selten eingegeben wird, ist es möglich, dass der Schlüsselpool zur Neige geht. In diesem Fall wird der Standardschlüssel als Ziel für Auszahlungen für das Mining verwendet, und Aufrufe von getnewaddress und getaccount address geben einen Fehler zurück. Um solche Fälle zu verhindern, wird der Keypool beim Aufruf von walletpassphrase automatisch mit einer korrekten Passphrase und beim Aufruf von topupkeypool (während das Wallet entsperrt ist) aufgefüllt. Beachten Sie, dass der Schlüsselpool weiterhin bei verschiedenen Gelegenheiten aufgefüllt wird, wenn ein neuer Schlüssel aus dem Pool verwendet wird und die Brieftasche entsperrt (oder entschlüsselt) wird.

Wenn die Wallet-Passphrase-Verschlüsselung aktiviert wird, werden alle unbenutzten Schlüssel aus dem Schlüsselpool geleert (als verwendet markiert) und neue verschlüsselte Schlüssel hinzugefügt. Erstellen Sie aus diesem Grund ein neues Backup Ihres Wallets, damit Sie die Schlüssel aus dem neuen Schlüsselpool wiederherstellen können, falls ein Zugriff auf Ihre Backups erforderlich sein sollte.

Die wallet.dat enthält alle privaten Schlüssel. Der "Schlüsselpool" ist einfach eine Warteschlange für die Schlüssel, die sich bereits in der wallet.dat befinden und noch nicht über "getnewaddress" ausgegeben oder für die Verwendung als Wechselgeld in einer Transaktion ausgewählt wurden.

Antworten (2)

Du kannst es nicht unendlich oft anrufen. Tatsächlich schlägt der 101. Anruf mit den Standardeinstellungen fehl.

Während die privaten Schlüssel, die die Bitcoins kontrollieren, verschlüsselt sind, sind die diesen Schlüsseln entsprechenden Adressen nicht verschlüsselt.

Faszinierend ... wissen Sie, wo es tatsächlich aufbewahrt wird?
Irgendwo in wallet.dat. Darüber hinaus kann ich es Ihnen nicht sagen.

Getnewaddress markiert einfach einen privaten Schlüssel in der wallet.dat als verwendet (oder, genauer gesagt, entfernt diese Adresse aus dem Schlüsselpool) und gibt diese Adresse in der Antwort zurück.

Der private Schlüssel existiert also bereits vor dem getnewaddress-Aufruf in wallet.dat.