Vydání libtorrent 2.0 s podporou protokolu BitTorrent 2

Byla představena hlavní verze libtorrent 2.0 (také známá jako libtorrent-rasterbar), která nabízí implementaci protokolu BitTorrent, která je efektivní z hlediska paměti a CPU. Knihovna se používá v takových torrentových klientech, jako jsou Deluge, qBittorrent, Folx, Lince, Miro a Flush (nezaměňovat s další knihovnou libtorrent, která se používá v rTorrent). Kód libtorrentu je napsán v C++ a distribuován pod licencí BSD.

Vydání je pozoruhodné přidáním podpory pro protokol BitTorrent v2, který ustupuje od používání algoritmu SHA-1, který má problémy s výběrem kolizí, ve prospěch SHA2-256. SHA2-256 se používá jak pro kontrolu integrity datových bloků, tak pro záznamy v indexech (info-slovník), což narušuje kompatibilitu s DHT a trackery. Pro magnetické odkazy na torrenty s hash SHA2-256 je navržena nová předpona „urn:btmh:“ (pro SHA-1 a hybridní torrenty se používá „urn:btih:“).

Vzhledem k tomu, že nahrazení hašovací funkce narušuje kompatibilitu protokolu (hašovací pole má 32 bajtů místo 20 bajtů), byla specifikace BitTorrent v2 původně vyvinuta bez ohledu na zpětnou kompatibilitu a byly přijaty další významné změny, jako je použití Merkle hash stromů v indexech. pro zmenšení velikosti torrent souborů a kontrolu stažených dat na úrovni bloku.

Změny ve verzi BitTorrent v2 zahrnují také přechod na přiřazování samostatných hashových stromů ke každému souboru a použití zarovnání souborů po částech (bez přidávání dalšího odsazení za každý soubor), což vám umožní zbavit se duplikace dat v přítomnosti identických souborů a usnadňuje identifikaci různých zdrojů souborů. Vylepšená efektivita kódování adresářové struktury torrentu a přidané optimalizace pro zpracování velkého množství malých souborů.

Pro vyhlazení koexistence BitTorrentu v1 a BitTorrentu v2 byla implementována možnost vytvářet hybridní torrentové soubory, které kromě struktur s hash SHA-1 zahrnují i ​​indexy s SHA2-256. Tyto hybridní torrenty lze používat s klienty, kteří podporují pouze protokol BitTorrent v1. Kvůli nevyřešeným problémům se stabilitou byla očekávaná podpora protokolu WebTorrent v libtorrentu 2.0 odložena až do příští hlavní verze, která bude vydána až koncem roku.

Zdroj: linux.org.ru