Inbox model #1134
Replies: 3 comments 7 replies
-
It makes sense for new posts (basically, when I post a kind1, get all the inbox relays of my followers and send it there), but this will take forever for 1000+ followers. It gets a little trickier for reactions, replies, zaps, etc. Do my followers want to receive all of this stuff or just the notes? Shouldn't a reply to a person be only in that person's inbox relay? It's best to have a DVM that is designed to receive an event from the client and send it to all the appropriate receivers. There are some interesting privacy implications to this as well (because Clients don't need to connect/auth with so many relays directly). |
Beta Was this translation helpful? Give feedback.
-
A combination of inbox and outbox will be necessary. This is how Twitter organizes their network. Big accounts push their tweets to everyone's inboxes, while small accounts' tweets get pulled from their outboxes (or so I'm led to understand). But I prefer the pull model, because by default it results in the least duplication of content, with the option to replicate based on requested content (this would be implemented by user inbox relays or read proxies rather than by clients directly pushing content out). |
Beta Was this translation helpful? Give feedback.
-
This is quite a good idea, and it's so obvious I wonder how we have all missed it. The problem of "just doing it" today is that it will centralize things. In a way a naïve version of this model is what everybody is already doing: just publish to the top-3 relays as you can be sure everybody is listening to these relays already. But I think we can make it better, for example, by specifying two new event kinds, This way we can have special relays that keep track of who we follow and index (or reject) received notes properly to where we can just send a blank |
Beta Was this translation helpful? Give feedback.
-
Lots of talk about outbox model. People still discussing whether Nostr is decentralized etc.
ActivityPub uses an inbox model. I think it's easier and more intuitive than an outbox model.
The script is flipped. It starts with this premise:
Then the implementation looks like this:
Sample code:
This doesn't take away from the outbox approach, and maybe should even be used together instead of as a replacement. But my point is that clients should be trying harder to deliver posts instead of just fetch posts. Because it benefits users when their posts can be seen.
Beta Was this translation helpful? Give feedback.
All reactions