Experience at teenly tiny scales tells you nothing about experience at actual scale.

This divine video things is a good example. I quote:

"The app has lots of bugs, and we need appstore approval, but at the moment the biggest problem I have is relays... i started using nosflare by @Luxas which worked pretty good when we had dozens of users but has had scaling issues and has been hard to debug... So then we tried using the ditto relay by @Alex Gleason and put a bunch of really beefy servers behind it. Even then it's struggling to keep up. The thing is, we're pre-launch, we have 10k users in testflight and a mostly read only site at divine.video which is a react app."

Only 10k users in test flight and the guy can't find a single relay that'll handle it. Or maybe all these test flights users were just "holding it wrong".

So many things on nostr will collapse at scale.

Reply to this note

Please Login to reply.

Discussion

There's nothing special in nostr relays, they are just backend servers that can scale horizontally. If there were problems in divines relays, they could be easily solved. Nothing about nostr itself is the scale issue, there may ofcourse be bad code in a nascent protocol.

There is nothing special in nostr relays is the exact problem. You need something special to scale.

Relays physically cannot scale vertically, even strfry, which I'll be the first agree is tight c++ code, will max out before it supports anything at scale just due to write limits. You'll always hit a write wall on the database, and no code will remove that wall for you.

Relays cannot scale horizontally either (to millions) due to coordination issues, latency issues (especially tail latency), the backplane limit, state bloat quicksand, and also just vertical maxing out of individual relays in the horizontal plane. Again no code will fix this, you're bumping up against hardware and the laws of physics.