Que es Nostr y como interactuar desde el Fediverso

Las redes libres y descentralizadas poco a poco van siendo mas conocidas (y por el bien de la humanidad, esperemos que sigan ganando terreno). En otro artículo os hablé sobre una de ellas, el Fediverso, seguramente la mas popular gracias a que una de las plataformas descentralizadas mas conocidas, Mastodon, forma parte de ella.

Pero hay otras mas, como Diaspora* (de la que hablé en el artículo del Fediverso) y otra mas reciente que se está haciendo popular debido a su gran resistencia a la censura, Nostr.

¿Que es Nostr?

Nostr es un protocolo abierto de red descentralizado y distribuido que funciona mediante criptografía y relays (repetidores). Un relay es un software que envía, recibe y almacena mensajes de texto y además se encarga de conectar a los diferentes usuarios de la red (similar a los trackers en el protocolo bittorrent).

Pese a lo que cree popularmente la gente, al igual que el Fediverso y ActivityPub, Nostr tampoco está basado en blockchain (aunque permite micropagos en BTC gracias a la integración de la red P2P Lightning). Utiliza criptografía, pero su uso es mas parecido al de PGP, clave privada para acceder a los clientes y firmar acciones (crear posts, reacciones, seguimiento, etc) y clave pública para identificar al usuario y validar sus acciones

En esta web se pueden ver algunos de los diferentes clientes disponibles https://nostrapp.link/.

¿Que lo diferencia del Fediverso?

Mientras que el Fediverso es descentralizado, Nostr es distribuido. ¿Que quiere decir eso? Que para entrar en el Fediverso, necesitas registrarte en un nodo y tu acceso a la red depende de la disponibilidad de ese nodo, mientras que para entrar en Nostr, necesitas generarte un par de claves (pública y privada) con uno de los clientes disponibles y conectarte con ello a los diferentes relays.

¿Que ventajas y desventajas tiene?

La ventaja de ser distribuido, es que si un relay se cae, puedes conectarte con la misma cuenta a otro relay para seguir dentro de la red, mientras que en una red descentralizada si el nodo se cae, no podrás acceder a la red con esa cuenta hasta que vuelva a estar disponible.

Otro aspecto es que es que es mas resistente a la censura, ya que las publicaciones no pueden ser borradas por nadie, salvo el propio usuario, y las cuentas no pueden ser eliminadas. Esto podría tener un inconveniente para muchos, y es que la moderación tal y como la conocemos, de que alguien decida por nosotros no es posible en Nostr. En esta red, la moderación depende de cada usuario, el cual es el único que decide que quiere o no quiere ver.

En el caso de Nostr, los nombres de usuarios son la clave pública del usuario, la cual es una cadena de este tipo (en formato npub, también es válido el formato hexadecimal) npub1g7fgwhrtvxwnm9t6tehxzragguguennu9rd7zfnhc540u3yljy7sx2h545. Esto resulta una locura para buscar usuarios, pero por suerte, también dispone de servicios que permiten obtener una dirección Nostr simplificada (NIP-05) que lo que hace es asociar tu clave pública a un usuario, como puede ser juanro49_at_masto.nobigtech.es@mostr.pub, lo que hace mucho mas sencilla la identificación de usuarios.

Interoperatividad entre Nostr y ActivityPub (el Fediverso)

Una vez contado un poco por lo alto en que consiste Nostr, vamos con el objetivo de este artículo, que no es otro que contar como es posible “fusionar” la red de Nostr con la red ActivityPub. Hay que tener en cuenta que desde el Fediverso, las cuentas Nostr se pueden moderar como cualquier otra cuanta.

Esta interoperatividad es posible gracias a Mostr https://mostr.pub/, un software que se encarga de hacer de puente entre ambas redes. Esto permite que usuarios del Fediverso puedan interactuar con usuarios de Nostr y viceversa.

Esquema funcionamiento Mostr

Para seguir a un usuario de Nostr desde el Fediverso, solo necesitas conocer su clave pública y poner en el buscador de tu instancia/cliente la siguiente url con su clave https://mostr.pub/users/<clave>. Por ejemplo, la clave pública de Edward Snowden es esta npub1sn0wdenkukak0d9dfczzeacvhkrgz92ak56egt7vdgzn8pv2wfqqhrjdv9, para seguirlo, bastaría con buscar https://mostr.pub/users/npub1sn0wdenkukak0d9dfczzeacvhkrgz92ak56egt7vdgzn8pv2wfqqhrjdv9.

También se pueden buscar cuentas de Nostr en formato usuario del fediverso @usuario@nodo.es, pero para ello necesitamos saber la clave pública en formato hexadecimal. Esto no es problema, ya que existe una herramienta que convierte las claves npub a hexadecimal y viceversa https://nostrcheck.me/converter/. Los usuarios de Nostr en formato Activitypub tienen el siguiente formato @<claveHexadecimal>@mostr.pub. Tomando como mismo ejemplo la cuenta de Edward Snowden, su clave en formato hexadecimal es 84dee6e676e5bb67b4ad4e042cf70cbd8681155db535942fcc6a0533858a7240, por lo que su usuario en formato ActivityPub sería @84dee6e676e5bb67b4ad4e042cf70cbd8681155db535942fcc6a0533858a7240@mostr.pub .

Cuenta de Nostr vista desde mastodon

Para el caso inverso, interactuar desde Nostr con usuarios del Fediverso, tenemos dos opciones de hacerlo. Antes de nada tendremos que añadir este relay a nuestro cliente, que es el que hace de puente wss://relay.mostr.pub. La mas sencilla es mediante su usuario traducido a usuario Nostr. Para el usuario del fediverso usuario@nodo.es, su usuario Nostr sería usuario_at_nodo.es@mostr.pub, es decir, el @ entre usuario y nodo se cambia por _at_ y al final se le añade @mostr.pub. Es decir, si mi usuario del fediverso es @juanro49@masto.nobigtech.es, ese usuario en Nostr sería juanro49_at_masto.nobigtech.es@mostr.es.

Otra opción es obteniendo la clave pública de ese usuario del fediverso. Para esto, haciendo una petición a esta url https://mostr.pub/.well-known/nostr.json?name=<usuario_con__at__en_lugar_de_@> con nuestro usuario del fediverso, cambiando el @ por _at_ nos devuelve la clave pública de ese usuario en formato hexadecimal, la cual se podrá buscar desde Nostr. Por ejemplo, para obtener la clave pública de mi usuario @juanro49@nobigtech.es tendría que hacer la petición a esta url https://mostr.pub/.well-known/nostr.json?name=juanro49_at_nobigtech.es.

Cuenta mastodon vista desde cliente Nostr

Usar clientes del Fediverso con cuenta de Nostr

Otro de los aspectos a destacar, es que quien tenga cuenta de Nostr, puede usar los clientes del Fediverso como podrían ser la app oficial de Mastodon, Tusky, Fedilab, Soapbox, Pinafore, etc. Esto es posible gracias a Ditto, un software que traduce la Api de Mastodon a instrucciones Nostr. para usarlo, solo se necesita indicar https://ditto.pub como url de instancia en el cliente y luego iniciar sesión con la clave pública (solo lectura) o privada de Nostr. Esto está en desarrollo, por lo que tiene fallos.

Usando Soapbox, cliente de Mastodon, con cuenta Nostr

Herramientas útiles

Referencias


Este artículo de @Juanro49@plume.nogafam.es es una traducción y adaptación de la imagen adjunta y está licenciado bajo CC BY-SA 4.0

moneda libre G1