Tuesday, November 25, 2025

Nostr's vs P2P Social

 

Key Architectural Difference

Nostr: Client → Relay (server) → Client
P2P Social (e.g., Scuttlebutt, SSB): Peer ↔ Peer (gossip/replication)

Nostr uses relays (simple websocket servers) as intermediaries, while P2P social networks have users directly exchange data with each other.

Nostr's Advantages Over P2P

AspectNostr's Approach
Simplicity"Signed JSON over websockets" - trivially implementable
ReliabilityNo NAT traversal, no DHT, no gossip protocol complexity
Mobile-friendlyClients can be thin; no need to run background sync
DiscoverabilityRelays provide known endpoints; P2P struggles with "how do I find you?"
Offline usersRelays store messages for offline recipients; P2P requires both parties online (or complex pub infrastructure)

P2P's Advantages Over Nostr

AspectP2P's Approach
No servers neededTrue decentralization; Nostr still requires someone to run relays
Offline-firstLocal-first data; works without internet once synced
Censorship resistanceHarder to block gossip than to block known relay servers
No hosting costsUsers bear their own storage/bandwidth

The Tradeoff

The speaker acknowledges: "we're not in the business of selling magic - data has to be hosted, it has to be on a drive somewhere connected to the internet."

Nostr accepts that servers exist but makes users not dependent on any specific server. P2P tries to eliminate servers entirely but introduces complexity that limits adoption ("it works" being the key claim against P2P).

so what does nostr run off? web servers? daemons?built on.

From the transcript, I can pull out:

  • Relays are websocket servers
  • The protocol is "signed JSON over websockets"
  • It mentions you can run a relay on a Raspberry Pi
  • Relays are just servers that host data

Let me explain this clearly based on what's in the transcript and general knowledge about Nostr.

Based on the transcript, Nostr's infrastructure is straightforward:

Relays

Relays are just websocket servers. The speaker describes the entire protocol as "signed JSON over websockets" - that's literally it.

They can run on:

  • A VPS or cloud server
  • A Raspberry Pi (the speaker mentions this as an option)
  • Any machine that can maintain websocket connections and store JSON

There's no special daemon or complex software stack required. A relay just needs to:

  1. Accept websocket connections
  2. Receive JSON events from clients
  3. Store them (database, files, whatever)
  4. Serve them back to clients who request them

Clients

Clients are regular apps - mobile apps, web apps, desktop apps. They:

  1. Connect to one or more relays via websocket
  2. Publish signed events
  3. Request events (by public key, by kind, etc.)

What's notably absent

  • No blockchain
  • No DHT (distributed hash table)
  • No gossip protocol
  • No consensus mechanism
  • No special networking requirements

The speaker emphasizes this simplicity intentionally: "it's just JSON, you'll figure it out." The barrier to entry is low - if you can build anything that talks websockets and handles JSON, you can build a Nostr client or relay.

This is why adoption has been relatively fast compared to earlier decentralized social attempts - the technical lift is minimal.

No comments: