Thread

🛡️
My nostr community idea: - can only post in one community at a time. - separate follow list for communities you’ve joined (relationship statuses 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 of the post in your timeline 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](📃.md), 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 community - 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 - the largest community for a given name would be the defacto “reddit community” for that identifier Feel free to add questions and I'll add them to my notes here:
jb55's avatar jb55
There’s an simple, cross-relay, non-moderated community implementation that seems obvious to me but has not been spec’d yet… hrmm
View quoted note →

Replies (12)

Hararil's "Sapiens" great book btw on how communities have formed since the start of humanity and how it separates us from the animals. Maybe learn from the past. The part about "myth building" is important.
I don't understand. If the community has no moderation and no theme, what's the difference between it and the global feed? I only see people coming together in a community for some common theme. If the community isn't fixed on the theme via moderation, it will quickly wither away because it won't maintain the theme that justifies the union. How will clients know where to get the notes made for the community if there won't be one or more relays defined for it? Searching for all community members to go get the notes from their relays seems a bit unfeasible.
🛡️
How do you prevent spam? Not only obvious spam but also off-topic comments and annoying people that ruin the community because there are no barriers to entry? It seems like these communities will have to naturally flock into relays that do the filtering on their behalf necessarily, and at point you're dangerously close to either NIP-29 or just kind:1 relay feeds. Both are good outcomes in my opinion.
🛡️
standard spam filtering approaches, with heavier emphasis on relay based filtering. We do this on the damus universe feed, only show notes from paid relays. This design of this is inspired by twitter communities, which would fit nicely into a microblogging client. I could use kind 1 but wanted to support reddit-like UIs via 7d+subject. Its meant for large communities (100k+) Since the “community” would get fragmented depending on which lens you’re viewing it from, @Vitor Pamplona suggested this shouldn’t be called communities. So i’ve been thinking of a different design where you explicitly tag which relays you are sending to (#bitcoin, #bitcoin@delvingbitcoin.org) so that relays can filter notes not sent to them. Maybe this would be 7D with an I hashtag scope. This is tentatively called distributed namespaced discussions. This would allow me to have my mailing list idea with a distributed form of “communities”… still working through that though, not sure if it makes sense yet.