Skip to content

Distributed namespaced discussions #788

@jb55

Description

@jb55

We can create non-moderated twitter/reddit-style communities like so:

Basic ingredients

  • NIP22 Comments for threads.
  • Simple immutable, non-addressable note anchor with name, description and banner. note id is the community id. We can also anchor on hashtags or namespaces for more generic communities (usenet, etc)
  • Relationship statuses for community membership
  • optional addressable event for updating description/banner. alternative: relay based banners and description for the same community?

Properties

  • can only post in one community at a time.
  • separate follow list for communities you’ve joined (- Implement relationship statuses #627 ideally)
  • communities have a name, banner, and description and can only be created once (name is immutable, non addressable). communities therefore have a specific sha2 ID which is the unchanging identifier for the community.
  • non-addressable sha2 id over d-tag name anchor, otherwise it's not clear which "bitcoin" community you are referring to.
  • size of community is counted by number of people who have that community id on their community follow list.
  • community posts have a distinct design (shows the community name on top like in X)
  • community can have addressable data associated with it via the creator or frost creators (sidebar info like on reddit)
  • Since threads could be quite large, we should use NIP-22 Comments, this would allow us to pull large root threads first (if building a reddit-style design)
  • outbox: community author can create a preferred relay list for the community, or it can be more amorphous and exist everywhere
  • cross sections of the community can be moderated if viewed from the perspective of moderated relays that host content from that community1
  • the community name changing would be confusing, immutable is good for the community creation anchor.
  • Description could be overridden with the addressable metadata event, but name can’t change
  • there could be forked or hidden parts of the community on unofficial relays. these are just different views of the community associated with the sha2 id of the community.
  • they have much better network effects as well and can exist for long periods of time as they can exist on any or all relays
  • community members can publish relay lists and they can fight over which views of the network are the "official" ones, effectively forking the community without needing to change the root identifier

Then basically the largest community for a given name would be the defacto “reddit community” for that identifier

Questions

From nostr

d-tag

Q: [email protected]: if the name is the d-tag is immutable...
A: [email protected]: i wanted it to have a persistent sha2 id though, otherwise it's not clear which "bitcoin" community you are referring to

what, where and how

Q: [email protected]: Sorry but I am not a dev and I need simple language from the POV of the users. What is a community in NOSTR? Where do you create it? And if I got it right if the community is putting content that does not want any moderation this spec will allow it to be uncensorable even by relays. Do I get it?
A: [email protected]: There is no singular definition of a community on nostr. I am proposing one of many alternatives.in this model noone can stop you from posting to a community. the community would exist as notes spread across different relays. there could be a canonical relay list associated with the community, but there could be forked or hidden parts of the community on unofficial relays. these are just different views of the community associated with the sha2 id of the community.

simplicity

Q: [email protected]: how do you assess complexity vs NIP-29 and its' various implementations?
A: [email protected]: this serves a different purpose than closed relay communities. they are meant to be large and open, like twitter/reddit-style communities. they have much better network effects as well and can exist for long periods of time as they can exist on any or all relays. community members can publish relay lists and they can fight over which views of the network are the "official" ones, effectively forking the community without needing to change the root identifier

generic/hashtag communities

Q: vitorpamplona.com: Isn't that a NIP-22 with I tags on hashtags? If there is no moderation, I don't think there is a need for picture and about me blurbs as they would just try to drive the conversation to one direction or another. With the hashtag, all the meaning must be extracted by the thing that cannot change: the hashtag name. Everything else is fluid. And it doesn't make sense to remove the fluidness without moderation to enforce a certain view.
A: jb55.com: could definitely do it this way, but loses the charm of a reddit/twitter community with banner and sidebar. This could be a feature of the spec, generic or hashtag communities. It's compatible because I'm using nip22

Footnotes

  1. https://damus.io/note155nue07jrwqqd8pll0jllm00kyffrsppke5l3jrz72mdt2ua776q69gxwq

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions