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.

What if we specify as an open standard (in protocol) a client proxy service, such that nothing about it ever ties a client to a particular one. All they do is offload the fetching work. If you suspect they aren't serving you correctly you point your client to a different one. As long as there is no friction involved in switching away from a proxy that is censoring, I don't think there would be a drive for them to aggregate into a single service. You wouldn't be switching apps, you'd be pointing your app elsewhere.

Reply to this note

Please Login to reply.

Discussion

I'm not suggesting aggregating everything, just doing the fetching on behalf of the clients and using the local cache to assist if possible.

Also of course the caching proxy would be doing the outbox model.

the caching services already have kinds so you can consider them specs, but then every app wanting to have an edge will keep creating more RPC methods to satisfy their UI, it is impossible to make a spec for this that has any chance of ossification.

search is impossible to decentralize, and that is what all popular Nostr apps will become, frontend to search engines.

switching apps is the best we can ever do and that is great, because we don't even have that now with current social media.

if you ignore social media and focus on usecases that are much less expensive to crawl on your own at edge devices, things get much brighter, so I think people should focus on small worlds if they need the absolute most censorship resistance.

good thing is, small worlds are better anyways.

I've thought about something similar, but not just for data fetching, it would be like some custom servers that would massage the data for you and just serve you a feed, in a very centralizing manner, but then what are the incentives for someone to do that for free without being evil and at the same time deviating from the protocol and implementing new things so users can't switch easily? Maybe it will work, but it's probably a slippery slope.