BTC auf verschiedenen Wallet Adressen (Public Keys)

Ich glaube hier gibt es noch eine kleine Verwechslung von Extended Key und Key.

Aus den 24 Wörtern und optional einer Passphrase können für jeden Coin Typ und jeden Unteraccount sehr viele Adressen generiert werden, das ist richtig.

Aber zu jeder Adresse gehört ein eigener Private Key und ein eigener Public Key.

Die Private Keys dieses Accounts werden von einem einzigen übergeordneten Extended Private Key abgeleitet.

Mal als Beispiel. Wenn man eine neue Standard Bitcoin Wallet erzeugt (mit Ledger, Bitbox, Exodus, Electrum etc.) und sich direkt eine erste Empfangsadresse anzeigen lässt, um etwas einzuzahlen, wird in dieser Sequenz folgendes der Reihe nach abgeleitet:

  • Seedphrase (Wörter) + optional Passphrase →
  • Seed →
  • Master Extended Private Key (Root Key) →
  • Extended Private Key zu Purpose p (z.B. p=84 bei aktuellen BTC Adressen) →
  • Extended Private Key zu Coin c (z.B. c=0 für Bitcoin) →
  • Extended Private Key zu Account a (z.B. a=0, das ist der erste Account) und
    Extended Public Key zu Account a →
  • Extended Private Key External/Internal (Empfangsadresse oder Change Adresse) →
  • Private Key zu Index i (z.B. i=0, das ist der erste) →
  • Public Key zu Index i →
  • Adresse zu Index i

Von dem einen „Extended Private Key zu Account a“ können fast beliebig viele Adressen abgeleitet werden. Dafür wird der Index einfach hochgezählt. Zu jeder einzelnen dieser Adressen gibt es in diesem Ableitungspfad aber genau einen Private Key und einen Public Key.

Die einzelnen Public Keys und Adressen, aber nicht der zugehörige Private Key, können auch direkt vom „Extended Public Key zu Account a“ (xpub) abgeleitet werden. Das ist ganz praktisch, wenn eine Software beliebige Empfangsadressen generieren können soll, ohne dass man die Private Keys dort speichern muss.

4 „Gefällt mir“