The relays don't relay, so the clients must relay for them. The relays are clients that depend on the clients to relay notes to them. Welcome to the Nostr Outbox Model.

Replies (38)

You might think that relays ought to send notes among themselves, but that is not the case. Nostr relays do not form a network amongst themselves, and behave mostly as a single hop to "relay" notes between two clients. So in order to actually see the notes you want to see, you have to get notes from a lot of different relays. And you, as the client, must be responsible for making sure your recipients' relays have your notes. So with the clients handling the logic of routing notes to their correct destinations, would it not be more prudent to call them the Relays? And with relays dependent on clients to provide their content, are they not, rather, the Clients?
Wait there's no goddamn way they made the client figure out where to put notes. The Outbox relays are where you put notes. You have to be wrong. If not, what the fuck are Amethyst and nostr devs even doing?! An aggregator/proxy relay can be added to make the client more efficient as regards fetching notes. If I am not mistaken, the aggregator itself requests notes and makes copies of them. Relay to relay. I use one. The aggregators can themselves use the Outbox model to ensure it fetches all the right notes. And I thought they used published Outboxes in Outbox model, on a nostr event that describes your Outboxes, not info from the client.
What we should be doing is having blaster relays that shoot their shit to other relays according to an Inbox model in addition to this.
It's my understanding, and I could be wrong, that you put notes in your Outbox relays. But when you reply to someone's note, it makes sense to also send those replies to the mentioned users' Inbox relays. And when you want a user's notes, you get them from that user's Outbox relays. I think that's what Amethyst does now. And now I'm all thought up in knots, and I'm going to take a break.
The power comes from the fact that you can switch away from Nostr.land if we abuse your trust to an alternative provider or back to outbox. But you won't need to.
X image There is no global. But there are local subgraphs you can find. And I do believe relays are the place to do that.
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.
yes, that's how it works. relays only relay to clients that ask for it, and they can only relay what they have... if you follow someone, you cannot expect that person to write to your set of relays, right? that would be a dumb assumption, so your client is smart and so it knows where your follows post and fetches from there, otherwise you would not see posts you want. why do people expect to find other people's posts on their relays? this comes from a misunderstanding of how nostr works. Also, if you want certain people to read your notes, then you should post to the relays they read their notifications from in addition to your own write relays. This is not rocket science, it's simple logic.
For one user like you or me, and say 500 npubs they follow, how big does that event store get if you were to store just the events from all those npubs? And that's not even counting blossom server files/image caching. What do you think is the ceiling for how many users' notes can fit on a relay running on a raspberry pi? Before you need to start looking at bigger hardware.
Just that the names for entities in the Nostr network don't seem accurate. And that I think I'd benefit from a different kind of architecture for my personal use.
Does it properly spam-filter while having access to data from hundreds of relays and tens of thousands of npubs, while providing everything in 1 connection?
It's subscriber-only and bidirectional streams to aggregators. Different model. It is also just a really attractive relay to sync with, due to the high signal, so lots of relays pull from it.
So it’s a glorified list. And also most of what you are seeing is likely Primal’s 20 connections to each relay it sees.
For a single user, you can store all your notes on a Raspberry Pi. For 500 users, storage needs remain modest, around 2 GB per year. The main limitation of a Raspberry Pi is disk performance. High loads often occur due to I/O wait times. To achieve reliable performance, use a Raspberry Pi 5 with a PCIe NVMe adapter and NVMe drive. With a 100 GB NVMe disk, you could realistically run a full public relay.