From your article: "Users can also contribute to the network by self-hosting their own relay, which distributes messages to other relays on the network."
But in actuality it's much better than that. Relays don't talk to each others, as they'd do in a federated network like Mastodon, for example. It's the clients which connect to one or tipicaly more relays and that way decide where to post their events (notes or else) and where to listen to.
You could think of relays as kind of databases where clients access to update (post events) or query (read events). Each relay keeps the history of events posted to it, but doesn't talk (send or receive events from) other relays. It's a truly decentralized system, where it's the user (through their clients) who has the control, not the servers (relays).
That's the reason why, as you say later in your article "My personal experience has been that nostr works better with more relays."
reply
"Users can also contribute to the network by self-hosting their own relay, which distributes messages to other relays on the network."
But in actuality it's much better than that.
Wouldn't it be honest to say it's actually wrong? Relays do not distribute messages to other relays. You can argue that it's better that they don't, but that doesn't make the statement less wrong. Reading such a misconception in the first paragraphs (which I think is a pretty important detail) loses my trust that the other info in that post is any better. I know that I initially thought that this is the case, but I quickly learned that this is indeed not the case. The protocol does not mandate any relay to relay communication. They only relay it to users who are subscribed.
Each relay keeps the history of events posted to it, but doesn't talk (send or receive events from) other relays. It's a truly decentralized system, where it's the user (through their clients) who has the control, not the servers (relays).
I think my initial euphoria about nostr is fading away. To be fully in control, you have to host your own relay. You can't trust relays that they won't delete your data in the future. So no, I wouldn't say this is a truly decentralized system where the user is in control. You are only in control if you host your own relay where you publish your posts (with all the shortcomings like maintenance, costs, technical knowledge etc.)
This makes nostr seem less exciting. For me, this is then just like a RSS feed with public key cryptography on top.
I think it would actually be better if relays are meant to relay information between each other. But the protocol does not enforce it and I don't see how it could. Then it would be more decentralized and it would be less awkward to use with subscribing to the same relays as the one I want to follow.
For true decentralization, I think everyone has to run their own relay and everyone has to subscribe to everyone else.
Sorry for shitting on nostr, but to me, it seems there is more hype than what the protocol actually offers.
But please correct me if I am wrong.
Does anyone have info how many relays the average user is connected to and which those are?
I worry that everyone just connects to the same top 10 relays.
reply
It'd be honest to say the statement was wrong, but I said the same thing trying not to be rude. I hope I managed to do so.
Of course relays can get information from other relays, by acting as clients of them and then copying their events (notes or else) into they own local database. Anybody can easily set up their own private relay that connects as a client to other relays and that way backup their own events in case every relay that keeps them decide to delete them, which seems a little improbable, but still possible, of course.
But I don't think everybody needs to run their own relay for full decentralization, nor for having full control of their own events, since they can post it to a plethora of relays and also keep a copy (should they want to) in a private relay (which doesn't need to be a burden, neither technically nor economically).
I might be wrong, as well, of course, but I am still very excited about the protocol. :-)
reply
It'd be honest to say the statement was wrong, but I said the same thing trying not to be rude. I hope I managed to do so.
I get that. But I don't think it's rude to call people out when they are wrong. I think we need honest communication. Of course I could have phrased it in a more friendly way but I had no intention to be rude, just wanted to voice how I feel when people get important details wrong; "spreading misinformation".
Of course relays can get information from other relays, by acting as clients of them and then copying their events (notes or else) into they own local database.
Yes they can, but do they?
Anybody can easily set up their own private relay that connects as a client to other relays and that way backup their own events in case every relay that keeps them decide to delete them, which seems a little improbable, but still possible, of course.
Exactly. That would be my case that you have to run your own relay / host your own content to be super sure.
But I don't think everybody needs to run their own relay for full decentralization, nor for having full control of their own events, since they can post it to a plethora of relays and also keep a copy (should they want to) in a private relay (which doesn't need to be a burden, neither technically nor economically).
Well, that's where we differ. I do think it can become a burden. Depending on how many people reply to your content, you'd have to host these replies, too.
I might be wrong, as well, of course, but I am still very excited about the protocol. :-)
Yeah, me too. I am just a bit confused that everyone is so excited now but I don't see much criticism.
Except when I read about the privacy concern of fetching images from random URLs for the profile pics.
reply
I get that. But I don't think it's rude to call people out when they are wrong. I think we need honest communication. Of course I could have phrased it in a more friendly way but I had no intention to be rude, just wanted to voice how I feel when people get important details wrong; "spreading misinformation".
Well, since he OP said he's just learning and writing what he's learning in his article, I think I read it and commented on it here as a reviewer, a peer who's also been learning for the last few days, and I didn't feel the need to help him correct the couple of mistakes I found in a friendly way. That's what I meant when I said I didn't see the need to be rude. Sorry if I then was rude to you by saying so, hahaha.
Yes they can, but do they?
Actually that's not relevant, I think. The important thing is that some could do it, if they chose to, and more importantly, that the users can do it, if they chose to. It's all about the user being in control, not the relay opperators.
Exactly. That would be my case that you have to run your own relay / host your own content to be super sure.
Your own private relay, which doesn't need to even be know by anybody else, keeping the overhead costs and working effort at a minimum.
Well, that's where we differ. I do think it can become a burden. Depending on how many people reply to your content, you'd have to host these replies, too.
According to what developers are discussing on the Telegram group, that'd be small, and storage space isn't that expensive and it'll become even cheaper in the future. I don't think that'll be a main concern as you'll have also the option to use compression (text does compress very well) and also pruning of less critical content, if need be.
reply
Sorry if I then was rude to you by saying so, hahaha.
Haha, no, all cool. Have some sats
According to what developers are discussing on the Telegram group, that'd be small, and storage space isn't that expensive and it'll become even cheaper in the future. I don't think that'll be a main concern as you'll have also the option to use compression (text does compress very well) and also pruning of less critical content, if need be.
Fair point. Storage is indeed cheap and text does indeed compress well. Didn't think of that.
reply
Haha, no, all cool. Have some sats
Why thank you! There was no need for that, haha.
Storage is indeed cheap and text does indeed compress well.
I believe all the event contents, at least of the "note" kind, are stored on a Postgress (probably you can chose to use a different one) database, which does a good job at compression.
I need to study it a little more, since I might be setting up my own private relay (not even a mirror or others) to do some testing on a little project which is going around my head. I don't usually avoid doing any coding, since I suck at it a little (hahaha), and I don't particularly enjoy it, it even kind of bores me somehow, but I am so excited about the potential of nostr that I might try to overcome all this and do some testing...
I'm actually collecting my thoughts to post here about it to get some feedback, and ideas, and possible some help as well... We'll see...
reply
I need to study it a little more, since I might be setting up my own private relay (not even a mirror or others) to do some testing on a little project which is going around my head.
Sounds awesome! I also got an idea from an interview to setup a private nostr just for personal notifications like cron jobs or alerts:
I'm actually collecting my thoughts to post here about it to get some feedback, and ideas, and possible some help as well... We'll see...
Would be cool to hear :)
I agree with you about two things, both pointing out someone is wrong not being rude, in fact I prefer if you do, so I can change what I wrote and add more accurate info. Changing your mind about things when new info comes to light is very important for learning.
Second, think you're right about hosting a relay in order to have full control, but I am coming from a mindset of selfhosting a bunch of stuff and one of those things being a single user pleroma server. Most people on the fediverse will be fine using a pleroma (or mastodon) server hosted by someone else and just changing instances if they don't like the rules, and that is fine, and I believe this applies to nostr also.
I host my own server because I like the freedom of having nobody to answer to, and to say extremely offensive or controversial things which would get me banned on other servers, if I feel like it. Basically for freedom and censorship resistance.
In my opinion, I want to eventually host my own relay, for the same reasons, for 100% freedom and censorship resistance, and because I believe in self hosting, etc.
I think one of the biggest learning curves for digital freedom in general is the need to self host, which is way out of a normal user's current habits and skill set. People need to be prepared to self host their own btcpay, website, search engine, social media, cloud, or whatever.
While there will always be people who are too lazy to pursue it and find themselves making tradeoffs, I think for humanity to utilize open source software, peer to peer networks, bitcoin or monero to set up alternative economic systems and circular economies, encrypted peer to peer communication and all these technologies we now have to become free, we need to be prepared to self host and shoulder this burden.
We have already seen what happens when you let others run things for you online, so we need to be prepared to all be willing to take responsibility for our own online presence. I know not everyone agrees, but enough people will learn to this because the alternatives are going to be social credit systems and cbdcs, surveillance, carbon limits on spending and other nasty anti freedom things.
Part of the bitcoin revolution is also selfhosting your online presence, and I think this is essential if we want it to succeed. it's a huge component to the censorship resistance aspect of bitcoin. It doesn't matter if your internet money is censorship resistant if you are banned from everything else online.
the cool thing is there are now a bunch of user friendly tools for self hosting so it is getting easier for people to do
reply
I also agree with you in most of that, being also a firm believer about self hosting, which I have done over the years for different servers: email, TFP, web, even building my own IRC network with a few peers on four continents and a couple of servers of my own in two different countries.
I will be hosting my own relay as well, probably more than one for different reasons, being backing up of my own events and other's events I might want to also make sure I'll keep around. Nevertheless, the decentralize and permission-less nature of the protocol, unlike Mastodon and other federated systems, makes it much less critical to do it, in my opinion.
I haven't set up my own Mastodon server because I've used it very little before I was made aware of nostr and understand they are so fundamentally different that I don't really care about Mastodon or any other federated systems to even think about making the effort to set one up. If not, I probably would have done it at some point.
I also agree with you about the money, but I don't think we need Monero for anything at all. MWEB will bring a far better level of privacy and its fair share of scalability to Bitcoin, after being proven successful in LTC, as much as it happened with SegWit and LN back it the day.
reply
Yeah, I think I underestimated how many people will run their own servers. And over time, if not enough people run their nodes, well, people will realize and that can change.
I think the beauty of nostr is its simplicity. So self-hosting does indeed not have to be a burden. Will definitely self-host and try it out. A public and a private relay most likely.
PS: I did read the rest of your post anyway and I didn't notice anything else wrong :) Keep producing content! Education is very important and it's okay to get stuff wrong.
reply
Another cool thing about nostr, also, is that it can be very dynamic. Since people usually are using a bunch (or even many) different relays, some of them might be running intermittently without any real impact. You can even run your own relay on your laptop, tablet, or phone, only when you or your family/friends are connecting to it to use it, and have it off the rest of the time.
Regarding your PS: I'm not the author of the article, nor the OP of this post. I just chimed in to point out a couple of mistakes in the article, to help the OP improve it. I didn't find anything else wrong, either.
reply
Yeah, I replied to the OP. It's marked
You got a notification because it's a thread you also participated in
I could be wrong, I am still learning about it. Most of the info in my post has come from other people posting stuff on nostr. I am not a dev or anything, so my technical knowledge is not the best
reply
That is what I understood, and so I read your writing, rather than anything else, with the intention to help you polish it a little wherever I could, not being a developer or even very experienced myself, either, but as a fellow learner. :-)
reply
"Does anyone have info how many relays the average user is connected to and which those are? I worry that everyone just connects to the same top 10 relays."
The OP says on the article he's connecting to 67 at the moment, since he has the feeling that the more relays he connects to, the better it works. And you can have a pick to not only how many, but also which ones anybody's using. I've added only 18, for the moment, because I've been a little selective about which ones to chose. Not sure if that's of any relevance at all, but I haven't felt the need to add them any faster, and I know I'll keep adding new ones as I learn about them and like them for some reason.
I strongly doubt than everybody would just connect to the same top 10 relays, since most people will have the same feeling and will probably end up connecting to probably hundreds of them, although posting to only a fraction (maybe a few dozens) of them?
Still very excited, by the way. :-)
reply
Yeah, I'll guess I just have to add more relays to my list.
Can't I just post to all of them?
because I've been a little selective about which ones to chose.
How did you decide which ones (not) to pick?
reply
Can't I just post to all of them?
You can post to all of them you want, as long as they allow posting. As I've seen, some of them are "read only", which I assume they are mirroring other relays, although that might not be the case. I need to learn more about that matter.
How did you decide which ones (not) to pick?
I've basically added the ones I've seen that are run, used, or recommended by developers or people with a good knowledge of the whole thing. As I said, I don't know if that is even important at all, probably not, but I'm not posting such important information at the moment (I don't know if I'll ever do, haha), and we are just at the infancy of the protocol.
reply
"You can also self host your own NIP-05 Identifier, but I am not really knowledgeable on that, although I think this option is for those who self host their own nostr relay, which I haven’t done yet."
I don't think you need to be running your own relay to host your own NIP-5, just to host a file (I believe in json format) in your domain server and then register it with one of the NIP-5 "providers".
reply
Perhaps this post someone just posted might help clarifying the NIP-5 point.
reply
Why do people keep bragging about their noses?
And it's spelled nostril.
Good content though.
reply