Un système ingénieux et ouvert à tous, mais à la mauvaise réputation.

Vous avez produit et réalisé un contenu média et vous souhaitez le mettre en accès libre ? Vous avez développé un nouveau plugin pour un logiciel de CAO et vous souhaitez le mettre à disposition gratuitement et libre de droit ? Vous avez créé une nouvelle distribution Linux que vous souhaitez proposer à tous ? (Bon, peu de gens se sont déjà posé cette dernière question, je le reconnais).
Problème : vous ne disposez pas de votre propre serveur pour supporter des milliers/millions de téléchargements à la suite du succès de votre contenu et vous ne pouvez/voulez pas payer un service coûteux qui risquerait de s’en arroger la propriété intellectuelle et l’exploitation commerciale…
Pas de souci, le protocole BitTorrent est là pour vous !

Conçu au début des années 2000 par le programmeur Bram Cohen, le protocole BitTorrent est maintenu par la société du même nom, et est dédié au partage de fichier sur internet.

Il fait partie de la famille des protocoles peer-to-peer (pair-à-pair), c’est-à-dire que les échanges ne sont pas dépendants d’un serveur central, mais qu’ils sont distribués entre un grand nombre de nœuds, constitués par les ordinateurs des utilisateurs.

Téléchargement « classique », ou direct download (DDL)

De façon classique, un fichier est stocké sur un serveur, et lorsqu’il est rendu accessible au téléchargement, l’utilisateur va simplement recevoir le fichier de la part du serveur, au moyen d’un protocole standard, comme FTP (File Transfer Protocol).
C’est par exemple le cas lorsqu’on télécharge un logiciel sur le site de son éditeur.

Problème : lorsqu’il n’existe qu’une seule source pour télécharger une donnée, des goulots d’étranglements peuvent apparaître, et entraîner une baisse de la disponibilité, des latences, …
Cela exige également que le propriétaire des fichiers engage des ressources (matérielles, financières, …) pour la mise à disposition des fichiers.

Pour répondre à ce problème, certaines entreprises ou sites se spécialisent en proposant des infrastructures dédiées à la gestion optimale du système de téléchargement (on pourrait parler de Download as a Service). Beaucoup de logiciels gratuits sont ainsi téléchargeables sur des plateformes dédiées (SourceForge, 01Net, …), mais le modèle client-serveur reste de mise.

Le pair-à-pair, ou peer-to-peer (P2P)

Il est possible de procéder à de nombreux échanges sans serveur central, en procédant au moyen d’une architecture dite de pair-à-pair.Au sein d’un tel réseau, les utilisateurs vont faire de leur machine un acteur parmi beaucoup d’autres (on parle de nœud), par lequel des échanges, calculs, fichiers vont être traités. L’utilisateur devient donc acteur de ces échanges.

Le téléchargement en torrent permet une bien meilleure vitesse de téléchargement, ainsi qu’une meilleure disponibilité, car on ne dépend pas d’un seul acteur mais d’une multitude.

Cependant, par sa structure, la solidité du réseau et la disponibilité des fichiers dépendent directement du nombre de pairs et leur degré d’engagement.
Le site d’indexation et de tracking T411 avait ainsi mis en place un système de ratio upload/download afin d’inciter les utilisateurs à mettre à profit leur machine une fois le fichier téléchargé, sous peine de ne plus pouvoir accéder aux fichiers proposés.

Un protocole décentralisé parmi beaucoup d’autres

La volonté de se passer d’une infrastructure centralisée n’est évidemment pas propre au seul téléchargement de fichier. Des protocoles offrant une alternative sans acteur central sont apparues dans de très nombreux domaines
Elle se reposent très souvent sur des technologies issues de la cryptographie, et se multiplient, notamment avec l’essor croissant des technologies blockchain.
Les motivations à la décentralisation peuvent être extrêmement variées:
– Confiance numérique (système de trust pour des messageries chiffrées type PGP)
– Neutralité vis-à-vis d’acteur commerciaux (moteur de recherche FAROO, système « po.et » pour la protection des ayants-droits et la traçabilité des contenus publiés dans les médias, …)
– Efficience et réduction de bande passante (« Delivery Optimization » de Microsoft pour partager les updates de Windows 10)
– Praticité et autonomie réseau (smart grids, voiture connectées, réseaux de capteurs..)
– Indépendance vis-à-vis d’acteurs étatiques et anonymité des échanges (réseau Tor)
– Raisons multiples et parfois idéologique ou politique, comme pour les cryptomonnaies.

