Résumé

  • BitTorrent a transféré une grande partie du trafic d’un fichier populaire de l’éditeur vers les personnes qui le téléchargeaient. Le serveur web, le tracker et la première graine complète restaient nécessaires.
  • Le choking réciproque décrit par Cohen relevait d’une stratégie de client, pas d’une obligation inscrite dans le protocole filaire. Un pair pouvait partager davantage qu’il ne recevait, limiter son apport à ce qui améliorait son propre débit ou cesser de partager.
  • Une étude de 2007 a montré qu’un client stratégique pouvait réduire son envoi tout en améliorant sa performance individuelle. Elle décrit les essaims et les mesures de cette période, pas tous ceux qui ont suivi.

Quand le fichier emporte aussi sa capacité de diffusion

Dans un téléchargement HTTP classique, c’est le serveur d’origine qui transmet chaque copie. Lorsqu’un fichier attire soudain beaucoup de monde, l’éditeur doit acheter ou réserver davantage de capacité sortante, ou accepter des téléchargements plus lents. Dans son article de 2003, Bram Cohen propose de déplacer une partie de cette tâche : dès que plusieurs personnes téléchargent le même fichier, elles s’échangent des morceaux et deviennent elles-mêmes des points de distribution.

Le changement est économique avant d’être comptable. La capacité de diffusion ne provient plus uniquement de l’hébergeur : elle augmente avec les pairs qui rejoignent l’essaim et disposent de morceaux utiles. Cohen estimait que cette répartition pouvait rendre abordable la diffusion de fichiers très populaires, notamment lorsque la bande passante montante des internautes n’était pas facturée au volume. Cette hypothèse n’est pas universelle. Une connexion non plafonnée n’est pas sans coût, et les tarifs, les capacités et les conditions d’accès diffèrent selon les réseaux.

La source conserve aussi des fonctions précises. L’éditeur place un fichier de métadonnées .torrent sur un serveur web ordinaire ; un tracker aide les téléchargeurs à se trouver ; une graine qui possède le fichier complet doit lancer la distribution. Cohen jugeait faibles les besoins en bande passante du serveur et du tracker par rapport aux transferts de fichiers, mais la graine doit transmettre au moins un exemplaire entier. BitTorrent déplace le gros du trafic sans faire disparaître l’origine.

Parler d’une baisse automatique du coût d’hébergement confond donc deux choses. L’éditeur peut envoyer moins de données, mais l’effet sur sa facture dépend du prix du trafic, des limites de capacité, de la contribution des internautes et du temps pendant lequel une copie complète reste disponible. La charge ne s’évapore pas : elle se répartit entre les opérateurs et les participants.

La réciprocité organisait l’échange, elle ne l’imposait pas

Cohen décrit des pairs qui choisissent leurs partenaires d’envoi avec une variante du tit-for-tat. Un client peut « étouffer » temporairement une connexion, c’est-à-dire cesser de lui envoyer des données sans interrompre la possibilité d’en télécharger. Un déblocage optimiste essaie périodiquement un pair inutilisé, afin de découvrir si une meilleure relation d’échange est possible.

La nuance technique est décisive : Cohen précise que l’algorithme de choking ne fait pas partie, au sens strict, du protocole filaire de BitTorrent. Le protocole permet l’échange de données et de signaux ; le choix des pairs qu’un client sert reste une politique d’implémentation. La formule « BitTorrent garantit l’échange réciproque » promet donc trop. Les morceaux disponibles, la durée des connexions, la capacité montante et les choix du client déterminent ce qui se passe réellement.

Le choix de l’éditeur compte tout autant. C’est lui qui décide de distribuer un fichier par BitTorrent ; les internautes l’adoptent parce que c’est le moyen d’obtenir le fichier voulu. Cohen souligne aussi que l’interface très simple a joué un rôle important dans l’adoption, peut-être plus important que les gains de performance et la redistribution des coûts. Un mécanisme d’incitation ne suffit pas si l’accès au système est pénible.

Ce que l’expérience de 2007 a mis à l’épreuve

En 2007, Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy et Arun Venkataramani ont repris la question de la robustesse des incitations. Leur étude USENIX, fondée sur des modèles alimentés par des traces réelles, conclut que les pairs fournissaient des ressources qui n’amélioraient pas directement leur propre performance. Leur client BitTyrant cherchait à exploiter cette marge en ajustant les pairs actifs et le débit envoyé à chacun.

Le résumé de la conférence fait état d’un gain médian de performance de 70 % pour un client à 1 Mbit/s dans les essaims réels mesurés. Les auteurs avertissent aussi qu’une adoption généralisée de clients stratégiques pourrait détériorer la performance moyenne par essaim par rapport aux clients qu’ils ont étudiés. Le résultat contredit l’idée que le tit-for-tat suffisait à garantir une contribution robuste ; il ne prédit ni tous les clients ni les essaims actuels. Le chiffre de 70 % n’est pas une promesse générale.

La distinction utile oppose une règle qui oriente les échanges à une règle capable d’imposer une contribution. La réciprocité locale pouvait récompenser les envois utiles, mais l’optimistic unchoke et les écarts de capacité laissaient subsister des contributions sans retour direct. Un client stratégique pouvait tenter d’en capter une partie. L’effet d’une telle stratégie à grande échelle dépendait des comportements et de la capacité réellement disponible.

L’origine reste un point de décision

La décision de publier met l’essaim en mouvement : déposer les métadonnées, maintenir un tracker ou une autre voie de découverte des pairs et lancer une graine complète. Après cela, chaque client gouverne sa propre contribution. Dans le modèle décrit par Cohen, aucun répartiteur central ne distribue à chacun une part obligatoire du travail d’envoi.

Cette liberté crée de la souplesse, mais aussi une exposition. L’éditeur peut s’appuyer sur les pairs pour faire évoluer la diffusion sans acheter seul toute la capacité sortante. Les participants peuvent choisir combien de temps ils restent en partage. Pourtant, l’existence du protocole ne prouve pas qu’une capacité montante durable sera présente. Si la graine s’arrête avant que toutes les pièces aient été répliquées, ou si le dernier pair détenant une pièce rare se déconnecte, le fichier peut devenir incomplet.

La sélection « rarest first » accélère la réplication des morceaux peu présents ; elle ne peut pas les recréer après leur disparition.

La bonne question opérationnelle n’est donc pas de savoir si BitTorrent a « résolu » l’hébergement. Il faut mesurer la part du trafic encore envoyée par l’origine, celle réellement absorbée par les pairs et la durée pendant laquelle une copie complète reste accessible. Cohen a transformé des téléchargeurs en distributeurs potentiels. Les travaux ultérieurs montrent pourquoi cette capacité doit être observée plutôt que supposée.

Sources