OneSwarm, un système peer-to-peer inspiré des réseaux sociaux.

OneSwarm est un logiciel de peer-to-peer dont le but est de garantir l’anonymat au contraire des protocoles du type BitTorrent. Pour cela, l’information sur les fichiers disponibles sur les réseaux n’est plus centralisée dans des trackers mais est au contraire décentralisée. Avec BitTorrent, il suffit de se connecter au tracker d’un fichier pour savoir qui le possède ; avec OneSwarm cela n’est plus possible. Les transferts de fichiers se font en effet qu’avec des pairs de confiance choisis par l’utilisateur. On parle alors d’un système friend-to-friend. Les avantages au niveau sécurité sont clairs : seuls les gens en qui vous avez confiance peuvent voir vos données.

Le paper en question décrivant l’architecture d’OneSwarm est disponible sur leur site.

Deux points sont intéressants dans ce papier sans être trop technique. D’une part, le design de OneSwarm est basé sur une analyse des réseaux sociaux et peer-to-peer existants, d’autre part le moyen démarrer (bootstrap) le réseau est lui aussi intéressant.

L’étude d’un réseau social, lastfm

Le paper commence par une analyse du réseau social last.fm et notamment étudie la structure du graphe social. Par exemple, le chemin moyen pour aller d’un utilisateur A à un utilisateur B passe par 7 utilisateurs ; tandis que les deux utilisateurs les plus éloignés sont distants de 14 utilisateurs. Il est également déterminé la bande passante utilisé pendant les deux semaines durant lesquelles les données ont été récupérées : 4.66 TB. Ce qui ne fait qu’environ 4MB de données transférées par utilisateur, cela est bien en-dessous de la capacité des lignes ADSL actuelles.

D’autres remarques sur le comportements des utilisateurs sont faites :

La conclusion tirée de cette étude est la suivante : les réseaux p2p ont largement plus de capacité totale que de demandes. OneSwarm se fixe donc pour objectif d’utiliser cet excès de capacité au service de l’anonymat.

Présentation de OneSwarm

OneSwarm n’est pas le premier système friend-to-friend, par exemple freenet et son mode DarkNet proposait un p2p privé de ce type. Un des problèmes des réseaux de ce type, c’est le début : chaque utilisateur étant identifié par sa clé publique, pour ajouter des utilisateurs il doit connaître leur clé publique et les ajouter. C’est là la solution retenue par freenet : l’ajout manuel de clés.

OneSwarm propose une solution originale : au final avec un système d’ami, on dote le système d’une structure de réseau social. Or les utilisateurs sont déjà inscrits dans d’autres réseaux, et il est fatiguant pour eux de toujours reconstruire ce graphe. Ainsi OneSwarm permet d’utiliser un réseau déjà existant pour importer les amis. Pour l’instant ils n’ont l’air que de supporter Google Talk au moyen d’un bot auquel OneSwarm fait des requêtes régulières.

S’en suit une description (étonnamment assez peu technique) du protocole et du fonctionnement interne de OneSwarm.

Avis

Le papier en lui même est très accessible et finalement ce n’est pas tant les connaissances réseaux qui manquent mais plutôt les connaissances en théorie des graphes. Cependant, une question reste, bien que partiellement résolue à la fin du papier. Qu’est-ce qu’apporte au point de vue sécurité et anonymat OneSwarm sur les réseaux type freenet ? À mon avis OneSwarm repose un peu trop sur le concept de friend-to-friend pour assurer l’anonymat (en tout cas la sécurité des transferts en eux-même est très peu évoquée dans le papier). La réponse apportée par les auteurs est la possibilité d’avoir des permissions plus fine. À mon avis, OneSwarm représente un bon compromis entre les performances des réseaux p2p traditionnels et la sécurité des réseaux p2p anonymes.