We've had a lot of talk about relays over the past day here on Nostr. This may be a bit confusing if you're new to Nostr.

What's going on with this discussion and why are many people making comments, jokes, or memes about relays?

The argument boils down to centralization and decentralization. On Nostr, we decentralize our infrastructure by using a potential wide variety of servers. Many of us are reading this note right now that's been retrieved from a variety of servers or as we call them, relays. Some relays are more popular than others. This leads to the questions surrounding decentralization. If many users are only using a top subset of relays, then we're not as decentralized as we could be or maybe even as decentralized as we should be.

I have various opinions on this subject. Even if Nostriches mostly only use ten relays, we're still magnitudes better than any existing social platform where only one entity runs the server infrastructure. We can do better though and we should do better. We have the tools to and the capabilities to make Nostr even more decentralized.

Now, this gets us into the next discussion. Which method of decentralization is best? For that, again, in my opinion, I'm a fan of the Gossip model. Simple put, Gossip makes relay selection not overly matter all that much. You can use any relay that you'd like and your follower's clients essentially fetch the notes and events from the relays that are being used without the need to be utilizing the same relay for communication to flow.

What should you do? Nothing, IMO. Relay selection and discovery aren't that great on most clients. I'd say keep using the same relays that you're using for now. Maybe, at some point, you'll update your relays to use smaller, community relays. For now, this is a developer problem to solve. You just keep creating notes and sending zaps. It will all work out in the end. Our developers LOVE to have problems to solve. Pura vida!


Community focused relays sounds like a fantastic idea. Host deeper conversations on specialized topics. Retain the ability to write to larger relays if you desire.


Thanks for this 👍🏼


Amazing and thank you so much


PV 🫂


Onward 🫡


Or setup your own relay.

If you're an existing node runner, then your OS of choice  nostr:npub1aghreq2dpz3h3799hrawev5gf5zc2kt4ch9ykhp9utt0jd3gdu2qtlmhct or  nostr:npub126ntw5mnermmj0znhjhgdk8lh2af72sm8qfzq48umdlnhaj9kuns3le9ll for example, have private relays already available.

Or for around $5 a month you can setup a relay on the clear net, this is a good example of how to do this:
https://usenostr.org/relay

nostr:note1km3u4e9zawh6ym64jawky907pur3xd4902qf9qze020yr5mmkesq2szk64


This is the correct answer. Relay selection isn't table stakes for new users. Use what your client recommends.

Eventually you may want better privacy or an archive of your notes, at which pount hand-selecting specific relays or self-hosting becomes relevant.

The key piece of advice for newcomers is: try to stay at 3-5 relay selections. More is not better!


You're welcome 🫂


Absolutely. You're welcome 🫂💜🤙🏻


This is the way. We just need a bit more time to mature, but there's zero harm in starting this method now.


PV brother 🤙🏻🫂


Agree. I use a few specific types of relays. I think this will be the norm going forward.


Great post, I've stuck with my less performant and slightly hoardery 20+ relays 😁 in case something gets nuked but agree this is more on the developer side and that nostr is a step up from current models

nostr:nevent1qqstdc72uj3whtazda2ewhtzzhlq7pcnx6jh4qyjspvh48jp6damvcqppemhxue69uhkummn9ekx7mp0qgsr7acdvhf6we9fch94qwhpy0nza36e3tgrtkpku25ppuu80f69kfqrqsqqqqqpcnvv8y


Derek, can you post about how nodes are set up and what is involved? I agree with everything that you wrote, however I'm interested in encouraging people to set up nodes for specific purposes. Like, a business could set up a node and use it for customer service, a group could set up a node and use it for internal communications, a school could set up a node and use it specifically for their students to keep track of this that or the other thing.  I found a list of nodes and it identifies the location, but does geographical location really matter in a digital context?  Could someone launch a computer system into orbit where a node could "reside", maybe helping to relay communications to "Houston" and back.

Decentralization is here, but the development and evolution of the network is going to be amazing to watch.


Super helpful for getting a better understanding, especially Gossip. Thank you! 🙌🏼🧡💜


