Llançament de libtorrent 2.0 amb suport per al protocol BitTorrent 2

S'introdueix una versió significativa de la biblioteca libtorrent 2.0 (també coneguda com libtorrent-rasterbar), que proporciona una implementació eficient de la memòria i la CPU del protocol BitTorrent. La biblioteca és utilitzada per clients de torrent com Deluge, qBittorrent, Folx, Lince, Miro i Flush (no s'ha de confondre amb l'altra biblioteca de libtorrent utilitzada per rTorrent). El codi libtorrent està escrit en C++ i distribuït sota la llicència BSD.

El llançament destaca per la incorporació del suport per al protocol BitTorrent v2, que es va allunyar de l'ús de l'algoritme SHA-1, que té problemes amb la selecció de col·lisions, a favor de SHA2-256. SHA2-256 s'utilitza tant per controlar la integritat dels blocs de dades com per a les entrades als índexs (info-diccionari), cosa que trenca la compatibilitat amb DHT i rastrejadors. S'ha proposat un nou prefix "urn:btmh:" per als enllaços magnètics a torrents amb hash SHA2-256 (per a SHA-1 i torrents híbrids, s'utilitza "urn:btih:").

Atès que el canvi en la funció hash trenca la compatibilitat del protocol (un camp amb un hash de 32 bytes en lloc de 20 bytes), el desenvolupament de l'especificació BitTorrent v2 es va dur a terme inicialment sense tenir en compte la compatibilitat enrere i es van adoptar altres canvis significatius, com ara el ús d'un arbre hash de Merkle als índexs per reduir la mida dels fitxers torrent i comprovar les dades descarregades a nivell de bloc.

Altres aspectes destacats dels canvis a BitTorrent v2 són l'associació d'arbres hash separats per a cada fitxer i l'aplicació de l'alineació de fitxers en parts (sense afegir farciment addicional després de cada fitxer), cosa que elimina la duplicació de dades quan hi ha fitxers idèntics i facilita la identificació. diferents fonts per als fitxers. S'ha millorat l'eficiència de codificació de l'estructura de directoris del torrent i s'han afegit optimitzacions per gestionar un gran nombre de fitxers petits.

Per suavitzar la coexistència de BitTorrent v1 i BitTorrent v2, s'implementa la possibilitat de crear fitxers torrent híbrids, que inclouen, a més d'estructures amb hash SHA-1, índexs amb SHA2-256. Aquests torrents híbrids es poden utilitzar amb clients que només admeten el protocol BitTorrent v1. A causa de problemes d'estabilitat no resolts, el suport per al protocol WebTorrent esperat a libtorrent 2.0 s'ha endarrerit fins a la propera versió principal, que es publicarà no abans de finals d'any.

Font: linux.org.ru