Il y a environ un mois, un post présentait trop rapidement Nostr.
Ce protocole a des caractéristiques qui, pour moi, en font un bon candidat pour les usages que tu cites (commentaires de transactions et messagerie instantanées).
Nostr en quelques lignes
Il se base sur des “events”, qui sont simplement des JSON signés. Les events peuvent être envoyés à plusieurs noeuds Nostr. Les events sont liés à la clef publique émettrice.
Les noeuds ne communiquent pas entre eux, c’est le client qui décide sur quel noeud il va chercher/publier un event.
La multiplicité des noeuds a à la fois le rôle de redondance de la donnée et de groupement par centres d’intérêts.
Il y a bien sûr un event de type “message”, qui peut contenir un sujet. Ceci remplit les deux cas d’usages : si on spécifie qu’un sujet au format ‘txc:<id_transaction>’ est un commentaire de transaction, alors on a d’un coup les commentaires de tx et la messagerie instantanée.
Les messages peuvent être chiffrés, naturellement, ce qui permettra d’avoir des commentaires de TX chiffrés.
Par ailleurs, le même protocole a des events destinés à:
- publier un profil
- échanger sur une marketplace
- publier l’info “En général on trouvera mes events sur les noeuds X, Y, Z” (cet évènement est fait pour être envoyé à plein de noeuds pour qu’un tiers puisse retrouver les noeuds où un émetteur publie)
Et la modération ?
Il faut que je creuse un peu ce sujet. Les noeuds ne sont pas tenus d’accepter les events venant de n’importe où et n’importe qui. De ce que j’ai compris:
- certains noeuds ont un modèle payant (je m’abonne pour pouvoir poster sur ce noeud)
- d’autres demandent une PoW pour pouvoir poster un event chez eux
- certains sont en accès libre
- certains ont une whitelist (par ex. Nostr Relay relay.stoner.com - stoner : “for write access DM the admin”
Je suis persuadé que certains logiciels de noeuds ont un système de whitelist/blacklist par clef publique. Peut-être également des quotas par clef pub, mais j’en doute.
- la whitelist pourrait être remplie
- automatiquement avec les clefs pub de comptes Ğ1 avec un petit script auxiliaire
- ou à la discrétion de l’admin
- la blacklist pourrait être alimentée par l’administratrice du noeud
Le client peut également bloquer certaines clefs publiques, dans des cas de harcèlement par exemple.
Mais si les noeuds ne communiquent pas entre eux, comment on va indexer les commentaires de transaction ?
Justement : il ne me semble pas pertinent d’indexer tous les commentaires de transaction. Il faudrait avoir des noeuds Nostr spécifiques, surveillés par les indexeurs.
Si quelqu’un veut historiser un commentaire de transaction, il le publie sur ces noeuds pour que ce soit indexé.
S’il veut envoyer un commentaire “pour mémoire”, qui n’a pas vocation à durer très longtemps (genre “merci pour les carottes”) alors il peut le publier sur un noeud non indexé. Ceci peut permettre un (faible) niveau de confidentialité.
On a ainsi un système décentralisé qui permet l’indexation sur demande explicite de l’utilisateur.
J’aurais aimé explorer plus et monter mon noeud, mais mon temps est compté…