Sortie de libtorrent 2.0 avec prise en charge du protocole BitTorrent 2

Introduit sortie importante de la bibliothèque libtorrent 2.0 (également connu sous le nom de libtorrent-rasterbar), qui propose une implémentation du protocole BitTorrent efficace en termes de consommation mémoire et de charge CPU. Bibliothèque impliqué dans les clients torrent tels que Déluge, qBittorrent, Folx, Lynx, Miro и Flush (à ne pas confondre avec une autre bibliothèque libtorrent, qui est utilisé dans rTorrent). Le code de libtorrent est écrit en C++ et distribué par sous licence BSD.

La sortie est remarquable ajouter prise en charge du protocole BitTorrent v2, ce qui évite d'utiliser l'algorithme SHA-1, qui a problèmes avec sélection de collision en faveur de SHA2-256. SHA2-256 est utilisé à la fois pour contrôler l'intégrité des blocs de données et pour les entrées dans les index (info-dictionnaire), ce qui viole la compatibilité avec DHT et les trackers. Pour les liens magnétiques vers des torrents avec des hachages SHA2-256, un nouveau préfixe « urn:btmh: » est proposé (pour les torrents SHA-1 et hybrides, « urn:btih: » est utilisé).

Étant donné que le remplacement de la fonction de hachage interrompt la compatibilité du protocole (le champ de hachage fait 32 octets au lieu de 20 octets), la spécification BitTorrent v2 a été initialement développée sans tenir compte de la compatibilité ascendante et d'autres changements importants ont été adoptés, tels que l'utilisation d'arbres de hachage Merkle dans les index. pour réduire la taille des fichiers torrent et vérifier les données téléchargées au niveau du bloc.

Les modifications apportées à BitTorrent v2 incluent également la transition vers l'attribution d'arbres de hachage distincts à chaque fichier et l'utilisation de l'alignement des fichiers par parties (sans ajouter de remplissage supplémentaire après chaque fichier), ce qui élimine la duplication de données lorsqu'il existe des fichiers identiques et facilite leur identification. différentes sources pour les fichiers. Amélioration de l'efficacité de l'encodage de la structure des répertoires torrent et ajout d'optimisations pour la gestion d'un grand nombre de petits fichiers.

Pour faciliter la coexistence de BitTorrent v1 et BitTorrent v2, la possibilité de créer des fichiers torrent hybrides a été implémentée, qui incluent, en plus des structures avec hachages SHA-1, des index avec SHA2-256.
Ces torrents hybrides peuvent être utilisés avec des clients prenant uniquement en charge le protocole BitTorrent v1. Prise en charge du protocole WebTorrent attendue dans libtorrent 2.0 en raison de problèmes de stabilité non résolus reporté jusqu'à la prochaine version majeure, qui ne sortira qu'à la fin de l'année.

Source: opennet.ru

Ajouter un commentaire