Linux things 🐧

un blog sur les technologies des logiciels libres et autres digressions

Nostr

Wed, 06 Mar 2024 19:00:27 +0100
# nostr   # social   # bitcoin  

Présentation

Peut-ĂȘtre avez-vous entendu parler depuis quelques temps d’un nouveau “rĂ©seau social” opensource ? HĂ© non je ne parle pas de Bluesky mais bien d’un “rĂ©seau social” opensource appelĂ© Nostr, crĂ©Ă© fin 2020, mais voici ce que nous dit la page Wikipedia :

  • Nostr est un protocole opensource dĂ©centralisĂ©
  • PensĂ© pour rĂ©sister Ă  la censure
  • Jack Dorsey, co-fondateur de Twitter, a financĂ© le crĂ©ateur de Nostr, Fiatjaf, pour 14 bitcoins. Il est d’ailleurs amusant de constater que Jack est aussi un fondateur de Bluesky qui se veut aussi dĂ©centralisĂ© et ouvert avec son AT Protocol

Bien que rĂ©cent, Nostr possĂšde un Ă©cosystĂšme trĂšs riche avec une multitude d’outils et de services basĂ©s dessus. Voici la page de description du projet par son crĂ©ateur : nostr - Notes and Other Stuff Transmitted by Relays.
On y lit au dĂ©but : “it does not rely on P2P techniques, therefore it works.” un petit pique sur le P2P, je ne sais pas si c’est fait exprĂšs mais je me souviens il y a longtemps d’une tentative de rĂ©seau social opensource en P2P qui utilisait bittorrent et une blockchain, Twister. Je l’avais testĂ© mais c’Ă©tait assez complexe Ă  mettre en place Ă  l’Ă©poque, puis il a Ă©tĂ© abandonnĂ© par son auteur.

Nostr n’est donc pas un rĂ©seau social mais un protocole utilisĂ© par des logiciels client (mobile, web, desktop) et des relais. Pour l’instant il est plus connu comme un usage de micro-blogging mais voyons ça en dĂ©tail.

Un compte unique

Il n’y a pas de site web officiel Ă  utiliser comme Twitter/X ou une grosse instance avec un grand nombre d’utilisateurs comme Mastodon.social.
Les clients web les plus connus actuellement sont Snort, Primal, Iris, Coracle. Sur l’un d’entre eux vous pourrez crĂ©er un compte Nostr et vous pourrez par la suite utiliser ce compte sur n’importe lesquels de ces sites, cela fonctionnera.
Attention cependant Ă  bien comprendre le fonctionnement. En effet nul besoin d’email ou numĂ©ro de tĂ©lĂ©phone Ă  fournir, la crĂ©ation d’un compte est immĂ©diate et gĂ©nĂšre une clĂ© publique et une clĂ© privĂ©e. La clĂ© publique est sous ce format npub1vwldp9k95xxe9mgnzakykpmhmazj5q2veldt6jvju2dvrfkxvlaq6dzfhz et la clĂ© privĂ© lui ressemble mais commence par nsec.... Attention, il y a plusieurs choses Ă  retenir :

  • ne jamais fournir Ă  qui que ce soit la clĂ© privĂ©, et ne jamais la diffuser.
  • si quelqu’un accĂšde Ă  votre clĂ© privĂ©e, votre compte est perdu car il est impossible de la changer. Il faudra forcĂ©ment crĂ©er un nouveau compte.
  • les clĂ©s publique et privĂ© ne pouvant ĂȘtre mĂ©morisĂ©, il est fortement conseillĂ© de les noter dans un logiciel de gestion de mot de passe, type bitwarden ou 1password. > Une appartĂ©e Ă  ce sujet : L’utilisation d’un gestionnaire de mot de passe n’est plus de nos jours un outil de geek. C’est bien un outil indispensable pour tout un chacun, et avec les piratages rĂ©currents des services web il n’est plus concevable d’utiliser un mĂȘme mot de passe partout, qui plus est faible. Voici une courte prĂ©sentation Ă  ce sujet, Gestionnaires de mots de passe >
  • Sur certains site vous pouvez vous connecter en donnant uniquement une clĂ© publique, la votre la mienne ou celle de n’importe qui. Dans ce cas vous aurez un accĂšs en lecture seule au compte, donc sans pouvoir poster ni modifier le profil ou lire les messages privĂ©s qui sont chiffrĂ©s.
  • Pour plus de sĂ©curitĂ©, vous pouvez installer une extension dans votre navigateur, comme celle de Alby, grĂące Ă  laquelle vous n’avez plus besoin de donner votre clĂ© privĂ©e sur un site web Nostr. Vous lui donnerez alors les droits, via l’extension, de signer vos messages, donc de poster, et de modifier vos informations. Cela nĂ©cessite de crĂ©er un compte sur Alby.

