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: