Was bedeuten „Wechsel“ und „Reservieren“ in einem Bitcoin Core-Wallet-Dump?

Ich verwende libwally , um Adressen von einem erweiterten privaten Schlüssel abzuleiten. Ich habe den Seed mit Bitcoin Core geteilt (mit in eine leere Wallet geladen sethdseed) und festgestellt, dass es im Dump der Wallet-Datei 2 Adressen unter demselben Ableitungspfad gibt, eine ist beschriftet reserve=1und die gleiche, die ich mit libwally ableite, der andere ist beschriftet change=1und ist anders.

Dazu habe ich ein paar Fragen:

  1. was genau bedeutet reserveund change? Meine Vermutung ist, dass das reservenormale Empfangsadressen sind und changesich, nun ja, ändern, aber ich frage mich immer noch, ob es eine spezifischere Bedeutung für Bitcoin Core gibt.
  2. Ich dachte, dass Änderungsadressen mit einem anderen Pfad abgeleitet wurden, so wie die Empfangsadressen alle mit enden ../0/{index}und sich mit ändern ../1/{index}, oder macht Bitcoin Core die Dinge anders als sagen wir Electrum?
  3. Außerdem frage ich mich, wie man 2 verschiedene Schlüsselpaare mit demselben Hauptschlüssel und Pfad generiert, hätte ich die changeAdresse auch mit libwally generieren können?

[BEARBEITEN] Nachdem ich es noch einmal gemacht habe, habe ich nur eine Adresse mit demselben Pfad in der Dump-Datei von Bitcoin Core, also habe ich beim letzten Mal einen Fehler gemacht, ich werde es hier erklären, falls es hilft: Um eine Wallet mit einem Seed, den Sie selbst wählen, benötigen Sie 2 Befehle createwalletund sethdseed. wallet_nameAkzeptiert neben dem erforderlichen createwalletauch ein optionales blankArgument. Standardmäßig ist es false, und der Befehl verwendet einen zufälligen Startwert, um einen Schlüsselpool zu generieren. Aber da wir unseren eigenen Seed verwenden möchten, müssen wir ihn auf true. Wenn Sie die neu erstellte Brieftasche löschen, ist sie leer, kein Hauptschlüssel, kein Schlüsselpool, nichts. Dann kannst nur dusethdseedmit einem im wif-Format codierten 32B-Seed. Ich hatte 2 Schlüssel unter demselben Ableitungspfad, weil ich zuerst eine Brieftasche mit einem zufälligen Startwert erstellt und dann meine eigene mit hinzugefügt habe sethdseed, also hatte ich 2 Schlüsselpools in meiner Dump-Datei. Wie Andrew in der Antwort sagte, ist es unmöglich, zwei verschiedene Schlüsselpaare mit demselben Hauptschlüssel und Pfad zu haben.

Antworten (1)

  1. was genau bedeutet reserveund change? Meine Vermutung ist, dass das reservenormale Empfangsadressen sind und changesich, nun ja, ändern, aber ich frage mich immer noch, ob es eine spezifischere Bedeutung für Bitcoin Core gibt.

reservebedeutet, dass sich der Schlüssel im Schlüsselpool befindet und noch nicht verwendet wurde. Dies wird sowohl zum Ändern als auch zum Empfangen von Adressen verwendet, da es für beide Schlüsselpools gibt.

changebedeutet, dass der Schlüssel zum Ändern von Adressen verwendet wird.

  1. Ich dachte, dass Änderungsadressen mit einem anderen Pfad abgeleitet wurden, so wie die Empfangsadressen alle mit enden ../0/{index}und sich mit ändern ../1/{index}, oder macht Bitcoin Core die Dinge anders als sagen wir Electrum?

Sie sind. Bitcoin Core verwendet m/0'/0'/i'zum Empfangen von Adressen und m/0'/1'/i'zum Wechseln. Wenn Sie jedoch eine ältere Bitcoin Core-Brieftasche haben, existiert diese Aufteilung nicht und es gibt nur einen Schlüsselpool. Aber wenn Sie verwenden sethdseed, sollte Sie das nicht beeinflussen.

  1. Außerdem frage ich mich, wie man 2 verschiedene Schlüsselpaare mit demselben Hauptschlüssel und Pfad generiert, hätte ich die changeAdresse auch mit libwally generieren können?

Es gibt nicht zwei verschiedene Schlüsselpaare mit demselben Hauptschlüssel und Pfad. Bitcoin Core tut dies nicht, und das ist mit BIP 32 (oder jedem BIP) nicht möglich.

Danke für die Antwort, ich habe noch einmal einen Test gemacht und dieses Mal habe ich tatsächlich nur eine Adresse mit dem gleichen Pfad in der BC-Wallet, ich glaube, ich habe es letztes Mal vermasselt und die Option nicht zu blankhinzugefügt createwallet. Ich dachte, es sei tatsächlich unmöglich, 2 Schlüsselpaare mit demselben Hauptschlüssel und Pfad zu haben, also bin ich erleichtert, dass meine Brieftasche die Gesetze der Mathematik nicht gebrochen hat :)