Let’s saying I’m connected to 7 relays and I want to connect to an 8th relay. If the 8th relay is using NNS, I now have to resolve this NNS to get its real IP. If the 7 relays I am connected to do not have the NNS note containing the IPs, then I cannot connect to the 8th relay. The 7 relays can also withhold the NNS note if they want to silo me. This allows the 7 relays to prevent data portability and free agency. Nodes should be thought of as untrustworthy — especially if it’s only a handful, like 7-15 relays. That’s too much power to give to a few server operators. I have a much better solution that doesn’t rely on trusting the small set of relays you’re connected to. It’ll be released before @Nostriga

Replies (2)

Your 8th has an address right? Let's say you want to connect with `naddr1abc`. As part of the `naddr` whoever sent you that link had to insert the `wss://ip4` as the `relay` field inside the naddr. This means that even if you have never seen this relay before, you have a base IP to connect and start the work. But keep in mind that NNS are designed to be broadcasted just like NIP-65 events are. They should be everywhere. But if they are not, you can always have a base IP from the latest relay hints in the events you already have.