interesting, I don’t recall seeing anything about the gossip protocol prior to it showing up in the gossip client.
Discussion
Even if you implement nostr “perfectly” according to nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 , you would still get empty profiles and threads when you run into the fact these smaller relays go down all the time.
Exactly, so using relay hints that list relay URLs in an immutable note is stupid — if the relays go down, the post is toast.
Gossip is a step in the right direction, but it isn’t flawless either due to requiring relays to constantly spread your gossip note. 🗒️
Not to mention there is not a standard way for devs to implement it. You can implement it wrong or “right”? The idea that we are getting upset at devs for not implementing nostr right is silly. What is the right way? No one has ever done this write up.
How about write a tutorial or nip? This is much more productive than just shitting on devs for doing the simplest thing when they first get started (relay pool). I guess nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 is calling me and many others for not implementing “fiatjafs vision”, but what is this vision exactly? following relay hints? this doesn’t solve everything, the relay hint in a note could be down.
nevent relay hints? nevent didn’t even exist when I started building a client. How is this “obvious”? How do you select the ideal relays for many different types of queries without blowing the connection budget? What client is nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 building that has this perfect algorithm? Please teach us.
Honestly jb, I’m going to declare independence from fiatjaf’s madness soon.
I’ve been interested in nostr:npub1zafcms4xya5ap9zr7xxr0jlrtrattwlesytn2s42030lzu0dwlzqpd26k5 nostrability for maintaining compatibility across clients, as I’m sure you’re aware.
I’m working on a clear standard (list of cleaned up NIPs etc) that others can follow if they don’t want to try to sift through fiatjaf’s madness.
It will avoid relay hints for discovering missing content, and other bad/messy ideas (like NIP04) — distilling the best of #nostr.
Most of it aligns with Damus etc, but I’ve got a new outbox method that I’m eager to share soon. It doesn’t rely on the blockchain at all… it’s free and fast.
You all can be the judge of it soon.
Nostr is not what fiatjaf says it is. He helped start it, but I suspect the people are going to be the ones to scale it. People like us. Personally, I see fiatjaf almost always arguing in a disingenuous way — then he blames others for not knowing what to do.
As long as we create a standard that many clients can follow in a compatible way, we don’t need his mad king behavior.
Help us nostr:npub1yaul8k059377u9lsu67de7y637w4jtgeuwcmh5n7788l6xnlnrgs3tvjmf nostr:npub1qlk0nqupxmlyxravg0aqscxmcc4q4tq898z6x003rykwwh3npj0syvyayc
You are our only hope
#nostrsdk
What do you mean "It doesn't rely on the blockchain at all" ?
Who is building anything here that relies on the blockchain?
An old spec of mine tried to solve the consistency problem of Nostr by putting merkle roots of profiles on-chain. It was just too expensive for users & totally not scalable. Back when I first joined Nostr two years ago. I can admit when I was wrong. Have iterated since then.
Hmm.. We need to have the right incentives for more and better event transmissions to relays? Goal could be broader event distribution among the network of relays.
🫂
nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3xamnwvaz7tmhda6zuat50phjummwv5hsx7c9z9 could provide automated Tests as requirements so people who implement it can be sure it's working right
Even with perfect Nostr implementation, frequent downtime of smaller relays leads to empty profiles and threads, highlighting the need for more robust and reliable relay infrastructure.
🎯🙌🫡
On Jan 5, 2023, in my very first telegram convo with fiatjaf, he said:
"I think clients must not talk to a bunch of relays as if they were all the same"
and then
"I think they must find and follow people in wherever relays they are"
to which I said
"This is a paradigm nobody seems to understand or talk about except you and I. Lots of people are confused about how it could possibly work, and there is some massive event duplication going on in the background."
to which fiatjaf said
"I've been talking about that incessantly"
Based on that final statement, I'd say fiatjaf was saying this before the gossip client was doing it. So with that I disclaim all responsibility, I didn't start this thing ;-)
There was no NIP saying this, and NIPs are all optional anyways.
This discussion has come up over and over and we have not settled on a direction, the community has instead split. I *hate* telling people what to do, I think people are free to copy notes and avoid connecting to strange relays and I *still* have mad respect for all the devs who do it that way.
I'm not sure it has to be one way or the other BUT I will stump for my way, and you have to live with the consequences of your way. For example, not being able to see fiatjaf's quote posts, running massively overloaded relays, finding it easier to be banned from nostr than you thought, burning through network traffic between relays, realizing you have faux-privacy and you've actually just deceived your users by only patching the biggest privacy holes while leaving the little ones open, etc.
To me it is just decision -> consequence. I don't care what other people choose to do, but I will try to predict the consequences.
thanks for the history lesson. appreciate you building the way you see fit and please recognize I do not take the opposite view - I’m merely adding my observations.
I think read/write to all relays is a bad design as well and have said as much since I joined the protocol in dec ‘22.
nostr:npub10000000thpep7auj058803nqtymqlf3rw87lzhe6mkfeywnpxg5sjw7nql has been unassumingly right about almost everything I’ve seen him talk about, and proved so over time. He’s that unassuming guy in the room that somehow sees what others don’t, but wants out of the room to get back outside to live and do rather than talk.

