1.5 KiB
1.5 KiB
ADR-003: Nostr Relays for Node and App Discovery
Status: Accepted Date: 2026-03
Context
Archipelago nodes need to discover peers and community apps without a central registry. Options: custom P2P protocol, DHT, BitTorrent tracker, Nostr relays, IPFS.
Decision
Use Nostr relays (NIP-78, kind 30078) for both node discovery and marketplace app manifests.
Consequences
Positive
- Decentralized: Multiple independent relays; no single point of failure
- Existing infrastructure: Thousands of Nostr relays already running globally
- Censorship-resistant: If one relay censors, others still serve events
- Simple protocol: WebSocket + JSON — easy to implement without heavy dependencies
- Key management: Nostr uses secp256k1, same curve as Bitcoin — natural fit
- NIP-33 replaceable events: Latest event replaces previous — clean update model
- Tor-compatible: WebSocket over Tor SOCKS proxy works natively
Negative
- Relay availability varies: Some relays may be down or rate-limited
- No guaranteed persistence: Relays may prune old events
- Spam potential: Open publishing means anyone can publish junk manifests
- Latency: Querying multiple relays adds latency to discovery
Mitigation
- Query multiple relays in parallel; deduplicate results
- Cache results locally with 15-minute TTL
- Use trust scoring to rank manifests (DID verification, relay consensus, federation trust)
- Use hashtag filtering (
archipelago-marketplace) to narrow queries