NIP-46: Nostr Connect
NIP-46 define assinatura remota sobre Nostr relays. Um cliente se comunica com um assinante separado, geralmente chamado de bunker, portanto, a assinatura das chaves pode ficar fora do aplicativo que o usuário está usando ativamente.
Como funciona
- O cliente gera um par de chaves local usado apenas para a sessão do bunker.
- A conexão é estabelecida com um URI
bunker://ounostrconnect://. - Cliente e signatário trocam eventos de solicitação e resposta criptografados kind
24133por meio de relays. - Após a conexão, o cliente chama
get_public_keypara saber o usuário real pubkey para o qual está assinando.
Métodos de conexão
- bunker:// - Conexão iniciada pelo signatário
- nostrconnect:// - Conexão iniciada pelo cliente via código QR ou link direto
Os fluxos nostrconnect:// incluem um segredo compartilhado obrigatório para que o cliente possa verificar se a primeira resposta realmente veio do signatário pretendido. Isso evita a falsificação de conexão simples.
Operações Suportadas
sign_event- Assine um evento arbitrárioget_public_key- Recupera o pubkey do usuário do signatárionip04_encrypt/decrypt- Operações de criptografia NIP-04nip44_encrypt/decrypt- operações de criptografia NIP-44switch_relays- Peça ao signatário um conjunto de relays atualizado
Muitas implementações também usam cadeias de permissão como sign_event:1 ou nip44_encrypt durante a configuração para que o signatário possa aprovar um escopo restrito em vez de acesso total.
Modelo de relay e confiança
O NIP-46 remove as chaves privadas do cliente, mas não remove a confiança do signatário. O signatário pode aprovar, negar ou atrasar solicitações e vê todas as operações que o cliente solicita que ele execute. A escolha do relay também é importante porque o protocolo depende da entrega de solicitação e resposta através de relays que ambos os lados podem alcançar.
O método switch_relays existe para que o signatário possa mover a sessão para um conjunto de relays diferente ao longo do tempo. Os clientes que o ignoram funcionarão de forma menos confiável quando as preferências do signatário relay mudarem.
Fontes primárias:
Mencionado em:
- Boletim informativo nº 1: Mudanças notáveis no código
- Boletim informativo nº 3: Recapitulação de dezembro
- Boletim informativo nº 7: Primal Android se torna um centro de assinatura completo
- Boletim informativo nº 15: Eventos colaborativos NDK e tempo limite NIP-46
Veja também: