People who do not support, do not care about or never heard about the "gossip model" -- which is basically the idea that clients should (mostly) automatically find people in wherever relays they are and fetch their notes from these relays -- here is a question for you:

What would happen if everybody is following Alex Jones on the 10 biggest relays, but they all collude to ban Alex Jones? Then Alex Jones starts publishing on a relatively tiny relay hosted in Colombiat. How can Nostr fulfill its censorship-resistant promises in this situation? Would all of his millions of Nostr followers have to manually open their settings and add his new relay address?

Reply to this note

Please Login to reply.

Discussion

Yes

Couldn't have said it better!

But it is impossible to run a FULL NODE of nostr for pleb, too heavy

$40/year

The same way clients offer an easy way to create and share invoices, we could have a post type to connect to a new relay with one single click. Maybe even issue an invoice directly on the app to pay entrance of the relay is paid.

Clients have automatically displayed and allowed 1-click join for relays since early days...

I was thinking something that could go on the feed and be shared easily

dht so client can automatically find the new relay

Does coracle did it?

Bitcoin does it

Sorry fiatjaf I don't understand the model: doesn't the client need some information from a known relay, to get information about where to look for a particular user on a different (currently unknown) relay?

In that case, if the top 10 collude to ban Alex Jones, wouldn't they just ban every message related to him, including the ones telling people where to look for new content on the relay in Colombia?

Tell me how people are going to get information about Alex Jones's new relay so they can manually go to a hidden menu and type a URL there in your model.

I don't know, that's why I am asking how the gossip model solves it.

gossip means you can find things via other means, if the relays all had a dht with alexs new relay address you could just ask any relay

If the relays banned Alex wouldn't they ban the redirect to his new relay?

you can query the dht from another relay

So you would try random relays until you find it? The hypothetical is that you're only explicitly connected to the top 10 relays and they all ban someone.

point is you likely could try a few other random relays and they would have the info to find alexs new relay, you are less likely to try randoms and find alex again without it, a dht helps with scaling too its not just for this

another solution is you store your relays on a file at your domain for nip5, relays could delete your kind0 linking to the domain tho

kind1: “Follow Alex’s relay: wss://relay.infowars.com”, a widget appears that they can click to join.

what’s the problem?

Sir, can you remove the feature where the universe chat returns to the top each time I leave and re-enter it. It’s very annoying 😄

Universe channel*

I think clients should have a gossip model (I call this autopilot) and a manual mode. I prefer manual mode but autopilot would be better for most people.

well actually autopilot in damus is mostly about selecting relay sets automatically based on your friends and performance of said relays, which is slightly different than gossip model but heads in that direction.

over time you’d accumulate a lot of followed relays?

Yes in a world where everyone is running their own relay then the gossip model makes more sense.

Hey Bill, where’s the best place to learn about this system and relays? Need to read. 😉 thx

hmm now that I think about it it wouldn’t be hard to incrementally move to the gossip model in damus. I could calculate a subset of the fastest relays to query based on a thread event author and the relays they have configured. I would still be concerned about missing events but maybe it would be fine.

Might be better for people with huge relay lists? I still feel like this is a premature optimization though. Relay pools are dumb but simple. I would have to see if the gains are worth it for the complexity.

imo, all this complexity doesn’t belong in the client codebase; apps should focus on UX, not implementing event-fetching algorithms; this belongs in libraries that abstract away *how* a note should be fetched.

Ideally the library would just have a "fetchEvent(id)" that gets whatever you want from wherever it is.

We are, after all, all reimplementing the same logic over and over on each client; I’m writing NDK to use the gossip model and abstract this logic away from client developers

(Kinda like what fiatjaf was doing with easy-nostr)

You're focusing on the relay selection piece that #[0] has shown on that video as the "gossip model", but I think that's an implementation detail and an optimization. Much more important is the ability to know -- somehow -- that Alex Jones publishes on alexjonesrelay.com, connect to that and ask that for Alex Jones's notes only.

If the major relays all banned him, and those are the ones the majority of his followers were connected to, how would they receive that kind1 message to begin with?

Someone will post it to a public relay somewhere and it will get reposted to all the relays. I can’t imagine it being a problem that it could *never* be discovered.

