I go into a little more detail about the idea in the note below. But I would change what I said about relays signing all the content they send to clients. Instead, once per WSS connection, some sort of proof could be sent by the relay to the client to show it's the relay belonging to the public key that the client is using to track it.
Hi, @fiatjaf. I have an idea for using Nostr's existing network architecture to allow for optionally DNS-free relays. It would ideally be applied to Nostr & Blossom.
Relays could have their own Nostr pubkey which they would use to
1. Send a new, IP address location event type to Nostr relays containing their current IPv6 or IPv4 address & port number, &
2. Sign the data they send to clients so that clients can verify that they're receiving the data from the expected relays.
With this setup, for a client to find their DNS-free relays, they would
1. Attempt to connect to their last known IP locations
2. If this fails, they would query all relays they know the location of for the most recent location broadcasts they have
3. Reattempt to connect using the new location data
This way, a relay could run without a domain name of any kind on a non-static IP address that could change at any time. As soon as the relay detects that its IP address has changed, it could broadcast its new location so it could be quickly connected to again.
What are your thoughts?
View quoted note →