Oddbean new post about | logout
 Community relays are a bad idea

Community relays get mentioned a lot as a solution to spam or illegal content. The basic idea is that specialized relays can moderate and filter content. Choosing relays would be akin to choosing the type of content you want to see.

I think community relays create more problems than they solve:

1. Spam or illegal content filtering through relays only works if you also stop using unfiltered, general purpose free relays. This would see you isolate on a small, relay-bound network island.

2. By using specialized relays, you give those relays power over you. If relays are generic and interchangeable, then being banned by one of them doesn't matter. However, if you get banned by the largest Politics relay, for example, you can no longer reach that community.

3. Filtering at a relay level is impractical to begin with. It's similar to expecting node operators to filter what makes it on to the blockchain, though admittedly with a bit less permanence involved. Relays should have basic spam filtering in place, but no sane relay admin wants to actively monitor and police all content that their relay carries. Even if they were so inclined, they would need to use a client to do it.

4. Relays don't actually host any illegal media, they only carry text. Illegal media such as CP, for example, needs to be uploaded to a 3rd party platform, and displayed by a client. The relay can potentially carry a URL to such content, but it never actually hosts it and it's clients that display it to users.

5. Communities, reports, content filtering, these are all easier to implement at a client level. Ultimately, the website or app where the content appears is the one that will be held to account, along with the platform where the media is stored.

Please do not give power to relays, I ask you this as someone who runs a free relay. 
 I tend to agree. 
 Facts. I think relays shouldn't filter anything at all, filtering and reporting should be done by clients.  
 I don't really understand.. how can a group focus on a topic without any kind of invite/mod system.  You say you're worried about being banned from a politics group, well, Twitter doesn't do groups, so what are we really saying here.  What makes a group come into existence?  What happens for example when someone is streaming and then some hater comes in and destroys the chat?  There are many uses for relays beyond a Twitter experience.. 
 What I'm advocating for is implementing communities/groups at a client level, which is largely what is happening today. Presumably clients will add actual moderation functionality, giving admins the ability to stop users from posting in these communities, remove posts, etc.

This is fine. The difference is that when a user gets banned from such a community, it doesn't affect their followers' ability to see their posts at all. They can also start their own community for the same topic if they so choose with a couple of clicks.

However, if community relays become a thing and we're presumably only subscribed to relays that we have an interest for (since otherwise the whole idea doesn't work), then getting banned from such a relay will also impact many user's ability to see your posts. It also vastly restricts your ability to start your own community, since presumably you need to have your own relay to do it, and you need to find some way of reaching a bunch of users who are isolated on network islands. 
 These concerns you have assumes clients are too dumb to find someone when they've been booted from a relay.  Which is the whole thing that nostr is supposed to solve. 
 I think it only works if relays remain generic and interchangeable. The issue with community relays is that they require the user to isolate on specific relays to get the benefits. 
 With current clients that don't support anything but Twitter megaphone blasting yes.  But a client that understands how to find communities would not have this problem. 
 So let's say as part of my signing up through a client, I get asked which topics/communities I'm into, and I choose Science, Politics and Cooking.

Not sure how the client would handle any duplicates there, but I digress.

Now let's assume I piss off the management of the Science relay and get banned.

I no longer have a way of reaching the users of that Science community, even though they may be subscribed to me, since we no longer have a relay in common. If I create a new Science community, how would they know about it? How would the client decide to recommend it to anyone? Do I need to host a relay to do it?

Worse yet, maybe the Science community relay just disappears one day. The entire community erased. 
 How does IRC work or discord?  It's a server with chat rooms.  You get booted? You're booted. At least with Nostr  if you followed someone, you know how to find them via the other relays.  You could stream down those events to another relay if you want and reply to them there.  So far these relays don't even disallow reading so you can still read those notes even if you're booted (also better than IRC).  Yes you could run your own science relay or provide a mirror.  Anything is possible in nostr dev world.  I refuse to accept that running a relay is too hard either.. 
 IRC is a good parallel, on large networks you can create, join and get banned from thousands of channels, but you're still on the same network with everybody. You can even get banned from individual IRC servers on the network and still carry on as if nothing happened, because all servers on the network share the same data. Similarly, if one of the IRC servers on the network disappears and never comes back, no channels on the network are affected.

