Replying to Avatar PABLOF7z

one of the main issues nostr mobile users have, especially in poorer countries, is data consumption.

Most nostr clients connect to a number of relays you configure them to.

A lot of people configure 10, 12, even 15 relays.

Most clients just query for everybody the user follows on every single relay they are connected to.

And, just to be on the safe side and make sure your note is read, a lot of people publish through blastr, publishing to 300 relays.

This means that:

* clients connect to 10, 15 or 20 relays

* fetch EVERYTHING from EVERYONE EVERYWHERE

potentially downloading the same event from every single relay they are connected to.

📬 Outbox model

Some people claim that gossip/outbox model is inefficient because it can lead to MORE WebSocket connections.

Yup. It does.

But it also leads to a MUCH more censorship-resistant network. A network where if someone is banned, the people interested in that person CAN'T EVEN TELL THAT THE PERSON WAS BANNED.

A self-healing system.

AND...

as a byproduct of that, data consumption can radically lower.

Instead of fetching every post from everyone everywhere, clients can be much more intelligent and fetch data only from one or two relays where they know they will find what they are looking for.

"Give me posts from A, B, C" from relay1

"Give me posts from D, E, F" from relay2

nostr:nevent1qythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qyghwumn8ghj7mn0wd68ytnhd9hx2tcpr9mhxue69uhhwetvvdhk6efwdehhxarj9emkjmn99uq3jamnwvaz7tmjv4kxz7fwwdhx7un59eek7cmfv9kz7qgawaehxw309ahx7um5wghx6at5d9h8jampd3kx2apwvdhk6tcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz8thwden5te0wfjkccte9e3ks6trv9nk7urvv438xtnrdakj7qgwwaehxw309ahx7uewd3hkctcqyq2l30afg8n0c8fjphtuvn0dpyhslh9ypf7rkecnc5xf5thxkzwfkzmt0ch

Yes, this is a huge issue for a friend that I'm trying to bring in from the Kakuma Refugee Camp, where data costs are through the roof and by the byte. Every note he downloads, he pays for directly.

Reply to this note

Please Login to reply.

Discussion

And having the client do this kind of sorting might be inefficient as well. Could there be a way to create a designated filter on a particular relay that does the filtering without the client having to do the work, maybe something called a proxy relay or something. That way the client could 'connect' to multiple relays, but the proxy relay would gather exactly what the particular client wants to see and only transmits that data, nothing else.

yeah, proxy relays are great

Last january I wrote one for myself while I was in Thailand with expensive data and it works great. This is the way to go for extreme situations like your friend.

The huge caveat is that the proxy is completely trusted.

…which is fine when you run your own relay proxy. my damus client only connects to one relay, my self hosted proxy. minimal data usage, couldn’t be happier.

damn. Ben is wicked smart

Ben🤝 Ben

can assure you, just another left curve pleb.

Ben🤝Ben

well said Ben

Yes, it would need to be. This might actually need a specialty client with a proxy server service built in that people could use. Something specifically designed for low bandwidth users.

no, doesn't need that; any client, if instructed to not try to connect to anything else, would do.

All we need is one proxy relay at each local friendly neighborhood bank.

yup.

I think a proxy relay as a Fedi module makes a lot of sense since it's a very similar trust model

I may have used the wrong term. I'm looking at the settings in Primal, and it's showing a Caching Service. I'm not familiar enough with relays and caching services to be able to set one up, and neither is my friend. I'll have to explore this more so I can learn enough to talk to him about it.