Zum Hauptinhalt springen

BIP-39-Standard erklärt: So funktionieren mnemonische Seed-Phrasen

BIP-39 (Bitcoin Improvement Proposal 39) definiert den Standard zur Erzeugung mnemonischer Sätze — der bekannten Folgen aus 12 oder 24 Wörtern — die die Entropie kodieren, aus der Wallet-Schlüssel für Kryptowährungen abgeleitet werden. Veröffentlicht im Jahr 2013 von Marek Palatinus, Pavol Rusnak, Aaron Voisine und Sean Bowe, ist BIP-39 zum dominierenden Standard für Wallet-Backups in nahezu allen großen Kryptowährungen geworden.

Wenn Sie BIP-39 auf technischer Ebene verstehen, gewinnen Sie Vertrauen, dass Ihr Seed-Phrase-Backup zuverlässig ist, und Sie können die Sicherheitseigenschaften verschiedener Wallet-Implementierungen besser bewerten.

Überblick über BIP-39

BIP-39 spezifiziert zwei Prozesse:

  1. Erzeugung der Mnemonik — Umwandlung zufälliger Entropie in eine Folge menschenlesbarer Wörter.
  2. Seed-Ableitung — Umwandlung der mnemonischen Wörter (plus einer optionalen Passphrase) in einen 512-Bit-Binär-Seed, der mit BIP-32 für hierarchisch-deterministische Schlüsselerzeugung verwendet werden kann.

Diese beiden Prozesse sind bewusst getrennt. Die Mnemonik ist die menschenfreundliche Darstellung; der Seed ist die kryptografische Eingabe für die Schlüsselableitung.

Schritt 1: Entropie-Erzeugung

Der Prozess beginnt mit einem Block kryptografisch sicherer Zufallsdaten (Entropie). BIP-39 unterstützt fünf Entropiegrößen:

Entropie (Bits)Prüfsumme (Bits)Gesamt (Bits)Wörter
128413212
160516515
192619818
224723121
256826424

In der Praxis verwenden fast alle Wallets entweder 128 Bits (12 Wörter) oder 256 Bits (24 Wörter). Die anderen Größen sind laut Spezifikation gültig, werden aber selten implementiert.

Die Qualität der Entropiequelle ist entscheidend. Wenn der Zufallszahlengenerator verzerrt, vorhersehbar oder mit unzureichender Entropie arbeitet, kann die resultierende Seed-Phrase von einem Angreifer erraten werden. Siehe unseren Leitfaden zu Entropie und Zufälligkeit für eine detaillierte Behandlung dieses Themas.

Entropiequellen

  • Hardware-Zufallszahlengeneratoren (HRNG) — Werden von Hardware-Wallets wie Ledger und Trezor verwendet. Diese sampeln physikalische Phänomene (thermisches Rauschen, Schrotrauschen), um echte Zufälligkeit zu erzeugen.
  • Betriebssystem-CSPRNG/dev/urandom unter Linux/macOS, CryptGenRandom unter Windows oder crypto.getRandomValues() in Browsern. Das sind kryptografisch sichere pseudozufällige Zahlengeneratoren (CSPRNGs), die aus Hardware-Entropiequellen initialisiert werden.
  • Würfelwürfe — Manche Nutzer erzeugen Entropie manuell mit Casino-Würfeln und bilden Würfe auf Binärwerte oder Wortindizes ab. Dadurch entfällt das Vertrauen in Software- oder Hardware-RNGs.

Schritt 2: Berechnung der Prüfsumme

Sobald die Entropie erzeugt wurde, wird eine Prüfsumme angehängt:

  1. Berechnen Sie den SHA-256-Hash der Entropie-Bytes.
  2. Nehmen Sie die ersten ENT / 32 Bits des Hashes (wobei ENT die Entropielänge in Bits ist).
  3. Hängen Sie diese Prüfsummen-Bits an die Entropie an.

Bei 256-Bit-Entropie ergibt das 8 Prüfsummen-Bits und damit insgesamt 264 Bits.

Die Prüfsumme dient als Fehlererkennungsmechanismus: Wenn Sie Ihre Seed-Phrase zur Wiederherstellung in eine Wallet eingeben, berechnet die Wallet die Prüfsumme neu. Ist ein Wort falsch oder die Reihenfolge der Wörter falsch, schlägt die Prüfsumme fehl und die Wallet lehnt die Mnemonik ab. Das schützt vor Abschreibfehlern, korrigiert sie aber nicht — es erkennt nur, dass etwas nicht stimmt.

Auswirkungen der Prüfsumme

