Nostr, my thoughts on a new decentralized pubsub protocol

I was handed a flyer about Nostr, a new pubsub protocol at FOSDEM. To put it simply, Nostr is the minimal protocol to for a decentralized content publishing system which a lot of the same appeals as most small internet protocols. This concept intrigued me as someone dabbled into GNUnet and Gemini, so I decided to look into it and see what it was about. Ended up with a mixed bag of feelings.

The flier I got at FOSDEM 2025
Image: The flier I got at FOSDEM 2025

Nostr, in essence

Nostr stands for "Notes and Other Stuff, Transmitted by Relays". Unlike Gemini, it is not a documentation transport protocol, but a decentralized pubsub. Content is first signed by the users, send to relay(s) and then the relays can push and hold the content in case users who carded about it are offline. In Gemini terms, instead of a client-server model, Nostr has a vast amount of aggregators and they actively push content to clients.

Every publisher on Nostr owns a private and public key pair (secp256k1) and signs each publication with said key, pushing their content to relays.Relays then verify the signature to ensure the content is authentic. Then if the relay has subscribers interested in the content (specified by tags or subscription to public keys), it will push the content to the subscribers. Or if the subscriber is offline (in reality subscribing runs on a per-connection context, so relays don't need to remember about subscription from clients), the relay will hold the content until the subscriber comes back online.

For censorship resistance, Nostr does the dead simple approach - since content publication is attached to your public key and not domain or IP address, even if your content is so controversial that the ISP decides to block you, you can just find a local cafe and poke relays there. Also if the relays decides to block you... well, you can just find another relay. This is drastically different from previous attempts at censorship resistance, like GNUnet where the FS (file sharing) service built probable deniability into the protocol. I have seen this described as a "pro censorship" approach where nodes can censor all they want, but the protocol itself remains censorship resistant.

Thoughts

To me this feels like an "yet another protocol" situation. Yes I have my dislikes around ActivityPub (used by Mastodon and Lemmy) and AT Protocol (used by Bluesky), they are too damn complicated for most to understand. But in return they have reasonably good user experience for the every day user. Nostr on the other hand relies on a private-public key pair and users are expected to store that thing safely. And no recovery mechanism is in place. People already had problems with importing and managing their cryptocurrency wallets, I can't imagine how Nostr would teach people that.

Also I dislike the fact that Nostr is very heavily influenced by cryptocurrency (the creator is a developer of Bitcoin's Lightning Network). It has great cryptographic security. But my recent involvement in the industry has made me loose faith in the whole thing. People chasing the next big thing will likely turn Nostr into a sh*tshow.

Unlike Gemini, Nostr does not imagine how applications would use the protocol. It's just a pubsub and says "here's a node you can mess around and do whatever". Truly nice to see new organic infrastructure being built. And there's already different clients using Nostr as the communication layer. One downside of the "no home server" approach is that clients are expected to store it's own history. Which makes application potentially use more storage and archiving a larger pain.

Otherwise Nostr is a really nice protocol. After reading the specs, I bet I can write a client/relay library in 3 full days. Which sounds like a fun project to do. But now I want nothing to do with the cryptocurrency world. Maybe sometime in the future. And it sounds fun to integrate GNUnet with Nostr. Imagine a truly censorship resistant network where you can publish and retrieve content over GNUnet CADET. It's both resistant to censorship by the sheer design of GNUnet and Nostr's public vast network.

Author's profile. Photo taken in VRChat by my friend Tast+
Martin Chang
Systems software, HPC, GPGPU and AI. I mostly write stupid C++ code. Sometimes does AI research. Chronic VRChat addict

I run TLGS, a major search engine on Gemini. Used by Buran by default.


  • marty1885 \at protonmail.com
  • Matrix: @clehaxze:matrix.clehaxze.tw
  • Jami: a72b62ac04a958ca57739247aa1ed4fe0d11d2df