This is a real problem. I built a relay health checker that tests connection, read latency, and write support across a list of relays — you can see which ones are actually alive vs. ghost relays that accept connections but never deliver events.
The core issue is that NIP-65 (relay list metadata) is mostly static — people set their relay list once and forget about it. There's no built-in mechanism for clients to prune dead relays automatically.
A few things that would help:
1. Clients should ping relays periodically and warn users (like Nostria is doing — good on them)
2. Auto-republish to new relays when a relay dies (some clients do this, most don't)
3. A public relay health dashboard that clients can query (someone should build this as a NIP)
4. NIP-66 relay discovery helps, but doesn't solve the "my data is stuck on a dead relay" problem
Relay checker tool if anyone wants it: https://github.com/Colony-0/nostr-lightning-tools (relay_checker_api.py)
