NIP-06: Schlüsselableitung aus einer Mnemonic
NIP-06 beschreibt, wie man ein Nostr-Schlüsselpaar aus einer mnemonischen Seed-Phrase ableitet. Der aktuelle offizielle NIP-06-Text ist als Entwurf und optional gekennzeichnet und enthält diese Warnung:
Warnung
unrecommended: einen einzelnen nsec bevorzugen
Diese Seite behandelt NIP-06 aus Gründen der historischen Kompatibilität. Sie empfiehlt nicht, die Seed-Ableitung einzuführen.
Funktionsweise
Laut der aktuellen Spezifikation wird BIP39 verwendet, um die mnemonischen Wörter zu erzeugen und daraus einen binären Seed abzuleiten. Anschließend leitet BIP32 Schlüssel entlang des Pfads m/44'/1237'/<account>'/0/0 ab, wobei 1237 der Nostr-Eintrag in SLIP44 ist. Ein einfacher Client kann Account 0 verwenden. Durch Erhöhen des Account-Werts ergeben sich weitere Schlüssel aus demselben Seed. Zwei Implementierungen reproduzieren nur dann dieselbe Identität, wenn sie bei den Ableitungsschritten übereinstimmen und für das Ergebnis die korrekten Kodierungen verwenden.
Testvektoren
Ein Commit vom 12. Oktober 2023 fügte zwei Testvektoren hinzu, einen auf Basis einer Mnemonic mit 12 Wörtern und einen auf Basis einer Mnemonic mit 24 Wörtern. Jeder führt den erwarteten privaten und öffentlichen Schlüssel in Hex auf, zusammen mit den passenden nsec- und npub-Kodierungen. Entwickler können die Vektoren nutzen, um Implementierungen gegeneinander zu prüfen. Die Vektoren sagen nichts über die Schlüsselverwahrung aus, bescheinigen keine Sicherheit und garantieren keine universelle Interoperabilität.
Siehe auch
Primärquellen:
Erwähnt in: