NIP-46: Nostr Connect
NIP-46 define la firma remota sobre relays de Nostr. Un cliente se comunica con un firmante separado, a menudo llamado bunker, para que las claves de firma puedan permanecer fuera de la aplicación que el usuario está usando activamente.
Cómo Funciona
- El cliente genera un par de claves local usado solo para la sesión con el bunker.
- La conexión se establece con una URI
bunker://onostrconnect://. - Cliente y firmante intercambian eventos kind
24133de solicitud y respuesta cifrados a través de relays. - Después de conectarse, el cliente llama a
get_public_keypara conocer la pubkey real del usuario para la cual está firmando.
Métodos de Conexión
- bunker:// - Conexión iniciada por el firmante
- nostrconnect:// - Conexión iniciada por el cliente a través de código QR o deep link
Los flujos nostrconnect:// incluyen un secreto compartido obligatorio para que el cliente pueda verificar que la primera respuesta realmente provino del firmante previsto. Eso previene suplantación simple de conexión.
Operaciones Soportadas
sign_event- Firmar un evento arbitrarioget_public_key- Obtener la pubkey del usuario desde el firmantenip04_encrypt/decrypt- Operaciones de cifrado NIP-04nip44_encrypt/decrypt- Operaciones de cifrado NIP-44switch_relays- Pedir al firmante un conjunto de relays actualizado
Muchas implementaciones también usan cadenas de permisos como sign_event:1 o nip44_encrypt durante la configuración para que el firmante pueda aprobar un alcance limitado en lugar de acceso completo.
Modelo de Relay y Confianza
NIP-46 saca las claves privadas del cliente, pero no elimina la confianza del firmante. El firmante puede aprobar, denegar o retrasar solicitudes, y ve cada operación que el cliente le pide realizar. La elección de relay también importa porque el protocolo depende de la entrega de solicitudes y respuestas a través de relays a los que ambas partes puedan llegar.
El método switch_relays existe para que el firmante pueda mover la sesión a un conjunto diferente de relays con el tiempo. Los clientes que lo ignoran funcionarán de forma menos confiable cuando cambien las preferencias de relay del firmante.
Fuentes primarias:
Mencionado en:
- Newsletter #1: Cambios Notables de Código
- Newsletter #3: Resumen de Diciembre
- Newsletter #7: Primal Android se Convierte en Hub de Firma Completo
- Newsletter #15: Eventos Colaborativos de NDK y Timeout de NIP-46
Ver también: