Firmar eventos en Nostr: por qué ningún relay puede falsear un mensaje
La página de la cuarta sección de la demo educativa sobre Nostr. En esta ocasión se explica de forma interactiva, cómo se firma un evento y qué ocurre cuando alguien intenta alterar un mensaje ya firmado.
Funcionalidades principales
- Firma interactiva paso a paso: el visitante escribe un mensaje y la demo lo firma localmente, mostrando cada etapa del proceso.
- Forma canónica del evento: expone la serialización estándar del evento, formada por seis valores en orden fijo y sin espacios, sobre la que todos los clientes deben estar de acuerdo para que los identificadores coincidan.
- Cálculo del identificador: muestra que el identificador del evento es el hash SHA 256 de la forma canónica. Nadie lo asigna, se deriva del propio contenido.
- Firma Schnorr: genera una firma sobre el identificador usando la clave privada, demostrando que solo esa clave podría producirla.
- Prueba de alteración: al cambiar un solo carácter del mensaje firmado, el relay local lo rechaza indicando que la firma o el identificador no coinciden con el evento.
- Monitor de tráfico en vivo: un panel muestra los mensajes
EVENTyOKque viajan entre el cliente y el relay, incluyendo la aceptación del evento legítimo y el rechazo del manipulado.
Idea central
Cambiar un solo carácter de un evento firmado es detectable por cualquier relay. El identificador deja de coincidir con el contenido y la firma deja de coincidir con el identificador.
Esta propiedad explica por qué los relays de Nostr pueden ser simples e intercambiables. Un relay puede negarse a transmitir un evento, pero ninguno puede falsificarlo ni modificarlo. La verificación es puramente matemática y no requiere confiar en el servidor.
Estructura del proceso de firma
- Serialización canónica: el evento se convierte en un array JSON con seis valores en orden fijo, sin espacios en blanco.
- Identificador: se calcula el hash SHA 256 de esa cadena serializada.
- Firma: se firma el identificador con la clave privada usando Schnorr sobre la curva secp256k1.
La demo convierte un concepto criptográfico abstracto, la integridad mediante firmas digitales, en un experimento tangible. El visitante escribe, firma, publica y luego intenta engañar al relay modificando el mensaje. Al ver el rechazo en tiempo real, comprende que en Nostr la autenticidad no depende de la confianza en un intermediario, sino de las matemáticas.
- Aqui esta el link de la fuente:
https://rookery-six.vercel.app/