Isn’t there going to be a nostrplebs relay at some point?


You're welcome. Right now only a couple clients support it, such as Lume, Snort, Iris and Gossip.

Hey nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn I forget, does Coracle have support?


We've had one for a year+. relay.nostrplebs.com


geolocation matters for ping and response time. also, some relays are locked down by geo-IP address. for example, many Japanese relays only allow Japanese IP addresses to connect.

as for running a relay, we have many, many guides. this is an old guide that i used back in december 2022. it's still relevant. https://andreneves.xyz/p/set-up-a-nostr-relay-server-in-under

you can also run a relay on your Umbrel server if you prefer the point and click methods https://www.youtube.com/watch?v=KahRH_u2UMA

nostr:npub1utx00neqgqln72j22kej3ux7803c2k986henvvha4thuwfkper4s7r50e8 also made a live stream video on how to install a strfry relay. https://flare.pub/w/naddr1qqrhwmmn2dfhwdgzyr3vea70ypqr70e2ff2mx28smca78p2c5l2lxd3jlk4wl3exc8ywkqcyqqqgtwckzlsr3


Thanks for the explaination. Wouldn't it be possible to have a sort of authomatic relay rotation built into the code? Let's say an X number is authomatically assigned and then people can eventually add to those. Don't know if it can even work but that's my two cents. :-)


That could be done once gossip is in place, but this may not be the best approach for all clients. I foresee a future where we have many different kinds or types of relays used for various things. We have this kind of support now, but I see it expanding. For example, we have search relays, new user filtering relays, 140 char maximum relays, phone book style contact relays, archive relays, RSS feed relays, etc. Specialized relays and community sized relays will be where we're headed.


Thanks. Only saw coming soon on the website with no address or link.


Oh I'll fix that. Thanks.


I am here in my little corner trying to learn. I apologize in advance if stew-pid questions come your way... 😉


Looking forward to this being as easy to set up as IPFS Desktop. 😉  Someday.


One click install would be nice.


I hope someone's working on it on Github.


Support for the gossip/outbox model? Yes, I believe I was the second client (after Gossip) to implement it. I recently re-wrote relay selection and added it to my paravel library, so other clients can use it if they want: https://github.com/coracle-social/paravel/blob/master/src/util/Router.ts


Wow, the complexity and beauty of all this is astonishing!  😍  I really love to see the future unfolding, though I often don't understand the technicalities.


thank you, sir. i knew i could count on you.


Appreciate your summaries man


We've had a lot of talk about relays over the past day here on Nostr. This may be a bit confusing if you're new to Nostr.

What's going on with this discussion and why are many people making comments, jokes, or memes about relays?

The argument boils down to centralization and decentralization. On Nostr, we decentralize our infrastructure by using a potential wide variety of servers. Many of us are reading this note right now that's been retrieved from a variety of servers or as we call them, relays. Some relays are more popular than others. This leads to the questions surrounding decentralization. If many users are only using a top subset of relays, then we're not as decentralized as we could be or maybe even as decentralized as we should be.

I have various opinions on this subject. Even if Nostriches mostly only use ten relays, we're still magnitudes better than any existing social platform where only one entity runs the server infrastructure. We can do better though and we should do better. We have the tools to and the capabilities to make Nostr even more decentralized.

Now, this gets us into the next discussion. Which method of decentralization is best? For that, again, in my opinion, I'm a fan of the Gossip model. Simple put, Gossip makes relay selection not overly matter all that much. You can use any relay that you'd like and your follower's clients essentially fetch the notes and events from the relays that are being used without the need to be utilizing the same relay for communication to flow.

What should you do? Nothing, IMO. Relay selection and discovery aren't that great on most clients. I'd say keep using the same relays that you're using for now. Maybe, at some point, you'll update your relays to use smaller, community relays. For now, this is a developer problem to solve. You just keep creating notes and sending zaps. It will all work out in the end. Our developers LOVE to have problems to solve. Pura vida!


True to your word with three relays 👍
Does that work with any three or do these have special powers? Aggregating from other relays etc?