What you are proposing is similar to the hundreds of single-server IRC networks that have the one large channel run by the same people who run the server itself. If you get banned, you've lost access to the channel and all people on that IRC network. You now have to join another one and hope that you can find some of them there. Similarly, if the server gets canned one day, your channel is gone with it.

Your argument is you could run your own IRC server and people could join that. What I'm saying is we shouldn't have to, it's easier and better for Nostr to keep relays generic and solution for communities at a client level, similar in concept to the large IRC networks in this example. 
 No, my argument is that relays can be like those large irc networks but also run by multiple entities instead of one entity.  Large irc networks afaik still have a central entity running the synchronization between the servers. 
 A large IRC network is a mesh of servers (relays) that all share the same content. They are run by multiple entities because they are multiple individual servers (relays in our example). In this example Nostr is the IRC network, and relays are its servers.

Large IRC network do have central governance, which is usually made up of all individual server operators and used to decide on network-level things, like services, which other servers should be added, etc.

For clarity, I want Nostr to be like those large IRC networks, where all servers (relays) share the same data and all channels (communities) are unaffected by the actions of a single server. 
 So what I am trying to say (but it's hard) is that you are arguing against community relays and making all kinds of assumptions about how it will work.  And now I got suckered into doing the same 😂 I could talk about all the ways nip72 is broken but I won't.  I will simply say, it's not clearly defined what community relays or communities are and it's going to take a client or a nip to enter that frontier of unbuilt functionality.

Clients will eventually move away from the blaster model of all notes on all relays.  This is already a terrible experience and centralizing force that is killing smaller relays.  We already know how to find other npubs via gossip, and we will need a similar way to discover communities otherwise we are all just missing our replies because the messages are on relays that we aren't connected to.  And along those same lines, some relays will not want to carry certain topics that is their choice.

The closest thing I've seen to making progress in this realm lately is this nip: https://github.com/nostr-protocol/nips/pull/566#issuecomment-1806961991 
 who pays you to run the relay tho 
 Nobody, I'm using resources I already have so it doesn't really cost me anything.

I want to see Nostr succeed and I want to avoid censorship - this is what I get out of it. 
 mucho texto
but also you need to get over your ptsd. relays are not miners. miners are not evil. people running computers for free is not good (as in, the opposite of evil). 
 I'm really struggling to decipher your nugget of wisdom, are you implying that community relays are good because they can charge people to join the community? 
j | 1 years ago (raw) | root | parent | reply | flag +1
 Sorry for the obscurity

I'm saying that power is a natural consequence of being valuable to people. A good relay will have power in so far as people value it and that's ok. 
j | 1 years ago (raw) | root | parent | reply | flag +1
 The obvious correlate is that many people will find value in their relay blocking spam for them 
 Thanks for clarifying. I think the issue with relays blocking spam is you only get the benefits if you limit yourself to those relays. I don't think network islands are good for Nostr in general and for their users in particular.

I think that there are many other ways in which relays can provide value, like being reliable, offering data retention services, not banning you for your speech, etc. 

Ultimately relays are back-end databases and there's only so much coin someone is willing to fork over that. A model where relays are free is feasible, they're very light on resources and there are examples from the past where this has worked, see large IRC networks. IRC servers play no part in filtering channel content either. 
 Your assumption is wrong. You can use the spam blocking relay for some things and look at spammy relays for others.  You can just have both amd get the best of each for whatever context makes sense.  
 Be specific, can you still see notes from spammy relays or not? And if you can still see them, are you still getting spammed with unwanted notes or not? 
j | 1 years ago (raw) | root | parent | reply | flag +1
 Sure. You see the notes from spammy relays but only when you want to. 

For example, you can use a client like get-tao.app to look at the spamiest notes possible (from anon accounts, the only barrier to post is POW) or you can use your insular ingroup client when you only want to talk to fellow turkish rug enthusiasts.

Easy to imagine clienta that would allow you to seamlessley switch between the two contexts 
 Ok, so we're agreed that you do have to be isolated on the insular group in order to avoid the spammy notes, but you're proposing that being able to easily switch to spammy relays solves for that.

I suppose when the turkish rug enthusiast relay goes down, we take a break from talking about turkish rugs? What if it never comes back?

And why can't both spam and communities be solved at a client level to achieve the same thing? 
 The group can have multiple relays, obviously. 
 They could too, more options is better 
 I’m not extremely familiar with the technology behind Nostr. I’m just a dude trying to entertain myself. So I have no clue about how to implement anything. I do know that I don’t really care about bitcoin, or dev speak, and that’s a majority of what I see on any Nostr client. I absolutely love the privacy, and decentralized aspect of Nostr, but the content kinda sucks from the perspective of the majority of us that don’t really care about the topics that are proliferated on every client. Thats a major limiting factor for the success of Nostr. It will be tough to grow any client to a substantial user base with limited content. It will be what it is today a niche that hits a wall that it can’t grow beyond. Without the ability for the user to curate content you won’t grab enough users to build anything that competes in any way with centralized social media. Communities don’t come without there draw backs for sure, but likewise neither to generic relays. For me I jump into Nostr clients about once every six months to see if anything appeals to me hoping, and praying something will, and immediately get thrown right back into the same bitcoin, and dev speak content I don’t really care about, and then bail for another 6 months. Many won’t be as little committed as I am. Many will jump in, dislike the content, leave, and never return. There has to be an answer to that that can be implemented in a marketable way. Basically in a way that an 80 year old grandma can implement with little effort, and enjoy doing. Without that nostr social media clients are doomed to a small nice audience of bitcoiners, and developers. I’m extremely interested in nostr for my own reason, and perpetually let down by it at the same time, and I am the majority of potential users you lose with generic relays. 
 It's the same here, but it's only illegal once that text is displayed and distributed to users. You can open up notepad now and write a highly illegal essay, nobody will ever care. 

The moment you post that essay somewhere public, people will care. Text sitting inside of a relay database is not illegal in and of itself.

Relays can be compelled by governments to remove anything, but it doesn't make sense to go after relays. 
 I agree, I think clients should try to make sure that there are at least a few relays they all recommend to avoid network islands, and users should be encouraged to diversify. 

What you gain from your private relay is the guarantee that your followers can always see your posts irrespective of what their other relays do. I think this is healthy, as it takes away any power other relays may have to censor you. 
 You still can have it and wouldn't know if it's encrypted or a url to a third party. But I was refering more to spam, many relays are becoming very strick and start rate limiting very hard or rejecting events. Im experiencing this while developing an app. The whole ideia was to have dumb servers and smart clients, but relays are taking a lot of decisions and blocking events.  
 That will always be true regardless of strick policies, 2 events from one npub in one minute it's the same as 2 events from 2 npubs in one minute. Same space in same time. If this trend continues a user with a 4/5 relay list may have some events only accepted in 1 or 2, and people will have to connect to a lot more relays to try to get their events spread.  
 I agree, this sort of limitation is an over-correction and will only encourage even shittier behavior. I think people miss the fact that you can spam many Nostr "accounts" per second.

You are welcome to use my relay for your app btw, it does not suffer from such limits: wss://n.ok0.org 
 I'm unsure, I've had a quick look through nostr1's site but I can't find any information on what their event rate limits are, if any.

I would guess no since you're paying for it, but it may be worth asking them.