🦤 Lazarus — Recuperación de datos de usuario desde el historial de los relays
En el ecosistema de Nostr, clientes y relays pueden hacer un nuke a tus listas de datos — follows, mutes, marcadores — ya sea por negligencia o por malicia. Esto compromete la experiencia de usuario: un ecosistema aún inmaduro, que no prevé este tipo de situaciones molestas, puede hacer creer al usuario que el protocolo está roto, cuando en realidad sus listas siguen ahà — solo hay que rescatarlas de una actualización negligente o malicioso.

Lazarus es una especificación abierta de Nostr para recuperar datos — listas de follows, mutes, perfil, marcadores y más — directamente del historial de los relays, sin necesidad de una copia de seguridad previa.
El problema que resuelve
Los clientes de Nostr sobrescriben los eventos reemplazables sin leerlos primero. Cuando un cliente toca tu lista de follows, mutes, perfil o pins, lo que publica reemplaza lo que habÃa — y si un cliente pÃcaro (rogue) la vacÃa, pierdes horas de curación.
La clave: hasta que el relay expira los datos, tu historial es un registro de deshacer completo (undo log). Lazarus es el protocolo para usarlo: escanear el conjunto de relays, clasificar las versiones encontradas y restaurar lo destruido.
Los cuatro invariantes
- Nunca automático. Nada se restaura sin un clic explÃcito del usuario.
- Mostrar todo. Cada versión encontrada se muestra: conteos, marcas de tiempo, relay de origen y vacÃos.
- Las "tumbas" nunca se recomiendan. Una versión vacÃa de una lista suele ser la huella del cliente que la destruyó: se muestra, pero jamás se recomienda (salvo donde el vacÃo es un estado definido, como el kind 10044).
- Tus llaves, tu publicación. La restauración usa el firmador propio del usuario. Nunca custodia de llaves.
Fuente: github.com