Vydanie libtorrent 2.0 s podporou protokolu BitTorrent 2

Predstavuje sa významná verzia knižnice libtorrent 2.0 (známa aj ako libtorrent-rasterbar), ktorá poskytuje pamäťovo a procesorovo efektívnu implementáciu protokolu BitTorrent. Knižnicu používajú torrent klienti ako Deluge, qBittorrent, Folx, Lince, Miro a Flush (nezamieňať s inou knižnicou libtorrent používanou rTorrent). Kód libtorrentu je napísaný v C++ a distribuovaný pod licenciou BSD.

Vydanie je pozoruhodné pridaním podpory pre protokol BitTorrent v2, ktorý sa vzdialil od používania algoritmu SHA-1, ktorý má problémy s výberom kolízií, v prospech SHA2-256. SHA2-256 sa používa ako na kontrolu integrity dátových blokov, tak aj na záznamy v indexoch (info-slovník), čo narúša kompatibilitu s DHT a trackermi. Pre magnetické odkazy na torrenty s hash SHA2-256 bola navrhnutá nová predpona „urn:btmh:“ (pre SHA-1 a hybridné torrenty sa používa „urn:btih:“).

Keďže zmena hašovacej funkcie narúša kompatibilitu protokolu (pole s hashom 32 bajtov namiesto 20 bajtov), ​​vývoj špecifikácie BitTorrent v2 sa spočiatku vykonával bez ohľadu na spätnú kompatibilitu a boli prijaté ďalšie významné zmeny, ako napr. použitie Merkleho hash stromu v indexoch na zmenšenie veľkosti torrent súborov a kontrola stiahnutých dát na úrovni bloku.

Ďalšie zvýraznenia zmien v BitTorrent v2 sa presúvajú k priradeniu samostatných hash stromov pre každý súbor a aplikovaniu zarovnania súborov po častiach (bez pridania ďalších výplní za každý súbor), čo eliminuje duplicitu údajov, keď existujú identické súbory, a uľahčuje identifikáciu. rôzne zdroje súborov. Vylepšená efektívnosť kódovania adresárovej štruktúry torrentu a pridané optimalizácie na spracovanie veľkého počtu malých súborov.

Na vyhladenie koexistencie BitTorrent v1 a BitTorrent v2 je implementovaná možnosť vytvárať hybridné torrentové súbory, ktoré okrem štruktúr s hash SHA-1 obsahujú aj indexy s SHA2-256. Tieto hybridné torrenty možno použiť s klientmi, ktorí podporujú iba protokol BitTorrent v1. Kvôli nevyriešeným problémom so stabilitou bola podpora protokolu WebTorrent očakávaná v libtorrent 2.0 odložená až do ďalšieho veľkého vydania, ktoré bude vydané najskôr koncom roka.

Zdroj: linux.org.ru