Backup relays are something I've thought about some. I even had them in some revisions of my relay-based groups:
https://github.com/coracle-social/nips/blob/379b69c42b9db641e0c8383d5bfbd891ef4abaf4/29.md#federation
https://github.com/coracle-social/nips/blob/60179dfba2a51479c569c9192290bb4cefc660a8/xx.md#federation
But in most cases, the backups don't even need to be specified, since anyone with access to the main relay can sync events to their backup. Then, when the original relay goes away you just manually move to the new one.
Login to reply
Replies (4)
I think we need to find a solution to automatically move, at least once, if a group gets banned from a relay. Based on the user interviews we have been doing this is a huge concern for stewards of Facebook groups and other big tech platform. Many of them have had their groups shut down before with no explanation and no recourse. Being able to give them an answer like “on Nostr the relay can boot you off but generally all your groups members will move over to your back just fine” would be a big sell.
Having a backup relay that you hit when the main relay is down or your group data disappears doesn’t seem like it’s too much to ask. Like on app launch if you can’t refresh data from the main relay grab the kind 39000 from the backup relay, see if it still has the main relay listed as the main relay. If it does, great, it must just be an outage. But if an admin has updated the metadata to indicate a new main relay you can just update your local group state to point to the new relay. The user doesn’t necessarily even need to know it has happened.
This is why I built flotilla the way I did — encouraging "relays as groups" rather than "relay-based groups" means a thinner distribution of groups across hosts. In other words, admins are encouraged to self-host, which converts deplatforming (a bug) into banning (a feature). I strongly disagree with the approach most NIP 29 groups take of many groups, one relay.
A more complete explanation of my position: https://habla.news/u/hodlbod@coracle.social/1732313518416
Not to say that I disagree. A federation event on the relay level seems like a better way to do it than directly within NIP 29 though, since it can be used for a million other use cases related to relays.