As far as I know
1. Learned that no nostr app uses nip-66 to check if a relay is alive before firing off requests
2. According to my benchmarks, by implementing nip-66, the relay success rate increases from 30% -> ~~75-85%, meaning fewer connections are wasted on dead relays.
3. Nip-66 is therefore an efficiency improvement, and is not necessarily a coverage guarantee
4. I have not measured time to outbox results yet.
5. No nostr app spot checks what outbox relays return against an independent relay to detect gaps. Nip-66 liveness checks return relay health, but do not verify per-author delivery.
6. Deterministic algos like greedy set coverage cannot be set up with a learning mechanism
7. Stochastic algos like coracle’s are able to implement learning, and benefit significantly - coverage improves the more the app looks up a specific profile
8. The theoretical CS algo I mentioned before (MAB-UCB) algo is not practical
9. 20-44% of follows dont have a kind-10002, which hampers outbox.
From what I’ve seen so far the best starting point is coracle’s stochastic algo, with nip-66, and delivery scoring.
https://github.com/nostrability/outbox
cc sandwich (npub1uac…99rx) hodlbod (npub1jlr…ynqn) fiatjaf (npub180c…h6w6) utxo the webmaster 🧑💻🍁 (npub1utx…50e8) Mike Dilger ☑️ (npub1acg…p35c) hzrd149 (npub1ye5…knpr) KernelKind (npub1fgz…jeck) danieldaquino (npub13v4…l3l8)
quotingA few years ago I asked the devs to run the benchmark on how much better (if at all) outbox is over using large relays. No one took up this question, so I started running benchmarks.
nevent1q…djtd
A few learnings for me:
1. Outbox is proven better than using large relays
2. Three relays is the optimum for each npub
3. Three year old notes have an incredibly low survival rate, and are barely findable by the best outbox implementations (~~20%)
4. There are half a dozen algos not yet implemented by any nostr app to my knowledge that are superior to current algos for finding year old notes
5. No nostr app has implemented nip-66 relay liveness checks in outbox implementations to my knowledge
6. It could be measurement or methodology error - the relay/note indexer performs worse than outbox and large relays
7. There are poor performing outbox implementations
Cc balas (npub1nmr…yha8) KernelKind (npub1fgz…jeck) fiatjaf (npub180c…h6w6)