Da das letzte Wort der Mnemonik Prüfsummen-Bits kodiert, sind nicht alle Wörter als letztes Wort für eine gegebene Sequenz gültig. Bei einer 24-Wort-Mnemonik kodiert das letzte Wort 3 Bits Entropie und 8 Bits Prüfsumme, daher sind für beliebige erste 23 Wörter nur 8 der 2.048 möglichen Wörter gültig. Deshalb kann man das letzte Wort nicht frei wählen.

Schritt 3: Abbildung auf Wörter

Die kombinierten Entropie- + Prüfsummen-Bits werden in Gruppen von 11 Bits aufgeteilt. Jede 11-Bit-Gruppe repräsentiert einen Index von 0 bis 2.047, der einem Wort in der BIP-39-Wortliste entspricht.

264 bits / 11 bits per word = 24 words
132 bits / 11 bits per word = 12 words

Die englische Wortliste

Die englische BIP-39-Wortliste enthält genau 2.048 Wörter. Die Liste wurde sorgfältig mit folgenden Eigenschaften kuratiert:

  • Eindeutige Vier-Buchstaben-Präfixe — Keine zwei Wörter teilen sich die gleichen ersten vier Zeichen. Das bedeutet, abandon kann eindeutig als aban identifiziert werden, was für kompakte Metall-Backups nützlich ist.
  • Allgemeiner Wortschatz — Wörter sind einfach und weit bekannte englische Wörter. Kein Fachjargon, keine Eigennamen, keine obskuren Begriffe.
  • Vermeidung ähnlicher Wörter — Wörter, die leicht verwechselt werden können (z. B. "woman" und "women"), werden nach Möglichkeit ausgeschlossen.
  • Zeichenlänge — Alle Wörter sind zwischen 3 und 8 Zeichen lang.

Wortlisten in anderen Sprachen

BIP-39 definiert Wortlisten in neun Sprachen:

SpracheStatusHinweise
EnglischReferenzstandardAm weitesten unterstützt
JapanischStandardisiertVerwendet Katakana; Leerzeichen sind ideografisch (U+3000)
KoreanischStandardisiert
SpanischStandardisiert
Chinesisch (Vereinfacht)Standardisiert
Chinesisch (Traditionell)Standardisiert
FranzösischStandardisiert
ItalienischStandardisiert
TschechischStandardisiert
PortugiesischStandardisiert

Wichtiger Kompatibilitätshinweis: Eine mit einer Wortliste erzeugte Mnemonik kann nicht mit einer Wortliste in einer anderen Sprache wiederhergestellt werden. Die Wortindizes unterscheiden sich zwischen den Sprachen. Notieren Sie immer, welche Sprache beim Erstellen Ihres Backups verwendet wurde.

Schritt 4: Seed-Ableitung (PBKDF2)

Der mnemonische Satz wird nicht direkt als kryptografischer Schlüssel verwendet. Stattdessen durchläuft er Key Stretching mit PBKDF2-HMAC-SHA512:

PBKDF2(
password = mnemonic sentence (words joined by spaces, normalized to UTF-8 NFKD),
salt = "mnemonic" + optional_passphrase,
iterations = 2048,
key_length = 512 bits
)

Dadurch entsteht ein 512-Bit-Seed, der als Eingabe für die hierarchisch-deterministische Schlüsselableitung nach BIP-32 dient.

Wichtige Eigenschaften von PBKDF2 in BIP-39

Key Stretching — Die 2.048 Iterationen von PBKDF2 erhöhen den Rechenaufwand bei Brute-Force-Angriffen. Obwohl 2.048 Iterationen im Vergleich zu modernen Passwort-Hashing-Standards moderat sind, stammt die primäre Sicherheit aus der Entropie der Mnemonik selbst (128 oder 256 Bits), nicht aus dem Key-Stretching-Faktor.

Passphrase-Unterstützung — Das Salt enthält eine optionale Passphrase (das "25. Wort"). Wenn keine Passphrase angegeben wird, ist das Salt einfach die Zeichenfolge "mnemonic". Wenn eine Passphrase angegeben wird, wird das Salt zu "mnemonic" + Passphrase. Das bedeutet: Jede unterschiedliche Passphrase erzeugt aus derselben Mnemonik einen vollständig anderen Seed — und damit einen vollständig anderen Satz von Schlüsseln und Adressen.

