A NIP-06 descreve como derivar um par de chaves Nostr a partir de uma frase-semente mnemônica. O texto oficial atual da NIP-06 está marcado como rascunho e opcional e traz este aviso:

Aviso unrecommended: prefira uma única nsec

Esta página aborda a NIP-06 por compatibilidade histórica. Ela não recomenda adotar a derivação por semente.

Como funciona

De acordo com a especificação atual, o BIP39 é usado para gerar as palavras mnemônicas e derivar delas uma semente binária. Em seguida, o BIP32 deriva as chaves pelo caminho m/44'/1237'/<account>'/0/0, em que 1237 é a entrada do Nostr na SLIP44. Um cliente básico pode usar a conta 0. Ao incrementar o valor da conta, obtêm-se outras chaves a partir da mesma semente. Duas implementações só reproduzem a mesma identidade quando concordam nas etapas de derivação e usam as codificações corretas para o resultado.

Vetores de teste

Um commit de 12 de outubro de 2023 adicionou dois vetores de teste: um construído a partir de um mnemônico de 12 palavras e outro a partir de um mnemônico de 24 palavras. Cada um lista a chave privada e a chave pública esperadas em hex, junto com as codificações nsec e npub correspondentes. Os desenvolvedores podem usar os vetores para fazer a verificação cruzada de implementações. Os vetores nada dizem sobre a custódia de chaves. Eles também não certificam segurança nem garantem interoperabilidade universal.

Veja também

Fontes primárias:

Mencionado em: