Zum Inhalt springen
buybitcoinsmart

Glossar / Wallets und Verwahrung

Ableitung der Seed-Phrase

Was ist die Ableitung der Seed-Phrase?
Die Ableitung der Seed-Phrase ist die Einwegfunktion, die einen mnemotechnischen Satz plus eine optionale Passphrase in den 512 Bit langen Seed umwandelt, aus dem eine Wallet tatsächlich die Schlüssel bildet.

Spezifiziert im BIP-39.

Die Funktion ist PBKDF2 mit HMAC-SHA512, ausgeführt über die Wörter selbst und nicht über die Zufälligkeit dahinter. BIP-39 legt die Anzahl der Iterationen auf 2.048 und die Ausgabe auf 64 Byte fest, wobei Ihre Passphrase an das feste Wort "mnemonic" angehängt wird, um das Salt zu bilden. Nichts in diesem Schritt prüft, ob die Wörter jemals gültig waren, sodass eine falsch eingegebene Phrase trotzdem einen wohlgeformten Seed und eine leere Wallet ergibt.

Wie es funktioniert

Die Ableitung der Seed-Phrase nimmt zwei Eingaben und liefert eine Ausgabe, in einem einzigen Aufruf ohne Zustand und ohne Erinnerung daran, was die Wörter erzeugt hat. Der mnemotechnische Satz ist das Passwort. Das Salt ist der Text "mnemonic" mit einer eventuell angehängten Passphrase, und eine leere Zeichenkette tritt an ihre Stelle, wenn keine Passphrase gesetzt wurde. Beide durchlaufen zuerst die Unicode-NFKD-Normalisierung, sodass akzentuierte Zeichen in einer französischen oder spanischen Phrase unabhängig von der Tastatur, mit der sie getippt wurden, denselben Hash ergeben.

BIP-39 stellt fest, dass diese Hälfte des Standards von der Hälfte, die eine Phrase erzeugt, "completely independent" ist, und sagt dies zustimmend: Es gibt keine Einschränkungen für die Struktur des Satzes, und Clients dürfen eigene Wortlisten oder sogar ganze Satzgeneratoren schreiben. Die praktische Lesart ist nüchterner. Geben Sie der Funktion zwölf Wörter Unsinn, liefert sie 64 einwandfrei verwendbare Byte. BIP-39 verlangt, dass Software die Prüfsumme außerhalb dieses Schritts berechnet und "issue a warning if it is invalid", eine Warnung statt einer Ablehnung, weshalb manche Werkzeuge eine Phrase wiederherstellen, von der sie Ihnen gerade gesagt haben, dass sie defekt ist.

Aus dem Hashen des Satzes statt der dahinterliegenden Entropie folgen zwei Konsequenzen. Übersetzen Sie eine Phrase Wort für Wort in eine andere Sprache, ergibt sich ein völlig anderer Seed, weil sich die Eingabebyte geändert haben, obwohl die zugrunde liegende Zufälligkeit gleich blieb. Und die Richtung kehrt sich nie um: Ein beliebiger BIP-32-Seed lässt sich nicht wieder als BIP-39-Phrase ausschreiben, weshalb "den Seed exportieren" und "die Wörter exportieren" verschiedene Anfragen sind.

Wo Sie ihr begegnen

Die Ableitung der Seed-Phrase tritt in dem Moment zutage, in dem zwei Softwarekomponenten uneins darüber sind, welche Funktion ausgeführt werden soll. Das Backup mit mehreren Anteilen auf der Trezor Safe 3 und der Safe 5, beide hier bewertet, ist SLIP-39 statt BIP-39: eine Liste mit 1.024 Wörtern, die 10 Bit auf einmal liest, was 20 Wörter pro Anteil für ein 128 Bit großes Geheimnis und 33 Wörter für ein 256 Bit großes ergibt. Diese Anteile berühren den PBKDF2-Schritt von BIP-39 nie. SLIP-39 wurde von den Autoren von BIP-39 selbst als Ersatz veröffentlicht und macht "the overly coupled design of BIP-0039 and its use of a one-way derivation function" dafür verantwortlich, dass Anteile nicht zurückkonvertiert werden können; der umgekehrte Weg funktioniert, erzwingt aber für jeden resultierenden Anteil 59 Wörter, unabhängig von der Länge, mit der Sie begonnen haben.

Die Bewertung der Coldcard auf dieser Website zeigt, was die Ableitung nicht für Sie leisten kann. Eine Firmware-Migration im März 2021 führte dazu, dass die Seed-Erzeugung auf einen pseudozufälligen Zahlengenerator in Software statt auf den in Hardware zurückgriff, und Coinkite aktualisierte seinen Hinweis am 1. August 2026. Die Ableitung selbst versagte nie. Sie machte aus einem schwachen Geheimnis einen wohlgeformten 64 Byte großen Seed hinter einer gültigen Prüfsumme, und keine nachgelagerte Wallet hatte eine Möglichkeit, dies zu bemerken.

Um die Funktion laufen zu sehen, ohne etwas zu riskieren, veröffentlicht BIP-39 Testvektoren, die Entropie, Mnemonic und den resultierenden Seed einander zuordnen, wobei für jeden Vektor die Passphrase "TREZOR" verwendet wird.

Ableitung der Seed-Phrase vs. Ableitungspfad

Die Ableitung der Seed-Phrase geschieht einmal, bevor ein einziger Schlüssel existiert; ein Ableitungspfad wird danach herangezogen, jedes Mal wenn eine Adresse benötigt wird. Dieser Unterschied entscheidet, wie schwer eine leer wirkende Wiederherstellung ausfällt. Ein falscher Pfad ist eine Einstellung: Ändern Sie den Skripttyp, scannen Sie erneut, und der Bestand erscheint. Eine falsche Passphrase ändert den Seed, was den gesamten Baum darunter ändert, und keine Einstellung bringt den alten zurück.

Nicht zu verwechseln mit

Häufig gestellte Fragen

Prüft die Ableitung der Seed-Phrase, ob meine Wörter gültig sind?

Nein, sie akzeptiert jeden beliebigen Text. BIP-39 legt die Prüfsummenkontrolle außerhalb der Ableitungsfunktion und verlangt von Wallets nur, Sie zu warnen, wenn sie fehlschlägt, sodass eine Phrase mit einem falschen Wort trotzdem einen einwandfrei gebildeten 64 Byte großen Seed ableitet und eine leere Wallet öffnet.

Öffnet eine übersetzte Seed-Phrase dieselbe Wallet?

Nein, sie öffnet eine andere. Die Ableitung hasht den Satz und nicht die Zufälligkeit dahinter, sodass der Austausch der englischen Wörter gegen ihre spanischen oder japanischen Entsprechungen die Eingabebyte ändert und damit jeden folgenden Schlüssel ändert.

Ist die Ableitung der Seed-Phrase dasselbe wie BIP-39?

Sie ist die Hälfte von BIP-39. Der Standard legt zwei getrennte Umwandlungen fest: Entropie in Wörter und Wörter in einen Seed. Die Ableitung der Seed-Phrase ist die zweite, und BIP-39 stellt fest, dass die beiden vollständig unabhängig voneinander sind.

Weiterlesen

Verwandte Begriffe

Mehr zum Thema Wallets und Verwahrung

Diese Seite auf Englisch lesen