Pyramid only allows cool people to write to it (this supports global, and stores my notes)
hodlbod.nostr1.com is my personal relay (hosted on relay.tools, basically redundant with pyramid, but I control it, sort of)
purplepag.es is an index of pubkeys to profiles and relay selections (allows me to find notes by any pubkey that has published a relay selection)

It's really quite elegant


Thank you for the explanation 👍


what if every user was also their own relay?


one day it will be trivial to start and run your own relay. then we'll be properly decentralized.


With the gossip model it would probably work, though not overly efficient.


It's already not too hard if you have an umbrel or start9, or if you don't mind the compromises involved with something like relay.tools


Umbrel or Start9 make it super easy to setup, but people still need to use some sort of VPN or Tailacale to access their relay when outside of their home network. I have never used relay.tools, but I did use play around with relayable a bit when it first launched. It's definitely a nice solution for the average person to use.


I recently spun up a strfry instance for my tribe and appreciate the recent discourse about our roles in the Nostr ecosystem. Socializing with Nostr represents a fundamental shift in how we've been doing it over the Internet for the last couple decades. It is not about going viral or everyone seeing your content all the time. That's the centralized, corporate platform way of doing things. I see the fact that some clients start you off with a list of popular relays as a way for new folk to see that there is activity in here. What's dope about Nostr is that you can choose what relays to subscribe too.

Communities coalesce around information and experiences that are "relayed" to its members. Relays are "central" to the experience because they hold the notes communities are coalescing around. The fact that there are currently a few popular relays doesn't make Nostr "centralized" in a corporate platform type of way. It just means we need more community builders to run relays.

My onboarding strategy is to start small then grow outward. I usually tell my friends to delete all the relays the clients start you off with and only add mine so they are not put off by all the libertarians and bitcoiners (I have a lot of liberal anti-bitcoin friends 😆). I'll then suggest individuals for them to follow with content that I think they will like so they can build their feeds up.

There's a bit of hand holding and complaining about the technicality of the relays and long npubs at first. I try to send npubs and relays as separate messages so folk can easily copy/paste into their client. What keeps them coming back to drop a like on my notes is the fact that I'm here and they want to be in community with me. We won't build a robust ecosystem without a solid foundation of small, close knit communities built around relays that are tailored to the folk they are relaying information to.

I'm excited to contribute to the evolution of relay software with my experience and want to hear more about those of folk running smaller relays for their tribes.

nostr:nevent1qqstdc72uj3whtazda2ewhtzzhlq7pcnx6jh4qyjspvh48jp6damvcqpz3mhxue69uhhyetvv9ujuerpd46hxtnfdupzq0mhp4ja8fmy48zuk5p6uy37vtk8tx9dqdwcxm32sy8nsaa8gkeyqvzqqqqqqyeznkmu


Thank you for that contribution Dereck, I can contribute indicating that some of us can set up our small private relays and keep our own notes, hence I think it is important to encourage and educate in a more playful and practical way how to set up a public reley so that others are encouraged. I tried but I have had some technical limitations, however I continue to insist and I hope to achieve it. I understand the cost of maintaining that infrastructure and I hope that there is some way of self-sustaining for the benefit of all. Perhaps later the idea would be for our own devices to be a relay by itself of our notes since the computing and storage capabilities are now better. Force #Nostr ✊🏼


Onward 🫡


Thank you, for the update and the great work ya'll are doing. pv
🙏🏻🫂⚡
nostr:nevent1qqstdc72uj3whtazda2ewhtzzhlq7pcnx6jh4qyjspvh48jp6damvcqprpmhxue69uhhyetvv9ujuumwdae8gtnnda3kjctvqgsr7acdvhf6we9fch94qwhpy0nza36e3tgrtkpku25ppuu80f69kfqrqsqqqqqplmy5gg


efficient for who?


People with mobile devices.


I'm not saying their client/edge device should be a relay. but a cloud machine that they own. like https://vaporware.network


one thing Nostr can't have without reinventing merkle trees with events (which be awfully inefficient): verifying that migration was pr wasn't complete.