In this model, relays act like switches and aggregators act like routers. (not literally obviously)quoting nevent1q…4fmmThe question is how can you build a system to connect Alice and Bob, if Alice and Bob do not share any relays?
I'm working on an idea for an aggregation layer for nostr that could potentially be built to solve this problem.
Aggregators would connect to relays.
Aggregators would then communicate between each other to find out which relay a user is connected to, and then find the best optimal path between Alice and Bob.
If they don't have any relays in common, the relay would send it to an aggregator, which is connected to a network of aggregators that are connected to every other relay.
The aggregators would communicate until the requested user is found, and then distribute the information between the two users.
The load on the aggregator should be minimal, and be functionally similar to the ways that relays work for users.
Interesting concept but if this means we're routing from a spammed up relay to users of a paid relay, I personally probably wouldn't use it for global, but it could still be useful for my people I follow only feed.