I suspect the nip29 relay chats are kinda dead because the spec doesn't take network effects seriously. if you can start with a very open and easy get into (even if its spammable) community that you can filter into more filtered views later (same community but viewed from paid/pyramid relays) without losing the overall community identity.
I think I can make this spec compatible with nip29, just without the heavy relay moderation kinds.
it also helps to have a way to explictly tag which filtered subset of the community you are talking to. for instance maybe I want to specifically send to the `bitcoin` topic but only to my local community, I can add a marker on the note saying its specficially to:
to: #bitcoin@delvingbitcoin.org
cc: #bitcoin@homestead-community.org
This is metadata on the note that encodes intent. should this be received on specific relays or globally? (to: #bitcoin). This is similar to protected events ( nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 ) but more granular, it gives relays tools to not accept notes more intelligently.
this effectively creates a distributed communications network around topics. the token `bitcoin` is universal, so you can filter on that topic across the entire planet by looking at different filtered relays views. maybe I want to see people talking about bitcoin at my local university? my local community? globally (subreddit/twitter). This is supported in a spec like this.
nostr:note190yxgffw0k9s8hqwt6mdh2r6ehnukd8e9lehs3hq3p75yqz2tdzq4wctqs