The relay architecture is too limited so it encourages centralization through sticky defaults in user clients. UX noticeably improves when users have to query and publish to a smaller overall set of trackers. There's no structure to the protocol to encourage naturally spreading the load around.
This also means that it gets increasingly more expensive to run a relay as time goes on, making those parties have more sway over the network and giving the ability to selectively remove content.
So that's why I argue it's not fully decentralized, like BitTorrent. BitTorrent does have trackers, but they're only an accelerator over DHT/PEX. Peers can't manipulate content since you independently verify it. There would have to be some kind of in-protocol message exchange directly between participants, bypassing relays, when they were able to reach each other.
The typical problem of a centralized infrastructure.
Indeed:
> This means each user gets their own Timeline partition, randomly distributed among shards of our horizontally scalable database (ScyllaDB), replicated across multiple shards for high availability
Thank you for the feedback, I know there are still several rough spots to be fixed.
Nostr is a protocol that has a lot of potential, but there are tradeoffs, it now has a large ecosystem and requires learning some new paradigms, and being completely decentralized the terminology is also becoming more standardized and consolidated over time.
This onboarding system is meant to try to explain them, certainly not for people who want to quickly enter an email and a password and start using a specific app. For that one can precisely download an app and use the built-in onboarding, often apps create a profile without asking for anything and invite afterwards to save the credentials.
These are different paths for different needs, the good thing is that with Nostr you have a choice, and when you have created your digital identity, you can use it anywhere.
Nostr is frustrating. The protocol is indeed pretty awesome--partition tolerant in a way that RSS isn't. I want to get to know it because that's a property that I want for an app that I want to build.
So I started using it, just to get a feel for how it all comes together. You can set up a browser extension (or hardware device) which holds your signing key and you can configure it to auto-sign on your behalf or to prompt you for each required signature. So if you leave it in prompt mode you can use the apps and see what gets signed by your key (which they don't have, supposing you're "doing it right"). It's a really neat transparency feature and I felt like it was better helping me understand what was going on as well as putting me in more fine-grained control over which code I trust to act on my behalf. It's a usage mode that I hope becomes more popular, though it's inconvenient so I have my doubts.
But the content which happens to move through nostr is on average pretty awful. Mostly it's just memes where crypto bro's convince each other that they're superior to the rest of us--despite the fact that their precious blockchains would totally fail in the kind of partitioned-internet scenario which nostr is resilient against. The mismatch between its own design principles (partition tolerance > consistency) and the enthusiasms of the people who use it (consistency > partition tolerance) makes me uneasy for the same reasons I'm uneasy about Web 2's social media: made by us, for you, but we're not you and our agenda is unclear.
I'm still probably going to use it, but until I can get an app going that I actually want to use I don't expect to be consuming much content from it.
Statics blogs are cool but you have to manage them uploading the content every time. The interesting aspect of this solution is that you can use whatever client that supports long format (https://habla.news, https://yakihonne.com, https://highlighter.com, etc) to write your post, and your personal blog is automatically updated. No fuss.
May I ask you to elaborate on this point?