The guy above was saying that relays would censor these messages, as if that was a problem with the gossip model itself.

I wasn't insinuating that it's a problem with the gossip model. If you read my comment, I said that I don't understand the model and how it solves this problem.

yes and no?

the way you mention is very convenient however i still believe it’s people’s business to choose relays they want to listen to. especially when there will be many more relays with their own terms of service, maybe some even be theme-related, and so on.

can’t say for others, but for me it would be great if after opening account of a user, client could notify me “hey, can’t get his new posts, check out relays he’s writing to” – that’s exactly what’s happening then you’re following some independent journalist, right?

the problem is finding a relay a user is on, a dht solves this

dht is very slowly. bitcoin is the example, and that's the reason why we need lightning network, by the way, I like that I can control to remove or add some relay.

if we keep the dht simple npub, 1 relay, signature, and maybe we can remove the sig

Yes, and the "relay" could even be your p2p client. And if your relay is not reachable, you can always ask your events from people who follow you.

P2P could work without DHT as well if clients publish their IP on nostr

What event holds the list of relays that I use links to my pubkey?

From what I see is the content section of the contacts event

But I don't see that in an NIP

Big names, or at least big communities, should run their own relay’s. They have an incentive to do so after all - especially if they earn a significant amount from zaps.

Think of it like the reddit model where each subreddit (community) would have dedicated relay’s ran by community members.

I don’t think we should have these big global apps that everyone relies on for relay’s

the only reason to run a relay is to distribute content, any relay can do this, this is not the fediverse

This is how I imagine it yes. But maybe the gossip ID is better depending on the dowsides. What are the pros and cons of the gossip model ?

Seems reasonable for fans to connect to a new relay to fetch that content.

they have to find that relay thats the problem mr jaf is talking about, solution is a dht for it

#[2] can this be implemented in Amethyst?

It can, we just need to re-do everything.

maybe for a Vitor from another space-time 😅🤣

I like Amethyst the way it is! The ability to see and add another user's relay is nice. I don't want relay selection to become an algorithmic process, just as I want to be in control of my follow and block lists.

The way gossip actually works, you get both intelligent relay discovery and also the ability to manually configure relays.

And what's your opinion about this model?

Do you think it's better and interesting to go for it sometime in the future?

isnt that your favorite past time?

If those relays continued to do that, the market would decide they are not the best relays and people would stop using them.

Or, someone with that reach, would proactively be setting up their own relay and letting people connect to it.

Relay owners get to do whatever they want. Users get to do whatever they want.

I don't know if I am missing some point you are making? Are you advocating for not allowing relays to block? #[0]

He can run a relay with all his archived content.

The colluding relays have a reputation to manage.

What if we raided gossip related events, similar to hard drives? Break up your message, say 5 ways, where only 3 of the 5 are needed to unscramble. Send 5 to different relays. Not a silver bullet, but makes de-platforming harder.

Intent with the raid idea is that the users have to have the relays that Alex Jones trusts already in their settings to get the list of his updated relays. And those relays could specialize in just serving deplatform risk mitigation.

Idea might not be fully baked. Dunno. Maybe there is something there, not sure.

use a dht is simpler, nostr also will scale much better if we reduce the amount of relays we write to and start using local backups

Many Japanese users are not interested in and are waiting for for some reason.

ゴシップモデル」--基本的には、クライアントは自分がいる場所のリレーにいる人を(ほとんど)自動的に見つけて、そのリレーからノートを取ってくるべきだという考え方です--をサポートしていない人、気にしない人、聞いたことがない人に、質問です。

もし、みんなが10大リレーでアレックス・ジョーンズをフォローしているのに、そのリレーがみんな結託してアレックス・ジョーンズを禁止したらどうなるでしょうか?そしてアレックス・ジョーンズがコロンビアでホストされている比較的小さなリレーで公開を始めたとします。このような状況で、Nostrはどのようにして検閲に強い約束を果たすことができるでしょうか。彼の何百万人ものNostr信奉者全員が、手動で設定を開き、彼の新しいリレーアドレスを追加しなければならないのでしょうか?

#[0]

And this is why Nostr is EITHER censorship resistant or scalable.

Eventually the failure to build compensation for infrastructure provision into the protocol dooms it to the Web 2.0 fate (at best) of capture by data rapists.