BitT0rrent dans le détail

BitTorrent fait donc partie de la famille des systèmes de téléchargement en peer-to-peer : chaque acteur du réseau (un pair) est amené à être à la fois un consommateur de ressources et un fournisseur : on parle de « leechers » (« sangsue ») et de « seeders » (« graines ») pour BitTorrent.

Segmentation

L’un des concepts clés de BitTorrent est la fragmentation de la ressource : chaque fichier est découpé en segments de tailles égales, et téléchargeable indépendamment des autres.
Lorsque l’on télécharge un fichier, on télécharge en fait chacun de ces segments, quel que soit le « pair » qui nous a fourni chacun d’eux.

Scénario simplifié

Fonctionnement exhaustif des échanges dans le protocole BitTorrent

Le premier distributeur d’un fichier (que nous nommerons A) est celui qui le rend disponible au téléchargement. Il est appelé initial seeder, et va donc commencer par segmenter un fichier donné.Lorsqu’un premier pair B va solliciter la ressource, A lui enverra chacun des segments tour-à-tour, jusqu’à ce que le fichier ait été entièrement recomposé. Le protocole d’envoi principalement utilisé est UDP, et les échanges peuvent être chiffrés (et le sont généralement).
B deviendra ensuite lui-même un fournisseur pour ce fichier.
Lorsqu’un 3ème pair C souhaitera télécharger ce fichier, A et B vont simultanément lui fournir différents segments. Une fois que C disposera de l’intégralité des segments, il deviendra également fournisseur et ainsi de suite.

Comment procéder pour télécharger un fichier ?

Les sites internet proposant ces fichiers (on parle d’indexeurs) ne fournissent donc pas ces fichiers directement, mais le moyen de récupérer chacun des segments constituants les fichiers

.                        Système de tracking dans le protocole BitTorrent

Quelques sites (légaux):
https://archive.org/details/bittorrent
http://academictorrents.com/
http://www.legittorrents.info
– http://linuxtracker.org/
– https://www.jamendo.com/

Aux débuts de la technologie du torrent, on téléchargeait auprès de ces serveurs des fichiers .torrent qui contenaient les informations sur la fragmentation du fichier et les nœuds permettant de les obtenir. Ces serveurs d’indexation peuvent également supporter le rôle de tracker, sorte d‘orchestrateur du téléchargement, qui met à jour en temps réel la disponibilité des nœuds du réseaux pour tel ou tel segment.

Depuis quelques années, la plupart des sites d’indexation ont changé de mode de fonctionnement, et fonctionnent désormais par liens magnet (il s’agit d’un standard internet qu’on ne détaillera pas ici).
Au lieu de télécharger le fichier .torrent sur le poste du client, le site fournit donc un lien vers un ou plusieurs premiers nœuds, qui permettront par la suite d’accéder au découpage du fichier et aux nœuds à contacter.
Aucun fichier n’est donc téléchargé depuis les serveurs, on parle de trackerless torrent.

Exemple de lien magnet pour le téléchargement d’une distribution linux :
magnet: ?xt=urn:btih:c179f2885583cea6f83a9f95a461bb1c484cb2de&dn=Kali+Linux+32+bit+ISO+v1.0.7&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Fzer0day.ch%3A1337&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969& tr=udp%3A%2F%2Fexodus.desync.com%3A6969

Dans la pratique, il suffit à l’utilisateur de disposer d’un logiciel sur son poste (on parle de logiciel client, ou simplement « client ») qui va superviser l’utilisation du protocole BitTorrent (µTorrent, Bittorrent, Transmission, …), et de sélectionner un lien magnet ou télécharger un fichier .torrent correspondant à la ressource du fichier à télécharger.

