Zum Inhalt springen
buybitcoinsmart

Glossar / Adressen und Schlüssel

HD-Wallet

Auch bekannt als HD-Protokoll, Hierarchisch deterministische Wallet, BIP32.

Was ist eine HD-Wallet?
Eine HD-Wallet erzeugt jeden Schlüssel, den sie jemals benötigen wird, aus einem einzigen zufälligen Seed, angeordnet als der Baum aus Eltern und Kindern, den BIP-32 im Jahr 2012 festgelegt hat.

Spezifiziert im BIP-32.

Ein Seed erzeugt einen Hauptschlüssel, der Hauptschlüssel erzeugt Zweige, und die Zweige erzeugen jede Adresse, die Sie verwenden. BIP-32 wurde am 11. Februar 2012 zugewiesen, und praktisch jede Hardware-, Mobil- und Desktop-Wallet, die heute ausgeliefert wird, folgt ihm. Deshalb können zwölf Wörter auf einer Karte eine Wallet wiederherstellen, die Sie seit einem Jahrzehnt nutzen.

Wie es funktioniert

Eine HD-Wallet verwandelt eine Zahl mithilfe eines schlüsselbasierten Hashs, der immer wieder ausgeführt wird, in eine Hierarchie. Der Seed geht zusammen mit der festen Zeichenkette "Bitcoin seed" als Schlüssel in HMAC-SHA512 ein und erzeugt 64 Bytes: Die linken 32 werden zum privaten Hauptschlüssel, die rechten 32 zum Haupt-Chaincode. Dieses Paar ist die Wurzel von allem darunter.

Jeder weitere Schritt nimmt einen Schlüssel, seinen Chaincode und eine Indexnummer, hasht sie auf dieselbe Weise und liefert einen Kindschlüssel mit eigenem Chaincode. Jeder Knoten hat 4.294.967.296 mögliche Kinder, aufgeteilt in zwei Hälften: Indizes unterhalb von 2.147.483.648 sind normal und lassen sich allein von der öffentlichen Seite aus berechnen, während Indizes ab dieser Grenze gehärtet sind und den privaten Schlüssel erfordern. Die Wiederholung des Schritts baut einen Baum auf, und eine Position in diesem Baum wird als Ableitungspfad geschrieben.

Die Determinismus-Eigenschaft macht das Design wertvoll. Derselbe Seed erzeugt bei jeder korrekten Implementierung genau dieselben Schlüssel in derselben Reihenfolge, für immer. Kein Schlüssel wird jemals gespeichert, sondern nur neu berechnet, weshalb die Sicherung ein Satz ist und keine Datei, die bei jeder Zahlung wächst.

Die Wörter sind eine separate Ebene, und die Verwechslung der beiden Ebenen verursacht die meisten Wiederherstellungsprobleme. BIP-39 definiert, wie eine aus einer Liste mit 2.048 Wörtern stammende Phrase zum Seed wird, indem sie durch PBKDF2 mit HMAC-SHA512 über 2.048 Iterationen gestreckt und mit der Zeichenkette "mnemonic" plus einer optionalen Passphrase gesalzen wird. BIP-32 weiß nichts über Wörter, und BIP-39 weiß nichts über Bäume. Sie werden durch Konvention verbunden, weshalb zwei Wallets bei Ihrer Phrase übereinstimmen und sich dennoch bei Ihren Adressen uneinig sein können.

Bitcoin Core erstellt seit Version 0.16.0 nur noch hierarchisch deterministische Wallets. Davor enthielt eine Wallet einen Pool unzusammenhängender Zufallsschlüssel, und eine Sicherung veraltete in dem Moment, in dem der Pool über sie hinauswuchs.

Warum das beim Bitcoin-Kauf wichtig ist

Die Phrase, die Sie bei der Einrichtung der Wallet aufschreiben, ist das Einzige, was zwischen Ihnen und jedem Bitcoin steht, den Sie jemals kaufen werden, und die Baumstruktur ist der Grund, warum diese Aussage stimmt.

Sichern Sie einmal, und die Sicherung bleibt vollständig. Hundert Auszahlungen von einer Börse auf hundert frische Adressen sind alle Nachfahren einer Wurzel, sodass nichts, was Sie danach tun, das vergrößert, was Sie schützen müssen. Das ist die größte praktische Verbesserung der Bitcoin-Verwahrung seit dem ersten Client, und es ist ebenso der Grund, warum eine einmal fotografierte Seed-Phrase dauerhaft kompromittiert ist: Das Foto deckt Bitcoin ab, die Sie noch nicht gekauft haben.

Die Portabilität ist der zweite Vorteil, und sie hat einen Haken. Eine auf einer Trezor oder einer Ledger aufgeschriebene Phrase lässt sich in Sparrow, Electrum oder BlueWallet wiederherstellen, weil alle denselben Standard implementieren. Der Haken ist der Pfad. BIP-44 erzeugt Adressen, die mit 1 beginnen, BIP-49 erzeugt 3, BIP-84 erzeugt bc1q, und BIP-86 erzeugt bc1p, alle aus identischen Wörtern. Stellen Sie in Software wieder her, die standardmäßig einen anderen Verwendungszweck nutzt, zeigt der Kontostand null an, während die Bitcoin unberührt auf einem anderen Zweig liegen. Wenn Sie den Ableitungspfad neben der Sicherung notieren, und nichts anderes daneben, verhindern Sie diese besondere Panik.

