What is Nostr?
Semisol 👨‍💻
npub1226…grkj
2024-12-29 16:50:48

Semisol 👨‍💻 on Nostr: TL;DR if you can’t read the code: the client architecture is heavily reliant on a ...

TL;DR if you can’t read the code: the client architecture is heavily reliant on a centralized caching server and often trusts it as is

your relays determine maybe some and reads, and event writes, that is it
Primal clients read from the caching service and write directly to the user’s relays. We chose a set of tradeoffs based on what we are trying to accomplish: best UX possible. We’ve been very transparent about it from Day 1. See my blog post from March 13, 2023 - the day we launched Primal. I still think that caching services are not only great for UX, but also a legitimate way to help scale Nostr once we hit millions of users. They could even improve censorship resistance, since anyone can stand them up and create more copies of Nostr events.

Having said all that, the Primal stack is evolving and becoming more capable on the client as well. One can imagine peer-to-peer transfers between clients that have client-side databases, like Primal for Android. I think Nostr will have it all: relays, indexers, caching services, client p2p transfers. It will be very hard to stop.

Claiming that there is only one way to properly build Nostr clients and that everyone must choose exactly the same set of tradeoffs is silly. For example, gossip/outbox purists might take issue with how Damus works.

Everything we build at Primal is open sourced under the most permissive MIT license. I believe we offer the only open source indexer for Nostr (someone please correct me if I’m wrong). Anyone can stand up and run their own caching instance. Other projects have done so in the past. Primal users hold their keys and can move to another client at any time if they don’t like how our product evolves.

On a personal note Will, you constantly fud Primal. You tried to cancel us before, joining semisol’s cEnSoRsHiP nonsense campaign. Your latest initiative - trying to impose rules on what can be called a Nostr client - is also an attempt at cancelling. I don’t know what to make of it because you are always very friendly in person. We spent a considerable amount of time together, and you never raised these issues with me face-to-face. Why not? On the contrary, you always seem to have kind words for Primal when we talk.

I’ve never said a bad word about Damus or any other project. I want to be on good terms with all Nostr builders, but you are making it hard with posts like this.
Author Public Key
npub12262qa4uhw7u8gdwlgmntqtv7aye8vdcmvszkqwgs0zchel6mz7s6cgrkj