Et la sécurité dans tout ça ?

Le téléchargement en peer-to-peer a la réputation (parfois justifiée) d’être beaucoup utilisé pour des transfert illégaux (films ou séries piratés par exemple), ce qui conduit à une méfiance générale vis-à-vis de ce type de protocole.

De nombreuses plateformes de téléchargement torrent ont ainsi été fermées par le passé (LimeWire, T411, ThePirateBay…), du fait qu’ils proposaient librement le téléchargement des fichiers piratés (séries, logiciels, … ), et surtout protégés par le droit d’auteur.
En raison de sa structure, de l’anonymité et de la multiplicité des nœuds, ainsi que du chiffrement des échanges, il est cependant difficile de démanteler intégralement un réseau distribué (le même problème se pose avec le réseau TOR). Il est nettement plus simple de démanteler un site illégal en téléchargement direct, dans la mesure où le serveur et son propriétaire sont plus facilement identifiables (fermeture de Megaupload par exemple).

La plupart de ces sites ont donc une certaine résilience vis-à-vis des fermetures juridiques, ThePirateBay (notamment) a été démantelé par la justice suédoise plusieurs fois, mais est réapparu sous de nouvelles formes, avec des serveurs hébergés dans des domaines où la loi est plus permissive (ou les autorités moins regardantes).

Il est cependant très peu recommandé de télécharger des logiciels commerciaux sur ce type de site pirate, car les sources sont anonymes, souvent illégales et qu’il est difficile de vérifier l’authenticité des fichiers ou leur innocuité.
De très nombreux virus seraient ainsi propagés à travers des fichiers disponibles au téléchargement torrent, une estimation était faite que 30% des logiciels disponibles via torrent seraient vérolés.

D’autre part, du fait que le téléchargement est fait à travers de multiples connexions à des nœuds du réseau, il est beaucoup plus facile pour les autorités de détecter un téléchargement illégal via torrent, car il suffit qu’un nœud (ou un tracker) soit repéré ou serve de mouchard pour que le transfert puisse être reconnu comme illégal. Un établissement de l’activité réseau d’un ordinateur permet assez facilement de reconnaître un pattern (ou motif) indiquant un téléchargement en torrent.
A ce propos, les avertissements adressés par Hadopi (Haute Autorité pour la Diffusion des Ouvres et la Protection des droits sur Internet) ne font suite presque qu’exclusivement à des téléchargements en peer-to-peer.

BitTorrent, qu’en penser ?

Personne en blouse blanche ne sachant que penser du téléchargement en torrent

Le protocole BitTorrent fait donc partie des nombreuses initiatives pour promouvoir la décentralisation des échanges, et constitue une solution de très b

on choix pour partager des ressources légales lorsqu’on ne dispose pas d’une infrastructure centralisée pour rendre disponible ces fichiers.

Cependant, il illustre bien le côté sombre de ce type de d’initiatives, car bien qu’il ne soit pas dangereux ou illégal en soi, il permet à des personnes mal intentionnées de propager des fichiers protégés par le droit d’auteur, ou de répandre des virus.
Le même type de dilemme s’applique évidemment à de nombreux autres cas de systèmes anonymisés et décentralisés, qui ont une sulfureuse réputation du fait de leur utilisation fréquente à des fins illégales voir criminelles : cryptomonnaies, messageries chiffrées, réseau Tor, VPN..

Faut-il donc s’en méfier et punir les contrevenants (France, Royaume-Uni, Allemagne, Canada, …) voire les interdire totalement (Chine, Etats-Unis, Australie, Russie, …) ?
Il faut ainsi rappeler que le torrent n’est qu’un outil d’échange extrêmement bien conçu et pratique, mais qu’il faut exercer une vigilance réelle vis-à-vis des ressources que l’on peut y trouver et de la protection des droits d’auteur.

Pour aller plus loin :