As #Nostr grows, big relays will capitulate and small ones will churn, it is time to pay close attention to discovery and local-first (client side storage) + efficient sync to smoothly recover when relays go down without notice.

I built #pkrr to solve discovery, and #Negentropy can be added to NDK fairly easily to sync with #Strfry nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft

Reply to this note

Please Login to reply.

Discussion

Do you think the gossip (plus the stuff I propose with #[2]​ ) insufficient / impractical / unworkable?

I need to read that. Will do tonight. But from the name, gossip can only be so good, there is a reason why DNS powers the internet, it is amazing, Pkarr takes that and adds a decentralized root server and signs records so you can get cached records from anyone trustlessly.

But I will check what you mentioned first because I know people use gossip to mean many different things

OK that was quick, so you mean THE "gossip model" + special relay to find the special events instead of a DHT.

Sure, if you can trust that purple pages relay is gonna last forever and scale to millions of users, then you just proved Bittorrent didn't need a DHT and they could have went with a single tracker.

But if you recognize that you absolutely need load balancing among many many volunteering churning servers, then you need a DHT

So now the question is, should Nostr build a DHT that treats secp as a first class citizen, and have like 10 nodes in that DHT, or use the existing 10 million nodes of Bittorrent DHT and accept ed25519 keys like they accept NIP5?

If you think the latter makes more sense, well, that is exactly what Pkarr is, plus some work I did to prove the viability of the model, not much more.

The great disadvantage of Pkarr (but applies to any DHT and even to purple pages if it wants to survive) is that records are only kept for an hour and needs to be published over and over, so someone needs to be online and keep doing that.

However as mentioned in the README whoever is hosting your data, is capable of refreshing your records on the DHT, and maybe even has the incentive to do so, if you are paying them to host your data, or for whatever other reason, as long as the cost of keeping your records alive on the DHT is manageable

This is why I made a point to prove that the cheapest VPS ever can still keep 120,000 records alive for a week without any noticeable cost.

Hey, I just had a look at pkarr and it looks really interesting. Could you describe how it will work with Nostr in the future to solve discovery, I’m still a little confused. Thanks!

Just like DNS, it is basically adding DNS records for publicKey, so it would be used like NIP05, you add people by their ed25519 key, and every now and then check their records, if they changed their nprofile you follow the new key and new relays.

If all Nostr relays went down tomorrow, the day after we can discover which relays our friends are using now, if they publish that on Pkarr