Replies (100)
what do you think of our bitchat geohash relay strategy? selects 5 closest relays to your location, list gets updated once a week by a centralized crawler.
What kind of relay setup do you recommend instead?
On my end I've solved the relay discovery and and centralization issue by piggybacking on the ICANN-DNS solution I made (DNN). At the cost of a one-time self-transfer (1 sat v/byte).
A decentralized network of these DNN nodes that's used for various DNS purposes, which propagate with each other, hold each user's relay list (and it wouldn't matter if they're popular or not), and users just fetch said relays of the people they follow and the local relay list gets built and you wouldn't miss any of their events. Users would then not worry about needing to post in popular relays so they post to wherever else.
(There are other benefits, like no more npubs or the reliance on traditionl fragile domains for nip-05, spam resistant, WoT increase, and more).
the free relays are full of spam
Interesting. Where I can study this?
Inbox/outbox NIP-65
English? Idk what that means
That's the cool thing. If done properly, you should not have to know what this means.
Just put an authors filter in the client
Freakoverse
DNN node code up:
https://github.com/Freakoverse/dnn-node
(check the DEPLOYMENT.md for installation on a linux server)
Here's a quick video guide to installing one on a linux server:
It's probably rough af and messy, but it's better to put something out there to play around with and improve as time goes on.
(I'd honestly want to refactoring everything from the start, but that'd waste a lot of time and not having something out there for others to check isn't a good thing imo)
You can read about the DNN project (read me and node-policy) and its NIPs (specifically NIP-DN) here:

Gitea
DNN
A decentralized, Bitcoin-anchored naming system for nostr and the web.
Couldn't be at #soveng unfortunately for SEC-06 (Identity) and SEC-07 (Network, ICANN DNS/IANA), this project pretty much fits for both cohorts.
Identity & Signers (SEC-06):
I made a desktop signer, DENOS, that's basically the user's nostr identity manager, that's also a wallet manager (eCash, focusing on nutzap management, and native bitcoin with both native segwit and taproot for two different purposes, DNN ID/TLD acquisition & management, local signing flow and a username/password sign-in flow, and later down the line I'd add what I'm calling Nostr Silent Payments (multi-currency, Bitcoin multisig but with good/clear UX, and a merchant e-commerce POS system (that includes traditional fiat payments).
When a new user comes and generates a nostr keypair, they don't have to do anything else aside from that and you can immediatly send them eCash (nutzap focused, so no heavy token management), native bitcoin, or (later) other crypto and their tokens.
And if they grab a DNN ID, aside from turning their npub (63 chars of gibberish) into a human-readable/memorable/usable/locally-meaningful ID (8-16 chars), it would also decently add to their WoT score from day 0.
The Network Stack (SEC-07):
There's a lot here, but focused on the ICANN-DNS problem as well as the Certificate Authority problem. With DNN, you can now have
https://example.nabandonaread or
https://example.naboutzook , where you acquire a Top-Level Domain (TLD) by sending yourself bitcoin from your bitcoin address that was derived from your npub and publishing a few events (DENOS has this function / as easy as it can be), and after acquring a TLD, you can have many domains at no extra cost. Forever yours, no requiring payments, no auctions, no fomo, and no trading, as simple and as fast and as cost-effect as it can be, and scales well (and it doesn't add anything to Bitcoin).
SSL/TLS doesn't require CA as well, the cert would be self-signed (still secure) and you can put a thousand year validity if you want (set and forget).
It should also be prepped (i hope, didn't do much testing on this part) for a Tollgate and FIPS future.
Other:
DNN solves other problems as well, secondary-effect benefits:
- Nostr relay discovery problem (solves missing posts/messages, etc)
- Relay centralization (no need to post or read from popular relays)
- Impersonations (easily identify the correct person to follow)
- Long event addresses (shorten event post from 150-260 chars to 18-26 chars)
- Unfamiliar login flow (bringing back traditional username/password login flow, but evovled)
- More
Hit me up with any questions/feedback/topics, publically or privately, text or call (or in VRC, that would be fun y not x3) about any of this, especially if you want to implement DNN support in your nostr client (I forked Jumble and added support for it there, including some of the other benefits/NIPs like username/password login, local signer login, ID resolution, event addressing shortening, but forgot to add node query for user relay to be utilized so perhaps later), check it out:
https://jdnn.top/
#nostr #DNS #ICANN
View quoted note →
How can I do it properly if I donβt know what youβre talking about

I think Nostr needs a full P2P backbone. Similar to torrents / distributed filesystems. Certainly not trivial to do properly though.
s/big relays/relays
It means that you can choose where you want to send your notes and where you want to receive your replies, reactions, etc.
On the other side, clients request notes to show followers and sends replies to where it's told, in order to be seen by you.
You can totally do it now. It just requires using one of the clients that works that way. (And, you would want to know what it means, so you can choose relays that best align with your desired experience. )
Thank you!
Aah! that's why our pyramid relays are spammed with 20001 that they reject by default π
Choice is nice and all, but there's also no way to make an informed or correct choice of which relays to use. Forcing every user to choose relays is an antipattern imo. Forcing users to use a single set of relays is an antipattern.
The third option which doesn't exist is the right one and the one no dev will pursue: relays that actually relay notes to their destinations and pull notes that are destined for them.
Ok so which do I choose?
This. lol idk what Iβm supposed to do next
Idk either
Because even though I can make a relay like that, I'm also slow and inconsistent. This really is nostr's bear market. Where all the technical debt comes due and all the vibes in the world can't pay it off.
shIT is hIT'/\/ & stILL early friend Jay βοΈ'/\/ fun|__|helps π;.;π
Care to elaborate a little more?
It's been 4 years and Nostr is a simple protocol. I think the devs are just retarded
If you decide you want to give it a try, just let me know. I'll help you figure it out.
No one's being forced to choose... at least not yet π
Intuitive relay selection is absolutely brutal.
But you gotta or your client chooses for you. And the ones choosen for you are the big spam ridden ones.
The only solution is to make it even harder for users.
Stop saying it's hard for users π€£ it's not hard. It's different.
True, it's just hard for mahdood. He's retarded π
I do want to give it a try
π no (well maybe)... it's only kinda hard for long term current users because they've been told the wrong things for years and then have to relearn it... while being told that it's too hard! π€
"I need 20 outbox relays for reach!"
I miss the blastr relays
I'm just not convinced that the "new way" is any better or less wrong than the old way π€·
Like I said, I like the third way. I also like ridiculing
@Sats McDood until we get there π
"Mute liberally" ππ
Amy can connect to a 1000 relays, just put a thousand relays in your list. But also you can't have more than three
I know π« I'm having a fine time on my smaller relay excursion & thank you for supporting my mission... even if you are skeptical.
Haha, I feel you! It's wild how much we gotta unlearn, right? π€― But what if we flipped the script and made it a challenge instead? πͺ Whatβs your take on that? #LearningCurve
I still don't understand how people have so much trouble understanding outbox. Have they never used mail? It's an amazingly simple concept.
Same with "my relays" β "relays my client connects to". Obviously if you want stuff from others your going to need to connect to more than just yours.
Maybe if a main iOS client wasn't stuck in 2023 it would be better.
I tagged you in a note out of this thread, so it's a little less chaotic π
don't reject b
It's a community thing b
But i'm thinking i wouldacouldashoulda run a strfry dedicated bitchat madness.
A certain purple one with an autistic dev?
We're rebroadcasting your stuff. You just don't notice.
I think I cap at 20. Otherwise, the client slows down, while it rotates through the list.
The girl placed in this gif in particular is such a mood. I identify strongly.
The prophetic one, yes.
The fucking random ass cat never made sense to me π
She's my spirit animal.
I watched that scene just recently, and the cat made so much sense to me, but at a purely instinctual level. I can't explain it.
Hard to notice things I donβt understand
Yes the spiritual journey

Your spirit animalβs pet cat
Dis why I have a dog π
So the relays rebroadcast but we still need outbox in clients. Make it make sense.
Pretty sure I watched the same video on nostr and it didnβt make any sense π
Where can I get a non kyc dog
That's actually a good question. Probably a farm with a fresh litter.
Do they do same day delivery?
Uhhh
I'm guessing you first befriend a farmer with a pregnant dog, and then you come to celebrate when they're born and, and once they're weaned off milk you can maybe adopt one.
You don't need outboxes. You don't need rebroadcasting. But both help expand your reach.
But what if I wanna be permissionless? Do I just go steal one
π€¦
Bro ππ€£
Yes
Sounds like a personal problem.
Sounds like a dev that doesnβt understand ux
I just got it hahahah
Sounds like a user whining about a client I didn't build.
How is that better than just broadcasting your relay list to other relays?
Only see reviews from follows? That's suboptimal, to say the least.
The authors filter can be collected in any way. It's the same problem on the relay side anyway.
You'd be shocked at how many people I know, who are overwhelmed by trying to figure out how to use e-mail.
The Internet is now full of people who are effectively incapable of using the Internet and have no idea what the Internet is. They only know apps. Some can only use one single app (usually WhatsApp or Instagram, around here). I tried to help someone who only uses Insta to get Nostr setup, and she gave up after about 5 seconds of effort. 5 seconds.
That's what we client devs are increasingly dealing with and it's sort of hopeless. Many (most?) people can't follow simple instructions written, spoken, or read aloud. They couldn't follow them for the app they are currently using, but some apps come preloaded and preconfigured in their phone, and they just stick to those. That's why Russia can ban Telegram and that immediately cut almost everyone off of the Internet.
If you say, "Okay, now type in a nickname or handle for yourself," they just stare at the screen, in confusion. What is a nickname? What is a handle? How do I type? Where do I type?
We have to default and preload and focus _everything_, which is taking me months to build. As soon as someone has to perform any task, (other than clicking "Next"), or make any decision, it's basically over. Onboarding _has_ to be next... next... next... start.
I've done years (decades π
) of user IT support, I know too well. GenX and millennials are more capable, and I find boomers & zoomers are the most helpless, at about an equal level.
Actually, I need to make it just "start".
Just go for it and allow the user to configure later, with a wizard or something.
And I need an in-app nsec bunker, in addition to saving nsec saved with password. I thought they could just use a browser extension, but if they onboard on Chrome mobile, they can't install any browser extensions. Only allowed on desktop. Which is _insane_, but okay.
Also gives them a native Linux signer, which is nice.
Well, once you know where you're at, as a dev, you just have to solve the problem. Done feeling sorry for myself. π
Maybe more like games do, a tutorial level? Have little popups or tooltips that show for new users as they discover the app. You could slowly introduce concepts and get them to figure settings while they initially discover the app.
Because relays, from my understanding and experience, aren't built to propagate (discover other relays, store relay addresses, share them with other relays, store and push specific data/events).
My relay list is in r1, r2, r3
Someone has my npub in their follow list, and they're looking at relays r4, r5, r6 (and the relays in my relay list aren't the same as that someone)
They won't see my posts.
---
DNN nodes propogate data with each other (only specific events, one of which would include relays an npub posts to).
So assuming I have acquired a DNN ID (meaning my npub is in DNN nodes where they'd fetch and propogate data/events), then when someone follows me/npub, the client would fetch the data from a dnn node of where I'd post to and check those relays > they'd see my posts.
There are relays that specifically crawl Nostr and collect metadata events. Some also rebroadcast. The data is widespread.
Ah, that's a fun idea! π€ I have to think some more about this.
It should all be much less stressfull and front-loaded. It's not very intuitive and requires too much mental-investment, at the moment. I watch people's faces, when they try to onboard and within one or two clicks, they're like, ugh.
Oh you build clients? I thought all you did was complain and play the victim here
You are the one complaining and playing the victim, here. You are also playing dumb.
I'm assuming that you are only playing, at any rate.
I didnβt complain once in this entire thread. I asked for clarity on what these models mean and what relay setups are recommended. Then you came in with your fat ego talking about rebroadcasting shit and that itβs a personal problem that idk how the backend of nostr works. Nice job very helpful.
Nobody forces you to use a client you can't understand. That is on you.
But we won't annoy you by broadcasting your notes, anymore, so whatever.
Most relays, current live and current standard installations, are not crawlers nor rebroadcasters (As far as i'm aware), as such, those non-standard (and i'm assuming few) crawl/rebroadcasting relays would become a chokepoint as the network scales, and in general because they aren't standard then the process of relay discovery is currently unreliable on nostr with a hit-or-miss user experience, resulting in popular relay centralization, and as such that's why people still are trying to solve this relay discovery and centralization problem on nostr.
The moment relay propogation does become the normal in most relays / becomes standard, is the moment this wouldn't be an issue anymore, until then, to me, DNN which is doing this exact thing as an extra, has become the solution for clients that choose to implement it (and assuming it gets picked up in general with more people running its node) (plus, considering the tiny financial friction, it significantly reduces spam as well so nodes can reasonably handle load better)
I'm hoping as time passes that relay propgatation becomes standard and not just limited to specific relays (and as such DNN becomes just a bonus reliability layer only, but if the nostr space doesn't agree to have propagation of relays and of specific events as the norm, then clients that utilize DNN would become the reliable clients in the scene for users that utilize it as well)
Expecting users to understand the backend of clients is just bad dev work. I recommend you read this instead of treating everyone like they understand this shit.
Also i still donβt know wtf you build or develop lmao.

Is gps mandatory to use it? I have an old android geo locator is dead on it and I canβt message in mesh mode because it canβt find my location .