People tell me that nostr is not a meshnet. What stops relays to talk to each other? And cannot everyone that needs a relay simply use onion-routing to get to them? Both clients publishing and clients requesting a note. Or am I missing something?
It may happen in future, but the key to relays being cheap to develop and run is that they don't have to federate...
reply
Communication between relays would add a lot of complexity to Nostr. I recommend having a look at the ActivityPub specification to see how much complexity is required for relays to share messages (a.k.a. federation). That complexity causes ActivityPub to be very inflexible, whereas Nostr's simplicity makes it very flexible.
So, if you want federation, then go use ActivityPub (aka Mastodon, the Fediverse, etc). If you want flexibility, then use Nostr. The consequence is that ActivityPub is mostly limited to being a social media protocol, whereas Nostr is capable of so much more than being a social media protocol (this is a massive understatement).
reply
I mean, relay syncing can act like any other client. Relays could just double as clients and listen for events on different relays.
reply
Having a dedicated client do this is pointless, because Nostr clients are supposed to be connecting to (and posting to) multiple relays, perhaps a dozen or more. Clients should be notifying each other as to which relays they will be posting to, so that those who want to receive their messages can reliably find them.
reply