Doot Doot Bandicoot on Nostr: In my mind, there is one big functional improvement for relays to ensure a truly ...
In my mind, there is one big functional improvement for relays to ensure a truly decentralized system
Essentially, every client should also be a relay, but it only connects to a handful of other client/relays (perhaps the closest geographically, but this can be part of an algorithm).
The key is that each cluster of connections must not be isolated from other clusters. So, say you connect to 10 peers. Those peers must have one or more of their own peers be from outside of your set of peers.
Events must also broadcast to all peers. Since each cluster is not isolated from other clusters, each broadcast would eventually propagate the entire network.
Within these constraints, there can be a number of optimization techniques, such as when connecting to a set of peers, only download the last, say, 24 hour's worth of notes unless more is requested (such as while scrolling through one's feed). Notes themselves typically aren't that big, so getting up to speed would likely be fairly easy.
Granted, the trade-off is that your posts don't immediately make it to everyone, but that's just the trade-off. Such a network, which is clearly similar to the Bitcoin network, would certainly be resistant to shutdown. Frankly, the fact that you have to know particular relays in order for you to communicate with the broader network is a big problem. People don't want to deal with that. That stuff needs to be extracted away unless you know what you're doing.
Essentially, every client should also be a relay, but it only connects to a handful of other client/relays (perhaps the closest geographically, but this can be part of an algorithm).
The key is that each cluster of connections must not be isolated from other clusters. So, say you connect to 10 peers. Those peers must have one or more of their own peers be from outside of your set of peers.
Events must also broadcast to all peers. Since each cluster is not isolated from other clusters, each broadcast would eventually propagate the entire network.
Within these constraints, there can be a number of optimization techniques, such as when connecting to a set of peers, only download the last, say, 24 hour's worth of notes unless more is requested (such as while scrolling through one's feed). Notes themselves typically aren't that big, so getting up to speed would likely be fairly easy.
Granted, the trade-off is that your posts don't immediately make it to everyone, but that's just the trade-off. Such a network, which is clearly similar to the Bitcoin network, would certainly be resistant to shutdown. Frankly, the fact that you have to know particular relays in order for you to communicate with the broader network is a big problem. People don't want to deal with that. That stuff needs to be extracted away unless you know what you're doing.
quoting nevent1q…af9gRelay as an android app https://github.com/greenart7c3/Citrine