At worst it just exists as a Bitcoin bros hangout.

#[0]

In addition to the client automatically finding the relays that host his content, we should also have a healthy number of relays that sync with other relays. This way, in your example, that small Colombian relay doesn’t get hammered by the traffic because other relays will mirror the content from it.

#[0]

#[1]

even better clients backup their events and others

Sounds like there needs to be a p2p element to this.

Depends on the client.

The one I'm working on, when it pulls profiles, it makes a record of their preferred relays from their profile and Nip05 and uses those to query their events. In this case, there would be two scenarios. If they search for his Nip05 identifier and his relay is listed there, it would automatically query his events from his relay via his Nip05.

But that's what my client does. Not every client.

is there any proposal/discussion I can read on how the “gossip model” would work?

While I don’t support this, it’s kind of interesting for relays to have public reputations and are essentially followed in the same way an individual is.

Cyberspace equivalent to a town

It's simple: via NIP05. Alex Jones would spread around his NIP05 address, and the client would automatically fetch the data from the relay list in the NIP05 json file.

Can gossip scale?

What is the gossip algorithm?

Gossip model of using relays as explained in NIP-65 (0) or in the following picture:

(0) https://github.com/nostr-protocol/nips/blob/master/65.md

people would have to manually gossip about the new relay, which would likely get them banned for mentioning it, notes would probably get censored for direct mentions etc

we need a dht to look up a npub and its relay

Yep! That's the way Nostr is going to function. It will matter what relays you choose to connect to. Connect to censorship free relays like wss:nostr.libertasprimordium.com

nostr have done the best part, I don't think it's good way to modify nostr protocol to support search people easier without add relays by mannually. it seems we still need design new p2p protocol above on nostr protocol to easy find Alex Jones and sneak thought firewall, am I right? this is my idea. but I'm sure it's not the best solution.

to sum up. relay p2p is bad idea. but nostr client p2p might a good solution. for a example, Jim is following for Tim, and Tim is following Alex Jones, Tim knows Alex Jones' relay, now Alex Jones been banned and start on a new tiny relay. Tim knows Alex Jones' relay had changed. when Jim search Alex Jones, Jim's client use p2p communicate with his following guy's client, includes Tim, as Tim can give Alex Jones' relay address to Jim, Jim can get Alex Jones from search users. Lily isn't following Tim. so Lily can't get the search result which includes Alex Jones, unless she add Alex's relay or following 1 degree follower for Alex Jones, this solution will more fast searching and useful.

And now I realize that nip04 "Encrypted Direct Message" is not really safe, as the DM message is store on relays. unless we use client p2p, the DM message only store on both clients, it's will much safer and keep privacy.

I think we need to let nostr clients post and lookup signed nip-65 messages in a DHT.

From a UX perspective, searching for a profile, and being presented with a list of relays they post to (if you share none in come), with one click to add them sounds 🔥

Don’t know if that’s a DHT like Torrent or Holepunch, or gossip (not technical enough to know the difference) but as a user, again, that UX would be 🔥

*in common

A few days back this long thread #[0] discussed the gossip model and how people would deal with the censorship of Alex Jones. I don't think I participated in the thread, being weary of the topic. Instead I have written a webpage stating my position so that in the future I can just point people at the webpage:

https://mikedilger.com/gossip-model/

I mean there is a thread but as I look into thread and beginning of your text there is an assumption that gossip model is known to everyone and everyone already took a position about it. Maybe if I don’t know I don’t need to worry about but it just feel weird with something so new how I’m already so far behind. It is the f.ing Red Queen from the Through the Looking Glass again… I need to run as hard as I can just to stay in the same place… Damn…

Nostr is an MMORPG and we are all in different zones. I'm leaving this zone, and perahsp you are entering it. I hope my webpage can serve as a guide. And I hope you find and kill the mobs that I missed.

I read your page and my first thought is this actually solves the biggest issue in my mind about Nostr. With this scale maybe it is not a problem but as more people join it will be more fragmented. And with this fragmentation there will be relays that will ban some people. So this is actually a good idea but I always thought it is possible to do with current environments. Anyway don’t want to ask questions and start a new thread for you on the thread where you explain you are tired to give answers :)). Wish all the best for you and all of us.