I'm happy that even though Primal started this movement about caching services they are moving in the direction of implementing the outbox model at client-side. And Damus has also said they will do it, so everything should be ok.
Discussion
gonna keep yelling this until i stop hearing about the "debate" about outbox vs gossip (broadcast, blaster, whatever)
PRIVATE STUFF VIA OUTBOX
PUBLIC STUFF VIA BROADCAST
deal? good.
what do you mean by "broadcast"?
what is ambiguous about broadcast? send it to everyone!
in that case you are completely wrong
so, you mean you don't want events intended to be public to be broadcast? or what?
everyone who doesn't have it? maybe first ask "do you have these id's? respond with list of NOES matching sequence plz"
we can argue all day long about broadcast mechanisms but if the origin is the original origin then definitely you want to broadcast them
group messages, maybe you want to only send them to group relays, but kind 0, 1, 10002s and all those other fun public things should be sent everywhere from the first second, second round, shouldn't be necessary if first round worked
when i say broadcast in practical terms that means epidemic transmission, meaning that you send them to several nodes, and say "plz share" and they send them to several nodes until everyone sez "stop sned plz"
also, git r done with making relays that can keep the newest stuff new and not blow up their disks by not pruning off boring and old shit
Why do everybody has to see everything? This makes no sense and is not scalable. You just put your stuff in some servers such that others who are interested in them can go and ask those servers.
The primary assumption of Nostr clients should be that relays will reject your events by default.
that is pretty ridiculous, especially if the client just authed to the relay as a paid up customer
Of course in that specific situation the default assumption doesn't apply. I mean when you know nothing about a relay and you just got it from the nostr.watch API, for example, then there is no point in even trying to send stuff to it.
so NIP-11 was just pissing in the wind then? because you can't trust it?
you should read some bitcoin code especially the section about version codes and capabilities
You definitely can't trust it, but you could still use it to orient yourself.
Versioning and capabilities are a shitcoin, manual hardcoding is the only way.
so what's your position, seems like you want to agree with whoever is posing the question
seriously, this is well established protocols on network protocols since forever
i don't think you are stupid, because i read your code and i assume you wrote it who types right now but you clearly have holes in your understanding, and a lack of courage to stand by positions
you won't get anywhere long term if you don't stand for yourself at least
This is a hot take, but I'm listening... 👀
yes!!!!
it's scalable because it only has to apply to current data, so old stuff can be reduced in its replication count, relays don't have to store everything, they just have to be ready to deliver what people ask for, and what is new
You know you're describing how Farcaster works? They have a requirement that nodes store everything, and they have it hardcoded that stuff older than whatever time can be deleted.
What is "everyone"? All relays in existence? If 2000 relays exist you'll send to all of them? Why do you assume these relays will all be willing to accept your notes? If they do accept notes from everybody they will certainly blow up very easily and stop working, therefore they cannot. And if they cannot then what is the point? The outbox model fixes this.
yes, i'm quite aware of this
kind 0, 1, and several others are intended for broadcast, and that is fine, people can decide whether they want to cache them or not, but they are ostensibly public
so they can be broadcast, regardless
i've done work building gossip networks and for this reason i wrote a flatbuffers style codec that lets the gossip node quickly reject messages that are irrelevant to it, this is really the main thing that flatbuffers style binary codecs are useful for, and counter mode encryption can be useful for this also as it lets you selectively DECRYPT the message as well and extract fields by their offfset and determine whether to decode the whole message without doing a whole decryption AND decoding
i like how you just say "you are wrong" and leave out the "because" part of the sentence
bravo!
in philosophy being unwilling to engage in debate with another person is a sign of cowardice and deception and not respectable behaviour
i may be erratic at times but i'm not malicious
Primal is an attack on #Nostr
One more reason I don't like Primal and don't endorse it