There are no NIPs that define this functionality because it kinda is Nostr itself. Implementation details are left for the client developer.
fiatjaf's avatar fiatjaf
View quoted note → The "outbox model" was not a modification of the protocol nor a new invention, nor it is a new optional NIP. @hodlbod once said about the idea, "this is just the Nostr model, it is how Nostr has to work if it can ever scale" (https://t.me/gossipclient/605). Minutes after he came up with the name "outbox model" just so we could refer to this thing that Nostr clients should be doing but only Gossip was doing at the time. The initial description of Nostr (View article →) said: "you write a post, sign it with your key and send it to multiple relays (servers hosted by someone else, or yourself)" and under the "censorship-resistance" section it said "there will always be some Russian server willing to take your money in exchange for serving your posts". Since you were supposed to write "to your own relay" or "to some Russian server" shouldn't it be reasonable to assume clients would be connecting to these relays to read your posts and the entire promise of censorship-resistance of Nostr rests on that possibility? Implementation details were never specified because I think there are many ways to approach that and hoped clients would each have their own creative way of implementing it. Having the user manually specify a list of relays and then flood all relays in the list with queries for all people you're following was part of a very quick proof-of-concept I've implemented in (what was supposed to be the first version of) Branle in December 2022, but it should be obvious it's not a very user-friendly or scalable design, right?
View quoted note →

Replies (1)

maybe I'm not well informed, what is the deal with these other clients? in what way are they not implementing nostr correctly? I feel like an open definition as any means that if these clients fail to provide the decentralization and censorship resistance, they will be abandoned eventually in favor of ones that do I guess your note landed kinda harsh, making it seem like there is "a correct" implementation. Although I subscribe to decentralization, I have strong reservations regarding dictating how "things are supposed to be".