Les NIPs

Les NIPs sont comme des RFC mais pour Nostr. Ils ajoutent des fonctionnalitĂ©s facultatives, Ă  implĂ©menter cĂŽtĂ© relai ou client et seule la 01 est pour l’instant obligatoire car elle sert de base au protocole en transmettant les Notes.

Fonctionnement

Nostr est composĂ© de logiciels client (web ou mobile) et de relais sur des serveurs. Le client utilise votre clĂ© publique et privĂ© pour signer vos messages et les envoyer vers des relais. Les relais stockent simplement les messages reçus par les clients, et les retransmet aux autres clients connectĂ©s. De fait les clients connectĂ©s Ă  un mĂȘme relai peuvent recevoir les messages de tous les utilisateurs utilisant ce relai.
Mais si 2 clients n’ont pas au moins un relai en commun, alors les 2 utilisateurs ne verront pas les messages de l’autre. C’est pourquoi les clients se connectent Ă  plusieurs relais, afin d’une part d’Ă©viter la censure qu’il pourrait y avoir sur un relai, d’autre part afin de transmettre au plus grand nombre ses messages, enfin d’augmenter la rĂ©silience en cas de panne.
Par défaut un client va se connecter à quelques relais, cependant vous pouvez en ajouter en utilisant le site nostr.watch qui en liste un grand nombre. Pour ma part je fais tourner un relai public (strfry) sur mon infra Nomad, que vous pouvez bien sûr utiliser : wss://relay.nostromo.social
A savoir que des relais sont Ă  accĂšs payant, soit en Ă©criture, soit lecture/Ă©criture, afin de supprimer le spam et payer les frais de fonctionnement, exemple avec ce relai Nostr.lc dont l’usage est payant en Satoshi (Sat). A ce sujet j’ouvre une rapide parenthĂšse vers l’implĂ©mentation de Bitcoin dans Nostr.

Bitcoin

Nostr commence Ă  avoir un certain succĂšs dans le monde de la crypto suite Ă  l’implĂ©mentation de la NIP-57 sur des clients et relais, appelĂ©e Zaps. En rĂ©sumĂ© on peut envoyer des Tips (pourboires) Ă  un autre utilisateur en Satoshi (Sat) qui est la plus petite unitĂ© de mesure du Bitcoin (1 bitcoin = 100 000 000 satoshis, 1 satoshi = 0.00000001 bitcoin). C’est donc une unitĂ© de mesure adaptĂ©e Ă  de faibles montants, mais cela ne s’arrĂȘte pas lĂ .
Utiliser la blockchain est trÚs lent, aussi la NIP-57 utilise une surcouche au réseau Bitcoin, appelé Lightning network, qui offre des transactions quasiment instantanées. Je ne vais pas décrire ici le fonctionnement mais je vous conseille cet excellent site qui explique le Lightning Network.
Pour envoyer et recevoir des Sats il faut un portefeuille (wallet) qui permet de les recevoir via une adresse. Alby et certains clients web proposent cela, ou si vous ĂȘtes courageux vous pouvez installer votre propre noeud Lightning (LND).
Enfin je vous conseille d’installer une application mobile connectĂ©e au noeud Lightning que vous utilisez pour consulter vos transactions et en faire, exemple Wallet of Satoshi ou Zeus, mais cela devient un tout autre sujet.
Grùce aux Zaps, Nostr permet de financer du contenu ce qui en fait un écosystÚme monétisable totalement autonome et décentralisé. Mais quel genre de contenu ?

Les applications sur Nostr

Les applications les plus connues sont celles citĂ©s prĂ©cĂ©dement permettant le micro-blogging Ă  la Twitter, mais Nostr permet d’autres usages tel que :

Elles sont toutes utilisable avec votre compte Nostr, si vous avez installĂ© l’extension Alby vous vous connectez en quelques clics sans avoir besoin de crĂ©er un nouveau compte sur ces services.
Voici une liste plus complĂšte ici : Nostr Apps

Les clients mobiles

quelques clients mobiles

Conclusion

Nostr est un Ă©cosystĂšme en plein dĂ©veloppement et prometteur. Certes, comprendre Nostr peut sembler un peu plus compliquĂ© que Twitter ou Facebook, mais c’est un faible prix Ă  payer pour le respect de sa vie privĂ©e et sa libertĂ© de communiquer.
Mon profil Nostr

Quelques liens

(Ce texte a été écrit avec Ghostwriter2)