Das Gap-Limit ist das Dritte, was Sie wissen sollten. Eine wiederhergestellte Wallet sucht unter BIP-44 vorwärts über 20 ungenutzte Adressen und hört dann auf zu suchen. Wenn Sie auf einer Wallet, die Sie nie gesichert haben, vierzig Mal auf eine Empfangsschaltfläche klicken und dann die letzte Adresse verwenden, erzeugen Sie zuverlässig eine Wiederherstellung, die einen leeren Kontostand meldet.

m/84'/0'/0'/0/0 Ebene für Ebene lesen

Ein Ableitungspfad funktioniert wie eine Postanschrift und wird auf jeder Ebene enger gefasst. Lesen Sie den standardmäßigen nativen SegWit-Pfad von links nach rechts.

  • m ist der aus Ihrem Seed abgeleitete Hauptschlüssel.
  • 84' wählt den Verwendungszweck BIP-84, der native SegWit-Adressen erzeugt, die mit bc1q beginnen. Der Apostroph kennzeichnet die Ebene als gehärtet.
  • 0' ist der Coin-Typ, und 0 bedeutet Bitcoin-Mainnet. Testnet wäre 1'.
  • 0' ist das Konto, ein separates Konto für ein Unternehmen wäre also 1'.
  • 0 ist die Kette: 0 für Adressen, die Sie herausgeben, 1 für Wechselgeld.
  • 0 ist der Adressindex, der mit jeder empfangenen Zahlung steigt.

Die ersten drei Ebenen sind gehärtet, die letzten beiden nicht, und das absichtlich. Diese Aufteilung ermöglicht es, einen erweiterten öffentlichen Schlüssel auf Kontoebene in eine Watch-Only-Wallet zu exportieren, die dann Empfangs- und Wechselgeldadressen erzeugen kann, ohne jemals ein Schwesterkonto erreichen oder zum Hauptschlüssel zurückgelangen zu können.

HD-Wallet vs. Seed-Phrase

Eine HD-Wallet ist ein Ableitungsschema; eine Seed-Phrase ist eine Möglichkeit, die Zahl aufzuschreiben, von der es ausgeht. BIP-32 definiert den Baum und akzeptiert jeden Seed von 128 bis 512 Bit, empfohlen werden 256. BIP-39 definiert die Wörter. Electrum liefert ein eigenes, inkompatibles Phrasenformat aus und ist dennoch vollständig hierarchisch deterministisch, was zeigt, dass die beiden Ebenen wirklich unabhängig sind. Der Unterschied zählt, wenn Software behauptet, die Wiederherstellung nach BIP-39 zu unterstützen: Das ist ein Versprechen über das Lesen Ihrer Wörter, nicht darüber, auf welchem Zweig sie danach sucht.

HD-Wallet vs. Ableitungspfad

Eine HD-Wallet ist der Baum; ein Ableitungspfad ist eine Route durch ihn. Leute beschreiben eine Wallet als "eine BIP-84-Wallet", als wäre das eine Produktkategorie, aber jede BIP-32-Wallet kann jeden Pfad abgehen, und die meiste aktuelle Software zeigt ohne Weiteres mehrere Konten mit unterschiedlichen Verwendungszwecken aus einem Seed an. Behandeln Sie den Pfad als eine Koordinate, die Sie neben der Sicherung notieren, nicht als eine Eigenschaft der App, die Sie zufällig installiert haben.

Nicht zu verwechseln mit

Häufig gestellte Fragen

Muss ich jede Adresse sichern, die meine HD-Wallet erzeugt?

Nein. Jede Adresse entsteht durch eine feste Berechnung aus demselben Seed, die Wiederherstellungsphrase deckt also auch Adressen ab, die Sie noch nicht verwendet haben. Notieren Sie den Ableitungspfad zusammen mit der Phrase, und die Sicherung ist vollständig.

Ich habe meinen Seed wiederhergestellt, und der Kontostand ist null. Was ist schiefgelaufen?

Fast immer der Ableitungspfad oder das Gap-Limit. Dieselben Wörter erzeugen unter BIP-44, BIP-49, BIP-84 und BIP-86 unterschiedliche Adressen, und eine wiederhergestellte Wallet hört nach 20 ungenutzten Adressen auf zu scannen. Probieren Sie die anderen Verwendungszwecke und erhöhen Sie das Gap-Limit, bevor Sie annehmen, dass etwas verloren ist.

Ist eine HD-Wallet weniger sicher als das Erzeugen einzelner Schlüssel nacheinander?

Nein, und sie ist meist sicherer. Jeder Schlüssel stammt weiterhin aus 128 bis 256 Bit Entropie, und eine einzige Sicherung beseitigt den häufigsten Fehler, nämlich eine veraltete Sicherung, die einen Schlüssel nicht enthält, den Sie später verwendet haben.

Können zwei Wallet-Apps dieselbe HD-Wallet gemeinsam nutzen?

Ja. Importieren Sie dieselbe Phrase in beide und stellen Sie denselben Ableitungspfad ein, dann leiten sie identische Adressen ab und zeigen identische Kontostände an. Das Signieren aus beiden gleichzeitig kann zu widersprüchlichen Transaktionen führen, behandeln Sie daher eine als die primäre.

Weiterlesen

Verwandte Begriffe

Mehr zum Thema Adressen und Schlüssel

Diese Seite auf Englisch lesen