Replying to Avatar fiatjaf

I made a relay that charged for access and started working on a framework for making custom relays with arbitrary policies in early 2022: https://github.com/fiatjaf/expensive-relay

I remember using the phrase "relays must have personalities" early on too, and saying that Nostr finally realized the Mastodon vision of having communities form around servers (as Mastodon failed spectacularly on that).

I also remember getting angry at the hundreds of people who misunderstood Nostr as some kind of neutral data layer for cryptographic keys (generally the same people who are happy to just hardcode 4 relays in their apps and call it done), or people who tried to do spam prevention using any techniques that were not based on knowing some relays to be free of spam and others not, I wrote this, for example, as an early attempt to nudge the conversation in the right direction: nostr:naddr1qqyrxe33xqmxgve3qyghwumn8ghj7enfv96x5ctx9e3k7mgzyqalp33lewf5vdq847t6te0wvnags0gs0mu72kz8938tn24wlfze6qcyqqq823cywwjvq.

I don't know why you think this is bloat. It's the opposite of bloat. I hate bloat, but relays with personalities are the only way to avoid bloat. Without relays doing custom things to prevent spam, curate content and acquire reputation we're left with megalomaniac specs for doing the same thing on the client side in a much less efficient and less personalized way (as you can see from all the bizarre specs we've seen being proposed throughout the years).

By the way, DVMs are a clear example of what happens when you start to treat Nostr as a form of neutral data layer. DMs too, probably, then in the evolution of the DM spec you see how things went, with overcomplication on the client-side in order to try to achieve some ideal privacy that in the end is only still guaranteed by the relay (NIP-17) or Marmot, which requires no comment.

Anyway: if you don't think relays should be different, then how do you account for incentives?, i.e. should every relay just accept any note from anyone or how are they supposed to filter content?

theres a fine line between relays having a personality/filtering/curating content and poorly attempting to make events exclusive to them.

the idea of restricted access to events on nostr is a joke, thats just not compatible with the protocol. those NIPs are useless.

there are and there should be a variety of relays, because of the need for incentives but also because some stuff just cannot be done client-side.

now something i wish people looked more into is user or local communities owned relays - which are closer to the user - that's an opportunity to get done whatever is too heavy to do on clients there, making sure users have full control over it.

even the outbox model would scale better that way, having clients fetch events from a home relay.

Reply to this note

Please Login to reply.

Discussion

but how is anyone without a phd supposed to understand all this? you don't want to be giving just two options: (1) accept the centralising defaults or (2) make a random choice as a result of being forced to make a choice but having no idea what that choice is about.

You need a third option, which is forced but very easy to understand choices (so informed choices), or a fourth option, which is non-centralising defaults.

Right now everything seems like (1) or (2).

non-centralizing defaults come with outbox to begin with. however the user discovered nostr already gives a point of entry into the ecosystem, that could be following someone or connecting to a relay.

and for obvious reasons, your third option is objectively the best, users need to have a basic idea of what goes on behind the UI so that they can make conscious choices.

i agree with you that it gets really confusing, and thus the reason why this space needs more UX designers which are good at dealing with decentralized tools.

I think outbox defaults can only be properly non-centralising if they are not penalising. person A can't be given a pickier set of relays than person B, such that person A just can't do or experience certain things they want to, whereas person B is fine for those same tasks or experiences. just based on luck of the draw.

unless you have some uniformity in the base set then even for outbox you need to force a choice.

they wouldn't even be given any choice at first, outbox should handle it all for them. the client would look for the relay list of the npub they're trying to follow, in a predefined set (including nip65 specialized relays), which should be as large as possible.

once the relay list is retrieved, thats a bunch of relays to explore, and in those relays, they might find hundreds of relay hints in events. thats how the magic happens, unless they're exploring nip70 dedicated relays.

now if their point of entry is a relay, it's either:

- amazing, a regular relay that relays events as it should

- terrible, that relay is nip70 only, all the events are exclusive to it, no other relay hint can be found