2023-11-21 22:14:48
- reply
It was a hack by me to get Branle (the first web client that had more than 2 users) working quickly because I wasn't sure about how to properly advertise relays or even what form that advertisement should take place.
The initial implementation was just very stupidly just asking all relays for all people you followed -- which kinda worked well since there were only ~3 relays and 15 users at the time. The long-term plan was to make an algorithm to decide in which relays each person was based on relay hints, kind:2 recommendations and manual tuning, but Branle was killed by IndexedDB before that.
Then the Gossip client came up and implemented that in a much better way using the hackish kind:3 relay lists, NIP-05 relay hints, event relay hints and event fetching local history in what became known as "Gossip Model" (but should actually be named "Outbox Model" to avoid confusion), then Mike Dilger proposed NIP-65 to improve things even further.