Thread

I said it before and I'll say it again and again: we need ideas to fix the huge traffic issue with noste. My computer starts downloading events with 20 MB/s whenever I open a new nostr tab. That's unacceptable. If we want the world to use nostr (not just the US), clients need to work in a low bandwidth environment. Think smaller.

Replies (35)

We will remember this day, as the day the Note size wars began.
calle's avatar calle
I said it before and I'll say it again and again: we need ideas to fix the huge traffic issue with noste. My computer starts downloading events with 20 MB/s whenever I open a new nostr tab. That's unacceptable. If we want the world to use nostr (not just the US), clients need to work in a low bandwidth environment. Think smaller.
View quoted note →
I think it would be a start to let people better choose what they see. I see so much content from people I don't want to see. I would only see content from people I explicitly follow (no global bullshit, nothing from the people they follow, etc). I literally only want to see posts from those I 'follow.' This isn't a broad solution, but it would certainly lower the amount of data my connection needs to download. Currently, well over half of what I see on Nostr is shit I don't even want to see. I'm sure there are other preference settings (filters) that could greatly reduce data usage. This seems like low hanging fruit, but I'm not knowledgeable enough on Nostr to know for sure.
I conducted an experiment to demonstrate the point in my other comment. On average, I would NOT see 18 out of every 25 posts that are loaded on my feed (using the most aggressive filter offered by the client - which clearly isn't much of a filter). I don't understand all the underlying mechanics, but allowing me to only see the 7/25 posts I want to see has to save data. I can't see how it wouldn't.
Have you tried my thing? Try clear your relay list in your client and try to only connect to a bouncer. You could connect mine, which is public and there are peoples using it: wss://bostr.lecturify.net List of relays that are being proxied / bounced is available at https://bostr.lecturify.net
simplest solution is proxies. bostr, blastr, .. not sure if blastr is reading from every relay though. if it is not then it is not reducing read traffic (which is the most traffic). another one is aggregating relays that collect notes from a lot of relays (strfry router feature). this is also for reading. primal's thing is cache service, for reading as far as I understand. it posts directly to relays of your choice. all comes whit the cost of more centralization.
I too am interested in this. I basically avoid nostr when I'm not on WiFi. I don't have unlimited data and it blows my data plan out of the water after about 5 min when I accidentally use it on a mobile network. I think there are some settings that can help with this though like, having a different app/profile with just one relay, turning off media loading. Turning off all extra stuff like nip05, and possibly pfps.
having a local relay and imageproxy like a little local deployment of nostrudel, that i use here, would probably help a lot, especially the imageproxy, though the app should be keeping a cache of images (ya know, cache management isn't that hard but mosta y'all never did serious systems programming, and i only just got the excuse to build a cache) second thing that would help would be a new field in filters that lets you send a bloom filter of all the event IDs you don't want to be sent in a request i've filed this as an issue/enhancement request on nip-01 and i'd appreciate it if more people would recognise what a massive boost it would make to mobile users
Since people invariably will want to use many different nostr clients, any ideas that a single client can use (caching events locally, doing any kind of negentropy with the relay, etc, etc) will not be sufficient. Any client-specific solutions will not be enough. We need a NIP based solution. I've been saying for as long as I can remember that we need what I call a "client proxy". People have pushed back by imagining I'm talking about some central service people sign up for which would become another point of censorship - NO! I'm talking about something that you run on your local computer, or your local network, or a data center where YOU control it ... and all your various nostr clients funnel everything through it so as to avoid events being downloaded over and over again. The protocol from client to client proxy might have to be outside of nostr proper. It just has to add which relay the client would have asked directly. For example, the client can say "Get this filter from these relays" and the proxy can (being smart) say "Hah, I already have that from relay A, here you go" while it asks relays B and C and caches those results.
There was one time I forgot to turn my wifi back on and couldn't doordash for a month because nostr ate up all my mobile data.... ๐Ÿ˜ญ
calle's avatar calle
I said it before and I'll say it again and again: we need ideas to fix the huge traffic issue with noste. My computer starts downloading events with 20 MB/s whenever I open a new nostr tab. That's unacceptable. If we want the world to use nostr (not just the US), clients need to work in a low bandwidth environment. Think smaller.
View quoted note →