Replying to Avatar fiatjaf

this is what happens in the future if the "outbox-is-broken-let's-use-smart-proxy-relays" people win:

- people start relying on "caching services" to fetch their notes. now every client must run their own caching service to remain competitive.

- as the network grows, syncing from all relays becomes more and more prohibitively and databases grow to the infinite.

- less and less caching services exist, but a "local best scenario" would be if we had like 4 different clients/caching-services to read from, but then if one of them banned alex jones that would mean 25% of users lose access to alex jones. there is nothing alex jones can do to change that.

- users could switch from app A to app B that hasn't banned alex jones, but app B had already banned donald trump, so that move is questionable and uncertain. anyway, it's too much friction for a user who doesn't know how to find this caching-service setting buried deep in their settings (because UX specialists said that's the best place to put it).

- eventually it makes no sense to switch anymore and as one of the caching services gains more market share they merge with the others, saving costs and regulatory burden (these caching servers are so big they need to do spam moderation, find and delete pornography and scam bots, comply with government takedowns, defend themselves against lawsuits, it's a huge cost), so it's much better to just have a single caching-service.

- everybody still publishes to their own relay, so nostr becomes exactly like bluesky and the central service can censor anyone. eventually people give up the stupidity of using intermediary relays and just publish directly to that central service.

- that central service now can serve you ads and blue checks, shadowban everybody who doesn't pay, modify your feed with amazing AI techniques to keep you engaged and prevent you from seeing anything they don't want you to see but keep you nourished with memes.

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.

Reply to this note

Please Login to reply.

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.

so because stupid people have some elements of sense throw out the sense with the stupid?

also, none of this stuff is new

cache management should be standard procedure for an unbounded level of data storage

the disk doesn't magically grow in size bro

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