Was ist ein (Bitcoin) HD Wallet?

0
HD Wallet Funktionsweise
Anzeige

Viele Bitcoin Wallets sind heutzutage HD Wallets. Aber was bedeutet das eigentlich?

Was ist ein HD Wallet?

HD steht für “hierarchisch und deterministisch”. HD Wallets bestehen aus vielen privaten Schlüsseln, die nicht unabhängig voneinander existieren, sondern in einer Hierarchie angeordnet sind. Außerdem werden diese Schlüssel nicht – wie sonst üblich – auf Basis von Zufallszahlen generiert, sonder deterministisch, also festen Regeln folgend, von einem bestimmten Wert abgeleitet. Diesen Ursprungswert, der selbst allerdings für eine neue Wallet zufällig generiert wird, nennt man auch “Seed”.

HD Wallets für mehr Privatsphäre und Komfort

HD Wallets wurden erfunden, um zwei Probleme von klassischen Wallets zu beheben. Zum
Einen wurden vorher oft routinemäßig private Schlüssel und die zugehörigen Bitcoin Adressen für mehrere Transaktionen verwendet. Wechselgeld von Transaktionen ging an eine schon verwendete Adresse zurück. Das ist schlecht für die Privatsphäre – Außenstehende können leichter verschiedene Transaktionen miteinander in Verbindung bringen, und zum Beispiel abschätzen, wie viel Geld man zur Verfügung hat oder welche Werte man üblicherweise bewegt.

Zum Anderen musste man jedes Mal, wenn neue private Schlüssel generiert wurden, ein neues Backup machen. Das ist mühsam und umständlich, und erhöht die Wahrscheinlichkeit, dass Backups nicht zeitnah oder gar nicht erstellt werden, oder aus Bequemlichkeit auf unsichere Weise gespeichert werden.

Wie lösen HD Wallets nun diese Probleme?

Man kann sich das ganze in stark vereinfachter Form ungefähr so vorstellen: Es gibt einen
Ursprungswert, der um eine fortlaufende Zahl ergänzt wird. Von diesem kombinierten Wert wird ein Hash berechnet, der als Basis für einen tatsächlichen privaten Schlüssel fungiert. Diese Hashes erlauben weder einen Rückschluss auf den Basis-Wert, noch haben sie eine
Verbindung zueinander. Wer den Basis-Wert kennt kann allerdings durch Anhängen
fortlaufender Zahlen und durchführen der Hash Operation alle Hashes berechnen.

465376521724650000001 -​> SHA256 ->
14ad267c3545c7e809e49c85316b530a4bb9c1f1a1438a3bea92052ae87af911
465376521724650000002 -​> SHA256 ->
331732e541f0b5a46fc3d4fa02f36c00cf2898b5fce3601b3f025603470beac8
465376521724650000003 -​> SHA256 ->
c6255a7847f1bc5e3ca15178822f31d35ce7a382c7f1892e2d3475499ec6a94a

In Wirklichkeit ist das ganze noch etwas komplexer, aber der grundsätzliche Mechanismus ist der gleiche. Wie genau die Berechnung funktioniert kann auch in der Spezifikation, BIP32, nachgelesen werden.

Mit Hilfe dieses Mechanismus kann eine HD Wallet nun also aus einem einzigen Wert beliebig viele private Schlüssel und zugehörige Adressen generieren. Hat man ein Backup dieses Wertes, so sind davon sämtliche bisher generierten Schlüssel abgedeckt – ebenso wie alle, die in der Zukunft noch generiert werden. Damit ist das Problem gelöst, denn es muss nur noch ein einziges Mal ein Backup erstellt und sicher gelagert werden.

Dank eines einfachen, nie versiegenden Stromes von frischen Bitcoin Adressen, kann ein HD Wallet nun auch leicht das mehrfache Verwenden einer Adresse vermeiden. Nach jeder
eingehenden Transaktion wird eine neue Empfangsadresse generiert. Für jede ausgehende
Transaktion wird eine neue Adresse für das Wechselgeld generiert. Nutzer können natürlich
immer noch mehrere Transaktionen auf einer Empfangsadresse entgegen nehmen, aber es ist nicht mehr nötig und wird im regulären Betrieb weitestgehend vermieden. Es gibt noch zwei sehr übliche Erweiterungen des Standards für HD Wallets. Eine davon bezieht sich auf den Punkt der Hierarchie. BIP44 definiert, wie eine Struktur für verschiedene
Konten eingerichtet werden kann.

Basis-Werte für neue Adressen

Man kann sich das so vorstellen: ein privater Schlüssel, der errechnet wurde, wird nicht direkt für eine Bitcoin Adresse verwendet, sondern selbst wieder als Basis-Wert für weitere
Ableitungen. Dadurch ergibt sich eine Baumstruktur, die es erlaubt, private Schlüssel und
Bitcoin Adressen besser zu organisieren. So lassen sich verschiedene Zweige für verschiedene Konten innerhalb einer Wallet verwenden, die Adressen für Wechselgeld können von den Empfangsadressen getrennt werden, und es gibt sogar Zweige für andere Währungen als Bitcoin.

Der zweite Zusatz bezieht sich auf die Darstellung des Basis-Wertes. Weil zufällige Werte
schwer zu lesen, schreiben und merken sind, und es ein großes Risiko für Tippfehler oder
unsauber aufgeschriebene Zeichen gibt, wurde das Backup Format für die “Seed” in einer
speziellen Darstellung spezifiziert. Die entsprechenden Details findet man im BIP39.

Dort wird festgelegt, wie man die lange Zufallszahl in Form einer Reihe von Wörtern darstellt. Dies sind üblicherweise 12, manchmal auch mehr Wörter aus einer ausgewählten Liste. Die möglichen Wörter sind so ausgewählt, dass Verwechslungen nicht leicht auftreten, damit auch undeutlich auf Papier notierte oder auswendig gelernte Backups einfach zu verwenden sind.

Viele Wallets setzen heutzutage die BIPs 32, 39 und 44 um, und sind dadurch miteinander
kompatibel. Manche Varianten verwenden auch nur die ursprünglichen Definitionen in BIP32 und verzichten auf eine Struktur mit mehreren Konten. Vereinzelt gibt es auch Umsetzungen die zwar den gleichen grundsätzlichen Mechanismus, aber ein eigenes Format verwenden.

Wie auch immer die genaue Ausprägung der Wallet gestaltet ist, fest steht dass die
Verwendung von HD Wallets die Privatsphäre schützt und das Backup für die eigenen Bitcoins einfacher macht.

Anzeige

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here

sechzehn − 8 =