Accueil > La technologie > BitTorrent >
Libtorrent vient de sortir la version 2.0, qui pourrait changer la donne. La bibliothèque BitTorrent, qui est utilisée par des clients populaires tels que uTorrent Web, Deluge et qBittorrent, ajoute la prise en charge de la nouvelle spécification du protocole BitTorrent v2. Cela ouvre la porte à diverses nouvelles fonctionnalités et introduit un nouveau format torrent, qui crée un essaim séparé.
Des millions de personnes utilisent BitTorrent chaque jour, mais seuls quelques-uns connaissent tous les tenants et les aboutissants de son fonctionnement.
Pendant ce temps, un groupe encore plus restreint participe activement à façonner l’avenir du protocole de partage de fichiers.
BitTorrent a été rendu public pour la première fois par l’inventeur Bram Cohen il y a près de deux décennies. Bien qu’il ait été rapidement adopté par les masses, le protocole lui-même était loin d’être parfait. Au fil des ans, de nombreuses nouvelles fonctionnalités ont été ajoutées, notamment DHT, les trackers UDP, l’échange entre pairs et la prise en charge du streaming.
En tant que développeur de l’une des principales bibliothèques BitTorrent, Libtorrent, Arvid Norberg a été étroitement impliqué dans l’élaboration du protocole. C’est son code qui permet à une grande variété de clients torrent de fonctionner correctement. Cela inclut uTorrent Web, Deluge et qBittorrent.
LibTorrent 2.0 et BitTorrent v2
Cette semaine, Norberg a annoncé la dernière version de Libtorrent; version 2.0. Cette nouvelle version est accompagnée de nombreux changements qui finiront par se retrouver dans les clients torrent. Le plus crucial est l’implémentation de la spécification du protocole BitTorrent v2.
BitTorrent v2 est une version améliorée des premiers standards BitTorrent et inclut plusieurs modifications techniques. Il a été proposé pour la première fois par Bram Cohen en 2008 et mis à jour et amélioré en cours de route. Étant donné que la plupart des changements ont lieu sous le capot, le grand public ne les reconnaîtra pas immédiatement, sauf un.
Les lecteurs experts en technologie peuvent aperçu complet du site Libtorrent mais par souci de simplicité, nous nous concentrerons sur la manière dont les changements affecteront les utilisateurs.
Torrents V2 et essaims séparés
BitTorrent v2 change la façon dont les torrents sont «compilés» et la nouvelle version n’est pas rétrocompatible. Les torrents plus anciens ont un hachage SHA-1 et les nouvelles versions utilisent le hachage SHA-256. Cela signifie qu’à l’avenir, il y aura différentes versions de torrent.
Ces différents torrents (v1 et v2) créeront également des essaims de torrent séparés. Les personnes qui téléchargent un torrent v1 ne peuvent rien partager avec les personnes qui téléchargent un torrent v2 et vice versa. Bien que cela ressemble à un pas en arrière, la réalité n’est pas si mauvaise.
Il existe une option pour créer des torrents dits «hybrides» qui peuvent se connecter aux deux essaims. Ce sont essentiellement deux torrents en un. En conséquence, tous les torrents auront le même nombre de personnes partageant.
«Un client compatible v2 serait toujours en mesure de parler à tous ses pairs, et l’échange de pairs fonctionnerait toujours entre les pairs activés v1 et v2. Le principal impact, je pense, est qu’un pair compatible v2 annoncerait deux fois pour un torrent hybride, une fois pour chaque info-hachage. Aux trackers et à la DHT », nous dit Norberg
Pour l’instant, il est logique que les éditeurs, y compris les sites torrent, utilisent mieux les torrents hybrides. Après tout, les torrents qui n’utilisent que la spécification v2 auront accès à un nombre limité de pairs. Norberg est d’accord.
«Je pense qu’il serait logique que les éditeurs génèrent des torrents hybrides. Au moins, essayez-le pour vous assurer qu’il fonctionne bien. Les torrents v2 uniquement n’auraient de sens que pour les écosystèmes fermés pour le moment, où l’éditeur contrôle également tous les clients. »
Changements importants sous le capot
Alors que les nouveaux torrents sont le changement le plus visible, pour les étrangers, ce n’est qu’un sous-produit de changements importants sous le capot. Par exemple, le passage du hachage SHA-1 à SHA-256 empêchera une éventuelle collision de hachage, qui peut être utilisée pour des attaques et des exploits.
Norberg dit que le risque de ces attaques est principalement théorique, mais cela peut changer avec le temps. Il est donc judicieux de passer à SHA-256. Un changement encore plus excitant, selon le développeur, est l’utilisation d ‘«arbres de hachage de merkle par fichier» pour les hachages de morceaux.
En termes simples, cela signifie que tous les fichiers d’un torrent auront leur propre identifiant unique (hachage). Ainsi, une collection de 100 photos aura un hash unique pour chaque photo. Cela présente plusieurs avantages.
Par exemple, cela permettra aux clients torrent de vérifier rapidement s’ils reçoivent le bon fichier. Cela empêche les attaques de pollution qui peuvent être utilisées par des tiers pour ralentir les transferts de torrents.
«Avec les arbres de hachage v2, les données corrompues seront immédiatement détectées et le pair qui en est responsable peut être déconnecté. Actuellement, il y a une heuristique plus complexe impliquée dans l’attribution de données corrompues à un pair, ce qui signifie qu’un pair malveillant peut faire un peu plus de dégâts avant d’être déconnecté », explique Norberg.
Torrents mutables et essaims fusionnants
De plus, cela permet aux pairs d’obtenir le même fichier à partir de plusieurs torrents. C’est déjà techniquement possible aujourd’hui, comme le montre la fonctionnalité de «fusion en essaim» de BiglyBT, mais avec des hachages de fichiers uniques, c’est plus facile et plus fiable.
«Faire cela est techniquement possible aujourd’hui, mais le faire fonctionner généralement pour des torrents arbitraires est très compliqué. Le fait d’avoir des «arbres merkle par fichier» simplifie grandement la mise en œuvre de cela », note Norberg.
Il en va de même pour les soi-disant «torrents mutables» où les éditeurs peuvent mettre à jour des torrents pour ajouter ou supprimer des fichiers. C’est beaucoup plus facile avec BitTorrent v2.
Enfin, nous devons mentionner que ce ne sont pas seulement les fichiers .torrent qui vont changer. Les liaisons magnétiques v2 et hybrides sont également différentes. Et ils commenceront probablement à télécharger plus rapidement, car le transfert initial de tous les hachages de morceaux sera plus petit. Cela est particulièrement visible lors de la diffusion en continu ou du téléchargement de grandes archives.
La rapidité avec laquelle les torrents v2 fonctionneront dépend de la mise à jour des clients vers la dernière version de Libtorrent. Cela peut prendre des jours, mais aussi plus d’un an. Le moment où les grands éditeurs et les sites torrent adopteront les changements est également incertain, mais finalement, c’est la voie à suivre pour tous.