A libtorrent 2.0 kiadása a BitTorrent 2 protokoll támogatásával

Megjelent a libtorrent 2.0 (más néven libtorrent-rasterbar) jelentős kiadása, amely a BitTorrent protokoll memória- és CPU-hatékony megvalósítását kínálja. A könyvtárat olyan torrent kliensekben használják, mint a Deluge, qBittorrent, Folx, Lince, Miro és Flush (nem tévesztendő össze a másik libtorrent könyvtárral, amelyet az rTorrentben használnak). A libtorrent kód C++ nyelven íródott és BSD licenc alatt terjeszthető.

A kiadás figyelemreméltó a BitTorrent v2 protokoll támogatásával, amely az SHA1-2 javára eltér az SHA-256 algoritmus használatától, amely problémákkal küzd az ütközések kiválasztásával. Az SHA2-256 mind az adatblokkok integritásának vezérlésére, mind az indexek (információs szótár) bejegyzéseire használható, ami sérti a DHT-vel és a nyomkövetőkkel való kompatibilitást. Az SHA2-256 hash-ekkel rendelkező torrentekre mutató mágneses hivatkozásokhoz új „urn:btmh:” előtag javasolt (SHA-1 és hibrid torrentek esetén az „urn:btih:” előtagot használjuk).

Mivel a hash függvény cseréje megszakítja a protokollkompatibilitást (a hash mező 32 bájt 20 bájt helyett), a BitTorrent v2 specifikációt kezdetben a visszamenőleges kompatibilitás figyelembevétele nélkül fejlesztették ki, és más jelentős változtatásokat is elfogadtak, mint például a Merkle hash fák használata az indexekben. a torrentfájlok méretének csökkentése és a letöltött adatok blokkszintű ellenőrzése.

A BitTorrent v2 változásai közé tartozik még az átállás arra, hogy minden fájlhoz külön hash-fát rendeljenek, valamint a fájlok részenkénti igazítása (anélkül, hogy minden egyes fájl után további kitöltést adna hozzá), amely lehetővé teszi, hogy megszabaduljon az adatok megkettőződésétől azonos fájlok jelenlétében. és megkönnyíti a fájlok különböző forrásainak azonosítását. A torrent-könyvtárszerkezet-kódolás hatékonyságának javítása és a nagyszámú kis fájl kezeléséhez hozzáadott optimalizálás.

A BitTorrent v1 és a BitTorrent v2 együttélésének kiegyenlítése érdekében hibrid torrent fájlok létrehozásának lehetőségét valósították meg, amelyek az SHA-1 hashekkel rendelkező struktúrákon kívül SHA2-256-os indexeket is tartalmaznak. Ezek a hibrid torrentek olyan kliensekkel használhatók, amelyek csak a BitTorrent v1 protokollt támogatják. A megoldatlan stabilitási problémák miatt a WebTorrent protokoll várható támogatása a libtorrent 2.0-ban a következő nagyobb kiadásig csúszott, ami csak az év végén fog megjelenni.

Forrás: linux.org.ru