Outils du site

Outils pour utilisateurs


Panneau latéral

P2PFR:Wiki

p2p:scuttlebutt (lu 213 fois)

Scuttlebutt

Scuttlebutt est un logiciel libre, développé pour assurer des fonctions utiles à un réseau social (type Facebook, Mastodon, Diaspora…). Nous n'en parlerions pas autrement, la communication entre chaque participant(e) au réseau se fait en pair-à-pair.

Folklore introductif

Vu l'étrangeté du nom du logiciel, précisons d'abord que Scuttlebutt est un mot d'argot qui veut dire «ragots» (gossip). Son sens est dérivé du Scuttlebutt, un dispositif de fontaine à eau utilisé par les marins, autour de laquelle ils se retrouvaient pour boire et papoter.

Le site web de Scuttlebutt (qu'on abrègera parfois SB) démontre une volonté de développer le logiciel en ressemblance avec le fonctionnement des comportements sociaux. Dans le podcast StealThisShow qui lui est consacré, il est même indiqué que le parti pris est de résoudre certains problèmes rencontrés dans l'informatique par une approche non-technique. Donc des analogies avec le monde réel sont parfois faites, pour expliquer la façon dont le protocole de Scuttlebutt fonctionne.

Par exemple, la proximité physique et le fait que quand on discute les personnes éloignées n'interviennent pas sert à illustrer le fait que la portée d'un message diffusé sur ScuttleButt est limitée. Le modèle choisi est que le message n'est diffusé qu'auprès de vos amis, ainsi qu'aux amis de vos amis.

Mais au départ, comme il s'agit d'un logiciel à usage confidentiel, vous aurez peu d'amis. Une solution mise en place, ce sont les pubs (les cafés). Le pub est un noeud du réseau qui a accepté d'être ami avec tout le monde, et qui retransmet les communications à tous.

Après avoir dit coucou dans le pub, vous trouverez sans doute des gens qui vous accorderont leur attention, que vous pourrez suivre, mais aussi arrêter de suivre.

Difficile de se faire une vue exacte du fonctionnement pour le moment, on s'en rendra mieux compte en utilisant le logiciel. Il faudrait comprendre ici comment est résolue la contradiction entre : je ne souhaite plus recevoir d'infos de cette personne, mais c'est l'ami de mon ami, ou bien je suis sur un pub qui l'a pour ami, donc que dois-je faire ?

ScuttleButt semble vouloir correspondre aussi bien aux relations sympathiques qu'aux relations antipathiques. Ainsi la video présentée en page d'accueil du site raconte l'histoire d'un couple de deux meufs qui se sont rencontrées sur ScuttleButt, que tout va bien et qu'elles partagent des trucs, mais elles finissent par ne plus se piffrer, et donc elles décident de ne plus avoir aucun rapport l'une avec l'autre.

On sent l'influence de quelques théories anglo-saxonnes ici, aussi exposées dans la page «Principes», ou dans ce schéma :

… si l'inclusivité semble une volonté honorable, on sent aussi une petite touche managériale qui dénote un peu. Pas si anarcho-truc, et un peu libertarien quand même ? Bon, rares sont les projets de logiciels libres qui ne jouent pas sur les deux tableaux (à l'exception de salut-à-toi avec qui l'on sait à peu près où l'on va). Forcément, quand on est payé pour travailler sur des technologies à base de Blockchain et qu'on rêvasse1) de créer son propre dérivé de Bitcoin, ça finit toujours par déteindre un peu.

Un peu de technique

Le protocole de ScuttleButt est appellé Secure Scuttlebutt (abrégé en ssb).

Le modèle technique du réseau est vulgarisé donc semi-documenté, et quelque fois accompagné de «papers», soit des papiers académiques de recherche trop balèzes en cryptographie. On essayera donc de documenter sur un ton qui serait l'entre-deux.

D'abord, il est dit que les messages transmis ne sont pas chiffrés et sont stockés en clair sur votre propre machine, celle de vos amis, et proches. Si on s'en tient à ça, ça veut dire qu'on peut lire tout ce que nos amis se racontent entre eux, ce qui semble pas top en terme de vie privée.

La doc Secure Scuttlebutt nous indique que Scuttlebutt utilise libsodium pour chiffrer les messages ayant besoin de confidentialité. Les clés publiques des 2 personnes souhaitant communiquer sont associées dans un flux ayant un identifiant propre. Là, on comprend que tous les messages ne sont pas publics, et donc que la confidentialité est au moins en option, ouf.

La doc indique d'abord que les messages sont signés, et s'agrègent. Il semble y avoir un rapport avec l'idée de blockchain ici mais l'idée n'est pas développée. Le but de cette signature cryptographie des messages est de garantir que ceux-ci circulent sans être altérés (intégrité) et émanent bel et bien de la personne que l'on pense. Pour le coup l'analogie avec les «gossip» et la transmission de bouche à oreille téléphone arabe n'est plus pertinente ici puisque le contenu et l'origine du message sont préservés.

Revenons sur le stockage des messages, le contenu est en effet sauvegardé et visible dans votre répertoire personnel. Puisque les données s'y accumulent et que ça peut prendre de l'espace disque2), il vous est possible de le purger. Ca n'aura pas d'incidence sur le réseau tant que d'autres personnes que vous détiennent encore un exemplaire de ces données. Mais si plus personne ne les partage, cela effacera ces données de la mémoire du réseau, bien qu'il soit illusoire ici d'escompter un réel «droit à l'oubli». En revanche, cette propriété tourne le réseau vers le présent : ne sont téléchargées que les données que vous sollicitez. Vous pouvez conserver des archives, mais il n'est a priori pas utile d'en conserver beaucoup. Le comportement variera sans doute selon le type de contenus partagés (simples images, videos plus lourdes…).

Les logiciels

Tout l'écosystème de ScuttleButt est pour le moment écrit en Node.js.

Voir : https://www.scuttlebutt.nz/applications.html

Patchwork

Patchwork est le client recommendé, et fait office de «navigateur». Le guide pour débuter vous propose de l'installer.

Note pour Linux : le logiciel est distribué au format AppImage.

Autres logiciels

Mais le petit lutin qui bosse derrière la grosse interface, il s'appelle scuttlebot. Donc c'est lui le coeur sur lequel peuvent se greffer d'autres interfaces, parmi lesquelles :

Patchbay est la version pour les gourmets développeurs avec fonctionnalités en plus.

Patchfoo, une autre interface sans javascript (à base de formulaires HTML) est là comme pour poser un affront au monstre Node.js.

Ainsi que MMMMM, une interface prévue pour tourner sous androïd.

À ces applications dont l'usage est plutôt orienté pour combler des besoins «de base» aux réseaux sociaux s'ajoutent d'autres initiatives, comme ssb-chess (jeu d'échecs), ferment (une sorte de soundcloud décentralisé avec webtorrent, qui fait penser à PeerTube), et ssb-git (un github décentralisé, encore une fois on pense au travail de goffi ici).

Liens

1)
Dominic Tarr est le contributeur principal de ScuttleButt, il est aussi conseiller technique auprès d'EverLife.AI
p2p/scuttlebutt.txt · Dernière modification: le 02/09/2018 à 18h54 par 111110101011