Why Nostr? What is Njump?
2025-03-04 09:59:41

Niel Liesmons on Nostr: If #communikeys are a bad idea, tell me now šŸ˜‰ ...

If #communikeys are a bad idea, tell me now šŸ˜‰

The Key Pair

What a Nostr key pair has by default:

  • A unique ID
  • A name
  • A description
  • An ability to sign stuff

The Relay

What a Nostr relay has (or should have) by default:

  • Permissions, Moderation, AUTH, …
  • Pricing & other costs to make the above work (cost per content type, subscriptions, xx publications per xx timeframe, …)
  • List of accepted content types
  • (to add) Guidelines

The Community

Since I need Communities to have all the above mentioned properties too, the simplest solution seems to be to just combine them. And when you already have a key pair and a relay, you just need the third basic Nostr building block to bring them together…

The Event

To create a #communikey, a key pair (The Profile) needs to sign a (kind 30XXX) event that lays out the Community’s :

  1. Main relay + backup relays
  2. Main blossom server + backup servers
  3. (optional) Roles for specific npubs (admin, CEO, dictator, customer service, design lead, …)
  4. (optional) Community mint
  5. (optional) ā€œWelcomeā€ Publication that serves as an introduction to the community

This way:

  • any existing npub can become a Community
  • Communities are not tied to one relay and have a truly unique ID
  • Things are waaaaaay easier for relay operators/services to be compatible (relative to existing community proposals)
  • Running one relay per community works an order of magnitude better, but isn’t a requirement

The Publishers

What the Community enjoyers need to chat in one specific #communikey :

  • Tag the npub in the (kind 9) chat message

What they needs to publish anything else in one or multiple #communikeys :

  • Publish a (kind 32222 - Targeted publication) event that lists the npubs of the targeted Communities
  • If the event is found on the main relay = The event is accepted

This way:

  • any existing publication can be targeted at a Community
  • Communities can #interop on content and bring their members together in reply sections, etc…
  • Your publication isn’t tied forever to a specific relay

Ncommunity

If nprofile = npub + relay hints, for profiles
Then ncommunity = npub + relay hints, for communities

Author Public Key
npub149p5act9a5qm9p47elp8w8h3wpwn2d7s2xecw2ygnrxqp4wgsklq9g722q