nostr es un protocolo
sobre el que se pueden construir muchas cosas.
Nostr no es una app. Es un protocolo abierto, ligero, simple y extensible que permite construir redes verdaderamente resistentes a la censura y descentralizadas. Redes sociales, chat, pagos, blogs, mercados. Nadie es dueño de él.
El protocolo se basa en relays. Los relays son servidores que cualquiera puede operar. Al abrir una conexión persistente con un relay, los clientes (las apps que usas) envían y reciben eventos en tiempo real. Nadie puede expulsarte.
contenidos
- 01 claves y cuentas
- 02 eventos
- 03 relays
- 04 zaps
- 05 mensajes privados
- 06 qué puedes hacer con él
- 07 construye sobre nostr
01
claves y cuentas
En Nostr no necesitas registrarte dando datos personales. No hay email, ni teléfono, ni contraseña.
Como en Bitcoin, solo necesitas un par de claves. Dos claves, para ser precisos:
npub1…
Actuará como tu nombre de usuario. Se puede compartir y es pública para todo el mundo.
nsec1…
Es como tu contraseña. Debes mantenerla en secreto (de ahí el nombre). Te da acceso a tu cuenta en cualquier plataforma que hable Nostr.
Debes guardar tu clave privada. Es la única forma de recuperar y volver a acceder a tu cuenta en el futuro.
conseguir un par de claves
La forma fácil es usar nstart.me. Genera un par de claves, te guía por una copia de seguridad, te deja elegir un nombre y relays decentes, y luego te envía al cliente que prefieras.
La mayoría de clientes también pueden generar claves la primera vez que los abres. Cualquiera de las dos opciones funciona, pero si es tu primera vez, el proceso de Nstart de arriba es más amigable.
firmadores: no pegues tu nsec en apps cualquiera
Tu nsec es la llave de casa. Pegarla en una app de confianza que la guarde solo en tu dispositivo está bien (muchos clientes buenos funcionan así), pero en cuanto la pegas en algo que no conoces bien, ya no es secreta. Lo más seguro por defecto es dejar que un firmador (signer) guarde la clave y firme eventos en nombre de las apps que uses.
- Amber en Android.
- nsec.app en el navegador, sin instalar nada.
- nos2x o Alby como extensiones del navegador.
un nombre legible (NIP-05)
Un npub1… no es fácil de recordar. NIP-05 te deja reclamar un nombre más amigable como alice@example.com alojando un pequeño archivo JSON en un dominio que controles. No es un registro central, solo DNS.
información del perfil
Puedes añadir metadatos a tus claves: un nombre, una biografía, un avatar, una portada. La mayoría de clientes te dejan editar todo esto. Por debajo, es simplemente otro evento firmado.
El protocolo Nostr es extensible mediante NIPs (Nostr Implementation Possibilities). Los NIPs son las especificaciones que se escriben cuando se quiere añadir algo al protocolo. NIP-01 es el núcleo; el resto es opcional.
02
eventos
El único tipo de objeto que existe en Nostr es el evento. Los eventos son estructuras pequeñas, firmadas y solo de texto. Todo lo que tu cliente envía a un relay es un evento: una publicación, una respuesta, un like, una actualización de perfil, un zap, un mensaje privado, un artículo largo.
Así es un evento por dentro:
// kind 1, una nota de texto plano { "id": "c011…4c43", "pubkey": "dec1…4fb3", "created_at": 1761522400, "kind": 1, "tags": [], "content": "¡buenos días!", "sig": "e1dc…5f1" }
Desglosándolo:
- Los campos
contentycreated_athablan por sí solos. - El
ides un identificador único de este evento. Es cómo la red se refiere a él. - El
pubkeyes la clave pública (el usuario) que creó el evento. - El
siges una prueba criptográfica de que quien publicó el evento posee la clave privada que corresponde alpubkey. - El campo
tagspuede contener las etiquetas que quieras: referencias a otros eventos, otros usuarios, URLs, hashtags. Cuando respondes a una nota, por ejemplo, su id acaba en una etiqueta aquí.
kinds
El kind del evento es una de las partes más interesantes de Nostr. Es un número que indica qué tipo de evento es. Lo interesante: los kinds no están limitados, así que cualquiera puede inventar nuevos para lo que quiera construir.
Algunos kinds comunes:
- 0 información del perfil (nombre, bio, foto)
- 1 una nota de texto corta (el "tweet")
- 3 tu lista de contactos (a quién sigues)
- 6 una republicación
- 7 una reacción (like, emoji)
- 1059 un mensaje privado (NIP-17)
- 9735 un recibo de zap (NIP-57)
- 10002 tu lista de relays (NIP-65)
- 30023 un artículo largo (NIP-23)
- 30311 una retransmisión en directo
La lista completa vive en el repo de NIPs. Cualquiera puede proponer uno nuevo.
03
relays
Los relays son una pieza esencial de Nostr. Reciben eventos de los clientes, los guardan y los pasan a quien esté suscrito. Eso es todo lo que hacen.
Los relays no se comunican entre sí. Solo los relays a los que estés conectado recibirán y guardarán tus eventos. Esto es importante, así que vale la pena decirlo dos veces: los relays no se comunican entre ellos.
Te interesa estar conectado a varios relays. Los clientes te dejan elegir los que quieras, y puedes decidir si leer, escribir o ambas cosas en cada uno. Por ejemplo, puedes conectarte a un relay solo para leer, sin publicar ahí.
Si yo estoy conectado solo al relay A y tú solo al B, no veremos las publicaciones del otro aunque los dos estemos en Nostr. Para arreglarlo, uno de los dos tiene que conectarse a un relay que use el otro.
Puede sonar confuso al principio, pero en realidad es una propiedad muy útil. Puedes tener un relay que nunca compartas con nadie y publicar todos tus eventos ahí como copia personal. Puedes conectarte a un relay dedicado al fútbol, y si el fútbol no te interesa, simplemente no lo añades.
el modelo outbox
Para que esto no sea adivinar a ciegas, existe NIP-65. Publicas un pequeño evento que dice "estos son los relays en los que escribo, estos son los que leo". Los clientes modernos (Damus, Amethyst, Primal, Coracle y otros) leen esa lista y descubren solos dónde buscar.
Si alguien no puede ver tus publicaciones, casi siempre es porque no compartís un relay. Publica en un par populares y en el tuyo propio y el problema desaparece.
contra la censura
Los relays son baratos y fáciles de montar. Un relay puede correr en un VPS pequeño, o incluso en un teléfono modesto. Como los relays no se comunican entre sí, apagar uno no afecta a los demás. Si alguien intenta dejar un relay fuera de línea, aparece otro en otro lugar en minutos.
Hay cientos de relays repartidos por el mundo, y el número sigue creciendo.
04
zaps
Una de las cosas más interesantes que tiene Nostr son los pagos nativos en Bitcoin. Un zap es una propina Lightning adjunta a una publicación o perfil. Pulsas un rayito, se mueven sats y aparece un recibo público en la publicación.
Los zaps no son solo propinas. Son una señal más fuerte que un "me gusta": un like no cuesta nada, un zap cuesta algo. Las publicaciones populares suelen mostrar el total de zaps junto al contador de respuestas y reposts.
Tu cliente construye una petición de zap y la envía a tu cartera.
La cartera paga una factura Lightning del destinatario.
Se publica un recibo de zap público. Todo el mundo lo ve en la publicación.
zaps con un solo toque
Para que hacer un zap se sienta tan fácil como dar un "me gusta", los clientes usan Nostr Wallet Connect (NWC). Pegas un enlace nostr+walletconnect:// de tu cartera en el cliente una sola vez, y a partir de ahí los zaps se hacen con un solo toque. Sin QR, sin copiar facturas.
Carteras con soporte para NWC: Alby Hub, Primal Wallet, Coinos, Zeus y Phoenix.
Para recibir zaps necesitas una dirección Lightning, como tu@getalby.com. La mayoría de carteras modernas te dan una automáticamente.
05
mensajes privados
Puedes enviar mensajes privados cifrados de extremo a extremo a otros usuarios. La forma moderna de hacerlo es NIP-17, también llamados mensajes envueltos (gift-wrapped). Cada mensaje se cifra y luego se envuelve en un evento externo, de forma que los relays ni siquiera pueden saber quién habla con quién, ni cuándo.
La especificación original de DMs (NIP-04, kind 4) filtraba metadatos. Si un cliente solo soporta kind 4, sus DMs no son realmente privados. La mayoría de clientes ya ha cambiado; usa uno que soporte NIP-17.
Clientes con DMs modernos: Damus, Amethyst, Primal, 0xchat y Coracle.
Para chat en grupo existe NIP-29, que mete los grupos dentro de un relay (un poco como los canales de Discord). Mira Flotilla para eso.
06
qué puedes hacer con él
Como dijimos antes, Nostr es un protocolo muy flexible para compartir datos. La gente puede construir lo que quiera encima. Todavía es joven, pero esto es algo de lo que ya funciona:
🐦 alternativa a twitter
Nostr nació como alternativa a Twitter, y hay muchos clientes para esto. Todos usan notas de kind 1. Los más populares:
- Primal (web, iOS, Android)
- Damus (iOS)
- Amethyst (Android)
- Notedeck (escritorio, en columnas)
- noStrudel (web)
- Coracle (web)
Prueba un par y mira cuál te gusta.
📝 blogs y textos largos
Para escribir piezas largas en vez de notas cortas, tienes Yakihonne y Highlighter. Las publicaciones son portables entre clientes, como todo lo demás.
🔐 chat privado
Puedes enviar mensajes E2E y hacer llamadas de voz/vídeo con 0xchat, una app estilo Signal construida sobre Nostr. Nostrchat es una opción web más ligera.
💬 grupos y comunidades
Flotilla te da chat de grupo estilo Discord encima de Nostr. Los grupos viven en un relay, que puedes montar tú o alguien más.
🎥 streaming y media
zap.stream para vídeo en directo (con zaps durante la emisión), Flare para alojar vídeos, y Fountain y Wavlake para podcasts y música.
🛒 mercados
Plebeian Market y Shopstr te permiten comprar y vender cosas por sats sin intermediarios.
🧩 juegos
Incluso se pueden construir juegos multijugador sobre Nostr. Jester, por ejemplo, es ajedrez online sobre Nostr.
🔍 exploradores y herramientas
njump.me convierte cualquier enlace nostr: en una página web compartible. ants.sh es un cliente de búsqueda para encontrar notas y perfiles. nostr.watch muestra el estado de la red de relays.
Una lista más completa vive en nostrapps.com y nostr.net.
07
construye sobre nostr
Todavía queda mucho por construir sobre Nostr. Un cliente es cualquier cosa que abra un WebSocket y se suscriba. Un relay es cualquier cosa que acepte JSON firmado sobre WebSocket. El listón está bajo.
Algunos recursos para empezar:
"Noster" significa "nuestro" en latín. "Nostra" significa "nuestra" en italiano, y "Nuestro" en español. Nombre apropiado para una red que no es de nadie.