Gorillas are mammals, but not all mammals are gorillas. You can cluster local subgraphs with Import, Blaster, Negentropy, etc. You can also have large aggregators and broadcasters, like what @semisol is building, which can provide something close to a “global” without much spam and at a fair price. This doesn’t mean every relay should do this. In fact, the purpose of many relays is exactly the opposite: to accept, store, and serve only a very specific set of notes, for example from a community or even a single pubkey. Such relays can easily run on a Raspberry Pi or a cheap VPS. Nostr is flexible enough to accommodate both extremes, and it should remain that way.

Replies (2)

Have you considered the idea of "small aggregators" though? I think that's the main problem here. No one has really done what I would consider a true personal relay. A kind of scavenger that will maintain the subgraph surrounding the user. The challenge being to calculate the bounds of that subgraph.
It can certainly be done. Haven already does this for a specific pubkey: it imports, stores, and serves all notes written by the relay owner or in which the relay owner were tagged by someone in their web of trust. It works by subscribing to a configurable list of other relays, much like a client would. In V2, it will also gain the ability to whitelist and import notes from more than one pubkey. A relay could also try to fetch all notes from your followers. It can even use the Outbox model to figure out where to download notes from. In fact, this is a feature that has been requested for Haven itself. I’m not sure if any specific relays already implement it, but I think @Laeserin 🇻🇦 once mentioned she had a way to do this for specific npubs and therefore didn’t need client-side follow lists (was it with Citrine?). The same caveats described above still apply, though. My Haven database export plus Blossom data is several gigabytes. Even with CDNs and heavy caching in the middle, Nostr + Blossom is often enough to saturate my link. I certainly wouldn’t be able to run this from a mobile relay. So, basically, you need to “connect the edges” of the social graph through relays carefully, consciously of the tradeoffs.