Lanzamento de libtorrent 2.0 con soporte para o protocolo BitTorrent 2

Introduciuse unha versión importante de libtorrent 2.0 (tamén coñecida como libtorrent-rasterbar), que ofrece unha implementación eficiente de memoria e CPU do protocolo BitTorrent. A biblioteca úsase en clientes de torrent como Deluge, qBittorrent, Folx, Lince, Miro e Flush (non debe confundirse coa outra biblioteca de libtorrent, que se usa en rTorrent). O código libtorrent está escrito en C++ e distribúese baixo a licenza BSD.

O lanzamento destaca pola incorporación do soporte para o protocolo BitTorrent v2, que se afasta do uso do algoritmo SHA-1, que ten problemas coa selección de colisións, en favor de SHA2-256. SHA2-256 úsase tanto para controlar a integridade dos bloques de datos como para as entradas nos índices (dicionario de información), o que infrinxe a compatibilidade con DHT e rastreadores. Para ligazóns magnéticas a torrents con hash SHA2-256, proponse un novo prefixo "urn:btmh:" (para SHA-1 e torrents híbridos, úsase "urn:btih:").

Dado que a substitución da función hash rompe a compatibilidade do protocolo (o campo hash é de 32 bytes en lugar de 20 bytes), a especificación BitTorrent v2 desenvolveuse inicialmente sen ter en conta a compatibilidade con versións anteriores e adoptáronse outros cambios significativos, como o uso de árbores hash de Merkle nos índices. para reducir o tamaño dos ficheiros torrent e comprobar os datos descargados a nivel de bloque.

Os cambios en BitTorrent v2 tamén inclúen a transición á asignación de árbores hash separadas a cada ficheiro e o uso do aliñamento de ficheiros en partes (sen engadir recheos adicionais despois de cada ficheiro), o que elimina a duplicación de datos cando hai ficheiros idénticos e facilita a súa identificación. fontes diferentes para ficheiros. Mellora a eficiencia da codificación da estrutura de directorios torrent e engadíronse optimizacións para manexar un gran número de ficheiros pequenos.

Para suavizar a coexistencia de BitTorrent v1 e BitTorrent v2, implantouse a posibilidade de crear ficheiros torrent híbridos, que inclúen, ademais de estruturas con hash SHA-1, índices con SHA2-256. Estes torrents híbridos pódense usar con clientes que só admitan o protocolo BitTorrent v1. Debido a problemas de estabilidade non resoltos, o soporte esperado para o protocolo WebTorrent en libtorrent 2.0 atrasouse ata a próxima versión principal, que non se lanzará ata finais de ano.

Fonte: linux.org.ru