Comment on How does Nostr work, and what are the pros/cons compared to ActivityPub?

mike_wooskey@lemmy.thewooskeys.com ⁨2⁩ ⁨weeks⁩ ago

I’ve tested using nostr and it seems cool (I love decentralization), but I don’t really know what it is. Your question made me curious about the differences between nostr and activitypub, so I asked my AI.

I thought the response was useful so I’ll paste it here. If you don’t like AI responses, stop reading this post here.


I asked: Explain the main differences and similarities between nostr and activitypub.

Qwen-3. 8 said: Both are open, JSON-based protocols for decentralized social media, but they take opposite ends of the design spectrum.

TL;DR: Nostr is a minimal client↔relay broadcast protocol where you are your keypair. ActivityPub is a heavy server↔server federation protocol where servers host accounts and talk to each other.

Main differences

Nostr ActivityPub
Architecture Client ↔ many relays (star topology). Relays are dumb stores/forwarders that never sync with each other Server ↔ server mesh. Servers discover each other (WebFinger) and exchange activities directly via HTTP
Identity secp256k1 keypair — your public key is your identity, hosted nowhere URL-based account (@you@instance.social) hosted and controlled by a server
Complexity Tiny: WebSocket + signed JSON “events” + Schnorr signatures. Trivially easy to implement Heavy: JSON-LD, Activity Streams 2.0 objects, HTTP signatures, inboxes/outboxes, WebFinger
Data model Flat events (kind + tags + content), semantics defined by NIPs Rich typed objects (Person, Note, Follow, Like, Collection, …)
Moderation Almost none built in — spam filtering is client-side or per-relay policy Per-instance moderation: reports, blocks, instance-level blocklists
Discovery No native user search (NIP-05 vanity mapping, directory relays) WebFinger, search endpoints, follow graphs
Media Not in core — external links or NIP-94 metadata Native images, video, polls, boosts
Censorship resistance High — anyone can run a relay; clients fetch from many so content is globally replicated Lower — each server is a full trust domain; your account and content live or die with it
Maturity New (2023), fast-moving, experimental (Presto, Amethyst, Snort, nostr.band) W3C standard (2018), large ecosystem (Mastodon, Pleroma/Akkoma, Misskey, PeerTube, Lemmy)

One nuance: Nostr isn’t really “federation” at all — there’s no server-to-server sync. It’s a publish/subscribe model where your client aggregates multiple relays. ActivityPub is true server-to-server federation.

Similarities

Rough heuristic: Nostr optimizes for simplicity, portability, and censorship resistance at the cost of moderation and discovery. ActivityPub optimizes for a mature, moderate-able social graph at the cost of complexity and server lock-in.

source
Sort:hotnewtop