Avatar
Peter Gerstbach
0e6802d8b7caf0206b1df7b81d2421a27b2dd5a3396f74bfcfe5bae8997c959a
Design Thinker by day, Nostrich by night 🤙 From pedestrian to pilot: #LearningToFly 👨‍✈️✈️ German translations for Damus. Relay operator at.nostrworks.com

Inspired by #[1]'s #Nostrica speech (see #[2]) I queried my relay, if anybody reported something. Turns out I have only few reports, mostly from 2 users on my relay (thanks btw). But to be honest it is super hard to read them without proper tooling:

1. Login to the server (running nostream in my case)

2. Connect to the database

3. Query the reports, I used:

SELECT first_seen,event_pubkey,event_tags,event_content FROM events WHERE event_kind=1984;

This gets me the date, the reporter, and the event tags which contains the reported profile and/or note and some additional text, which was always empty.

4. Manually look up the profiles and notes in a Nostr client

I did step 4 for some reports and it showed that not a single event was actually stored on my (paid) relay.

So we really need additional tooling to make moderation even possible. It is not, right now.

Some ideas:

a) Only post reports to relays that actually have the event in question (maybe this recommendation should be added to NIP-56?)

b) For a start relays need some simple ways to query reports and show the linked content. My current approach is not feasible long-term, obviosly.

Thanks #[1] for your great speech at #nostrica! It was very interesting, eye-opening and covered so many important topics, in which Nostr needs to advance. Thank you!

One quote that I find particularly important is about offensive and abusive speech:

"There are parts of Nostr that are incredible offensive and abusive. And when you make death threats that's not neutral, you are doing it to silence someone else's speech. […example post…] That's not okay, that is silencing. We need to build tools that let people use these platforms in a way that does not silence them. And We need to build tool on the relays, in the apps for the user to solve these problems. If we don't solve these problems we won't get widespread adoption."

https://nostrworks.com/images/nostrica-2023-rabble.webp

And with Plebstr there is one more interesting Nostr client, I haven't yet heard of. Thanks #Nostrica! Great work #[1] & team!

#[1], thanks for moderating #Nostrica! You are the best MC Nostrica can wish for. Greetings from virtual attendee from Austria!

I think that is very important for Nostr adoption. And maybe even drive Bitcoin adoption in the end!

Looking forward to joining #nostrica virtual! 👋 Only few hours left...

Would you, #[1], integrate a PR for a fiat payment processor into nostream?

Of course bitcoin is the natural choice but I wonder if it would help the adoption of Nostr to offer a fiat way. Although this would require to choose between different payment providers on checkout. Just thinking, nothing coded yet... (Still learning TypeScript)

I just need to practise TypeScript a little bit more, before being able to actually crate a PR you will accept! 😆

Is there a way to configure a paid nostream relay to support NIP-65, #[1]?

It would be great to configure it to always allow publishing kind-10002 events. The config entry limits.event.kind.whitelist does not paypass payment, I suppose.

We need more paid relays that support NIP-65 for everybody. Decentralisation for the win!

The idea of NIP-65 is that you publish your read & write relays, so others can post to your read relays and read from your write relays. That should make it possible that you don't need mutual relays, which are anything but decentralised.

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

It seems #[1] started publicly a PR about feed advertisements in February which was commited as NIP-65 on Feb 7. So yes, it is quite new and I suspect this is the thing how clients should be doing it in future, right?

It is, obviously, supported by gossip, and it seems at least also by Snort. I haven't found anything about other clients but might have missed something.

A nice, just wondered what "content" actually is used for. NIP-02 says "The content can be anything and should be ignored." 😆 Haha, no wonder I couldn't find it there!

I am confused. Can somebody enlighten me how Nostr clients share relay lists (if they do at all)?

There seems to be various abandoned attempts, but nothing final.

NIP-23a/b/c: Abandoned and number reused for something else

NIP-26: Abandoned and number reused for something else

Then there are some implicit ways like

NIP-01: Defines kind-2 events to recommend relays

NIP-02: Defines kind-3 contact lists which could be used to decide which relays to read

Then there is this quite new draft:

NIP-65: Relay List Metadata by #[6]

Is this the one???

Have I missed something? Maybe some client developers can point me to the right direction? #[1] #[4] #[2] #[5] #[3]

Thanks! 💜

Faustregeln für Relayverbindungen. Dieses Konzept ist für viele anfangs nicht verständlich.

Zum Beispiel:

- Gegenseitiger Kontakt nur möglich bei Nutzung von mindestens einem gleichen Relay

- falls dieser Relay offline geht, ist die Verbindung wieder gekappt

- deshalb für Redundanzen in der Relay-Liste sorgen

- nachsehen, welche Relays große Accounts der gewünschten bubble nutzen, etwa die Hälfte kopieren und ebenfalls nutzen

- die andere Hälfte auffüllen mit unbekannteren Relays, zu denen man einen guten Ping hat

- für einen nutzbaren global feed auf jeden Fall bezahlte Relays in Betracht ziehen

- auf Möglichkeiten der einzelnen clients hinweisen, den Worldfeed auf bestimmte Relays zu begrenzen - idealerweise paid Relays

- sich bewusst sein, dass man sich innerhalb einer bubble komplett losgelöst von anderen bubbles bewegen könnte. Bubbles tendieren dazu, nur wenige große Relays zu verwenden, um die Konnektivität zu erhöhen

- damit einhergehend muss die Erkenntnis stehen: ich weiß nicht, ob ich Nachrichten verpasse, weil ich es nicht mitbekäme. Dafür gibt es nur wenige Indikatoren:

- zum Beispiel "Missing note" Meldungen in notes von Follows, die etwas zitieren

- unbestätigt: nach einem Wechsel der Relays (zum Beispiel nach Austausch der Standard relays nach Installation des clients) werden einzelne Profilbilder der Follows oder von Followern nicht mehr geladen -> jene Relays, welche vorher für eine Verbindung gesorgt haben, wurden nun aussortiert

Oh, das sind schon einmal viele interessante Punkte! Ist mir auch schon aufgefallen, dass davon vieles nicht verstanden wird! Danke für die Anregung!

Ich schreibe gerade an einem deutschsprachigen Guide für #Nostr. 🤙

Was sollte darin eurer Meinung nach unbedingt behandelt werden?

You know what is even more important than a good microphone?

A quiet room with low reverberation time.

A 50$ mic in a low reverb room sounds better than a 1000+$ mic in a really bad room with echo.

How to lower reverberation time? The room should have a lot of fabric (curtains, a rug), avoid flat surfaces (glass, windows, tiles), don't sit in the corner. Of course you can buy acoustic panels, but sitting in front of a bookshelf should do the job. The different sized books will scatter and absorb frequencies quite well.