Nostr is inefficient, you get the same note from multiple relays.

https://user-images.githubusercontent.com/1653275/234749565-a0308f10-314f-48ac-9799-d9ad54c9615c.mp4

Reply to this note

Please Login to reply.

Discussion

Is this why I’ve used 25gb of data this month?

Nah, that’s mostly because people upload 10MB gifs and there is no centralised server to resize them

bitcoin is inefficient too

This is by design

Security/correctness and performance are the two things you can't just bolt on afterwards. They have to be in your mind judging your every action from the start to the end.

BlueSky is dead.

Could you expand on this for us? What are we seeing in fiatjaf’s screen cap that’s fatal?

Watch the lower left hand corner as all the http requests scroll past. A bit excessive.

Maybe I misunderstand. The screencap is a video. It shows a near infinite amount of loading of lots of different things from lots of different places, but it also looks like it might be stuck in an infinite loop bug and if so I guess I retract my "BlueSky is dead" comment. If not, if it actually has to load all that crap, then that is not gonna fly.

Yes, looked like an infinite loop. The official client is much better. Just use the official client, do not trust unofficial clients. Bluesky is open, interoperable, fast, works great, as long as you use the official client and server.

So I can now tell people I saw four times the memes I thought I did?

Kind of censorship resistant? Useless!

I think you just found a hacky client. The ATprotocol is basically just git. All posts are stored in a Merkle Search Tree, it’s quite efficient.

lmao

Perhaps including in the client queries a short list of the signatures/ids of already grabbed notes, notifying the relay of what it doesn't need to update?

i remember seeing a proposal for a proxy relay which dedupes events before sending them to the client. seemed promising

Why are the server responses with status code 200? Could we utilize the [`ETag`](https://en.m.wikipedia.org/wiki/HTTP_ETag) over different HTTP servers? Is this even possible on WebSocket-Connections?

Apparently not really: https://stackoverflow.com/a/23919269

are you sure?

To do duplication, we would need to send over bloom filters to tell relays what we need (or can be skipped?)

why?