NIP-06 décrit comment dériver une paire de clés Nostr à partir d’une phrase mnémonique (seed phrase). Le texte officiel actuel de NIP-06 est marqué comme brouillon et optionnel, et il comporte l’avertissement suivant :

Avertissement unrecommended : préférez une seule nsec

Cette page présente NIP-06 pour des raisons de compatibilité historique. Elle ne recommande pas d’adopter la dérivation à partir d’une seed.

Fonctionnement

Selon la spécification actuelle, BIP39 sert à générer les mots mnémoniques et à en dériver une seed binaire. BIP32 dérive ensuite les clés le long du chemin m/44'/1237'/<account>'/0/0, où 1237 correspond à l’entrée de Nostr dans SLIP44. Un client basique peut utiliser le compte 0. En incrémentant la valeur du compte, on obtient d’autres clés issues de la même seed. Deux implémentations ne reproduisent la même identité que si elles s’accordent sur les étapes de dérivation et utilisent les bons encodages pour le résultat.

Vecteurs de test

Un commit du 12 octobre 2023 a ajouté deux vecteurs de test, l’un construit à partir d’un mnémonique de 12 mots, l’autre à partir d’un mnémonique de 24 mots. Chacun indique la clé privée et la clé publique attendues en hexadécimal, ainsi que les encodages nsec et npub correspondants. Les développeurs peuvent s’en servir pour comparer leurs implémentations entre elles. Ces vecteurs ne disent rien de la garde des clés, ne certifient pas la sécurité et ne garantissent pas une interopérabilité universelle.

Voir aussi

Sources primaires :

Mentionné dans :