Keine Validierung der Passphrase — Anders als bei der Prüfsumme der Mnemonik gibt es keine Prüfsumme für die Passphrase. Jede Passphrase ist gültig. Die Eingabe einer falschen Passphrase erzeugt keinen Fehler; sie erzeugt stillschweigend eine andere (leere) Wallet. Das ist ein Feature für plausible Abstreitbarkeit, aber ein Risiko für Nutzer, die ihre Passphrase vergessen.

Unicode-Normalisierung — Mnemonik und Passphrase werden mit UTF-8 NFKD (Normalization Form Compatibility Decomposition) normalisiert, bevor sie an PBKDF2 übergeben werden. Dadurch ist eine konsistente Seed-Ableitung über Implementierungen hinweg sichergestellt, unabhängig davon, wie das Betriebssystem Zeichen intern darstellt.

Schritt 5: Vom Seed zu Schlüsseln (BIP-32)

Der 512-Bit-Seed aus PBKDF2 wird als Eingabe für BIP-32 (Hierarchical Deterministic Wallets) verwendet:

  1. Der Seed wird durch HMAC-SHA512 mit dem Schlüssel "Bitcoin seed" verarbeitet.
  2. Die linken 256 Bits werden zum Master-Private-Key.
  3. Die rechten 256 Bits werden zum Master-Chain-Code.
  4. Zusammen bilden sie den erweiterten Master-Private-Key (xprv).

Ab hier definieren BIP-44-Ableitungspfade eine standardisierte Baumstruktur zur Ableitung coin-spezifischer Schlüssel und Adressen.

Durchgerechnetes Beispiel

Lassen Sie uns BIP-39 anhand eines vereinfachten Beispiels mit 128 Bits Entropie (12-Wort-Mnemonik) durchgehen:

1. 128 Bits Entropie erzeugen

00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000

(Das ist Entropie aus lauter Nullen — nur zur Veranschaulichung. Niemals in der Praxis verwenden.)

2. SHA-256-Hash berechnen

SHA256(0x00000000000000000000000000000000) = 374708fff7719dd5979ec875d56cd2286f6d3cf7ec317a3b25632aab28ec37bb

3. Erste 4 Bits des Hashes als Prüfsumme nehmen

Erstes Byte: 0x37 = 00110111. Erste 4 Bits: 0011.

4. Prüfsumme an Entropie anhängen

128 Bits Nullen + 0011 = insgesamt 132 Bits.

5. In 11-Bit-Gruppen aufteilen

00000000000 → 0 → "abandon"
00000000000 → 0 → "abandon"
00000000000 → 0 → "abandon"
00000000000 → 0 → "abandon"
00000000000 → 0 → "abandon"
00000000000 → 0 → "abandon"
00000000000 → 0 → "abandon"
00000000000 → 0 → "abandon"
00000000000 → 0 → "abandon"
00000000000 → 0 → "abandon"
00000000000 → 0 → "abandon"
00000000011 → 3 → "about"

Ergebnis: abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about

Dies ist der bekannte Testvektor für Entropie aus lauter Nullen. Das letzte Wort ist "about" (nicht "abandon") wegen der Prüfsummen-Bits.

6. Seed mit PBKDF2 ableiten

PBKDF2("abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about", "mnemonic", 2048, 64)

Dadurch entsteht ein 512-Bit-Seed, der für die BIP-32-Ableitung verwendet wird.

SafeSeed Tool

Verwenden Sie den SafeSeed Seed Phrase Generator, um BIP-39 in Aktion zu sehen. Erzeugen Sie eine Seed-Phrase und betrachten Sie Entropie, Prüfsumme und Wortabbildung in Echtzeit. Führen Sie das Tool für maximale Sicherheit offline aus.

Sicherheitsanalyse von BIP-39

Entropie-Sicherheit

Für eine 24-Wort-Mnemonik (256 Bits Entropie):

  • Der Suchraum beträgt 2^256, ungefähr 1.16 x 10^77 Möglichkeiten.
  • Selbst bei einer Rate von einer Billion (10^12) Versuchen pro Sekunde würde eine vollständige Suche ungefähr 3.67 x 10^57 Jahre dauern — weit länger als das Alter des Universums (1.38 x 10^10 Jahre).

Für eine 12-Wort-Mnemonik (128 Bits Entropie):

  • Der Suchraum beträgt 2^128, ungefähr 3.4 x 10^38 Möglichkeiten.
  • Bei einer Billion Versuchen pro Sekunde würde eine vollständige Suche ungefähr 10^19 Jahre dauern.

Beides ist mit klassischer Rechenleistung praktisch nicht durchführbar.

PBKDF2-Betrachtungen

PBKDF2 mit 2.048 Iterationen fügt Brute-Force-Angriffen einen konstanten Faktor hinzu, ist aber nicht die primäre Sicherheitsbarriere. Einige Sicherheitsforscher haben angemerkt, dass 2.048 Iterationen im Vergleich zu modernen Schlüsselableitungsfunktionen wie Argon2 oder bcrypt niedrig sind. Da jedoch die Entropie der Mnemonik (128 oder 256 Bits) der dominierende Faktor ist, ist dies in der Praxis ein eher geringes Problem.

Einschränkungen der Prüfsumme

Die Prüfsumme erkennt die meisten Abschreibfehler, aber:

  • Sie erkennt Fehler, korrigiert sie jedoch nicht.
  • Bei 12-Wort-Mnemoniken gibt es nur 4 Prüfsummen-Bits, was bedeutet, dass ungefähr 1 von 16 zufälligen Änderungen die Prüfsumme besteht.
  • Die Prüfsumme schützt nicht vor Wortumstellungen, die zufällig eine gültige Prüfsumme ergeben.

Risiken bei Passphrasen

Die Passphrase-Funktion ist leistungsfähig, bringt aber Risiken mit sich:

  • Wenn Sie die Passphrase vergessen, sind die Mittel nicht wiederherstellbar (kein "Reset"-Mechanismus).
  • Die Passphrase wird nicht validiert — jede Zeichenfolge erzeugt eine gültige Wallet.
  • Ein Angreifer, der die Mnemonik, aber nicht die Passphrase besitzt, muss die Passphrase per Brute Force erraten, was zusätzliche Sicherheit proportional zur Entropie der Passphrase bietet.

Kritik an BIP-39

BIP-39 ist in der Bitcoin-Entwicklergemeinschaft nicht ohne Kritiker.

Keine Versionierung

BIP-39 enthält kein Versionsbyte, was bedeutet, dass der Ableitungsprozess für immer festgelegt ist. Wenn eine zukünftige Verbesserung eine andere Schlüsselableitungsfunktion oder andere Parameter erfordert, kann das nicht innerhalb des Mnemonik-Formats signalisiert werden. Deshalb verwenden einige Wallets (insbesondere Electrum) ihr eigenes Mnemonik-Schema mit Versionierung.

Enge Kopplung an die Wortliste

Die Mnemonik hängt von der exakten Wortliste ab. Würde die Wortliste jemals geändert, könnten bestehende Mnemoniken nicht wiederhergestellt werden. Die Wortlisten wurden seit der Standardisierung eingefroren, aber diese Unflexibilität wird von einigen als Design-Einschränkung angesehen.

Schwaches Key Stretching

Wie erwähnt gelten 2.048 Iterationen von PBKDF2 nach modernen Maßstäben als schwach. Obwohl dies die Sicherheit bei Mnemoniken mit hoher Entropie nicht wesentlich beeinträchtigt, bietet es weniger Schutz für kurze oder vom Nutzer gewählte Passphrasen.

Electrums Alternative

Die Electrum-Wallet verwendet ihr eigenes Mnemonik-Schema mit Versionierung und ohne Abhängigkeit von einer festen Wortliste. Electrum-Mnemoniken sind nicht mit BIP-39 kompatibel. Das bedeutet, dass eine Electrum-Seed-Phrase nicht in einer BIP-39-Wallet wiederhergestellt werden kann und umgekehrt. Stellen Sie immer sicher, welchen Standard Ihre Wallet verwendet.

BIP-39-Implementierungen

BIP-39 ist in praktisch jeder großen Wallet implementiert:

WalletBIP-39WortanzahlHinweise
LedgerJa24Hardware, sicheres Element
TrezorJa12/24Unterstützt auch SLIP-39 (Shamir)
ColdcardJa24Nur-Bitcoin-Hardware
MetaMaskJa12Browser-Erweiterung
Trust WalletJa12Mobil
ExodusJa12Desktop/mobil
ElectrumNein12Verwendet eigenes Schema
BlueWalletJa12/24Bitcoin-fokussierte Mobile-Wallet

Testen und Verifizieren

Offizielle Testvektoren

Die BIP-39-Spezifikation enthält Testvektoren — bekannte Entropiewerte mit den entsprechenden mnemonischen Wörtern und abgeleiteten Seeds. Diese werden verwendet, um zu prüfen, ob Implementierungen korrekt sind.

Sie können die BIP-39-Implementierung Ihrer Wallet verifizieren, indem Sie sie mit den offiziellen Testvektoren vergleichen, die hier veröffentlicht sind:

Verifizierung Ihrer Seed-Phrase

So verifizieren Sie, dass Sie Ihre Seed-Phrase korrekt notiert haben:

  1. Erzeugen Sie die Seed-Phrase auf Ihrer Hardware-Wallet.
  2. Schreiben Sie sie sorgfältig auf.
  3. Setzen Sie die Hardware-Wallet auf Werkseinstellungen zurück.
  4. Stellen Sie sie mit der notierten Seed-Phrase wieder her.
  5. Verifizieren Sie, dass dieselben Adressen erzeugt werden.
  6. Bestätigen Sie, dass die Wallet Transaktionen signieren kann.

Dieser Prozess bestätigt sowohl, dass Ihr Backup korrekt ist, als auch, dass die BIP-39-Implementierung der Wallet wie erwartet funktioniert.

FAQ

Wofür steht BIP-39?

BIP steht für Bitcoin Improvement Proposal. BIP-39 ist Vorschlag Nummer 39 und definiert den Standard zur Erstellung mnemonischer (menschenlesbarer) Darstellungen kryptografischer Entropie. Er wurde 2013 eingeführt und von nahezu allen großen Kryptowallets übernommen.

Sind alle 12-Wort-Seed-Phrasen BIP-39?

Nein. Einige Wallets (insbesondere Electrum) verwenden ein eigenes Mnemonik-Schema, das sich von BIP-39 unterscheidet. Obwohl beide 12-Wort-Phrasen aus Wortlisten erzeugen, sind Kodierung, Wortlisten und Ableitungsprozesse unterschiedlich. Eine BIP-39-Phrase kann nicht mit Electrums Schema verwendet werden und umgekehrt. Prüfen Sie immer die Dokumentation Ihrer Wallet.

Kann ich meine eigene BIP-39-Seed-Phrase erstellen, indem ich Wörter auswähle?

Davon ist abzuraten. Auch wenn es technisch möglich ist, 23 Wörter auszuwählen und ein gültiges 24. Wort zu berechnen (zur Erfüllung der Prüfsumme), erzeugt menschliche Wortauswahl keine ausreichende Entropie. Die Sicherheit von BIP-39 hängt davon ab, dass die Wörter aus hochwertigen Zufallsdaten abgeleitet werden, nicht aus menschlicher Auswahl. Lassen Sie die Entropie von einem CSPRNG erzeugen.

Warum wird das Wort "mnemonic" als PBKDF2-Salt verwendet?

Die Zeichenfolge "mnemonic" ist ein festes Salt, das von BIP-39 spezifiziert ist. Wenn eine Passphrase verwendet wird, wird sie an dieses Salt angehängt (z. B. "mnemonicMyPassphrase"). Die Verwendung eines festen bekannten Salts gewährleistet eine konsistente Seed-Ableitung über alle Implementierungen hinweg, ohne zusätzliche Informationen außer Mnemonik und optionaler Passphrase zu benötigen.

Wird BIP-39 nur für Bitcoin verwendet?

Nein. BIP-39 wird in nahezu allen großen Kryptowährungen verwendet, darunter Ethereum, Litecoin, Cardano, Solana und viele andere. Der Prozess zur Mnemonik-Erzeugung und Seed-Ableitung ist identisch; nur die nachgelagerten Schlüsselableitungspfade (definiert durch BIP-44-Coin-Typen) unterscheiden sich zwischen den Chains.

Was ist der Unterschied zwischen BIP-39 und SLIP-39?

BIP-39 erzeugt eine einzelne Mnemonik, die das vollständige Geheimnis repräsentiert. SLIP-39 (Satoshi Labs Improvement Proposal 39) implementiert Shamirs Secret Sharing und teilt das Geheimnis in mehrere Anteile auf (z. B. 3-von-5). Jede Schwellenanzahl von Anteilen kann das Geheimnis rekonstruieren, aber weniger Anteile liefern keine Informationen. SLIP-39 verwendet eine andere Wortliste und Kodierung als BIP-39.

Wie viele gültige BIP-39-Mnemoniken gibt es?

Für 24-Wort-Mnemoniken: 2^256 (ungefähr 1.16 x 10^77). Für 12-Wort-Mnemoniken: 2^128 (ungefähr 3.4 x 10^38). Diese Zahlen repräsentieren den Entropieraum. Die Prüfsumme schränkt die Wortkombinationen ein, reduziert aber nicht die Entropie — sie bedeutet nur, dass nicht jede zufällige Folge aus 24 BIP-39-Wörtern eine gültige Mnemonik bildet.

Verwandte Leitfäden