Išleistas libtorrent 2.0 su „BitTorrent 2“ protokolo palaikymu

Buvo pristatytas pagrindinis libtorrent 2.0 (taip pat žinomas kaip libtorrent-rasterbar) leidimas, siūlantis atmintį ir centrinį procesorių efektyvų BitTorrent protokolo įgyvendinimą. Biblioteka naudojama tokiuose torrent klientuose kaip Deluge, qBittorrent, Folx, Lince, Miro ir Flush (nepainiokite su kita libtorrent biblioteka, kuri naudojama rTorrent). Libtorrent kodas parašytas C++ kalba ir platinamas pagal BSD licenciją.

Išleidimas pastebimas tuo, kad buvo papildytas „BitTorrent v2“ protokolo palaikymas, kuris nutolsta nuo SHA-1 algoritmo, turinčio problemų dėl susidūrimo pasirinkimo, naudojimo SHA2-256 naudai. SHA2-256 naudojamas tiek duomenų blokų vientisumui kontroliuoti, tiek indeksų (informacijos žodyno) įrašams, o tai pažeidžia suderinamumą su DHT ir stebėjimo priemonėmis. Magnetinėms nuorodoms į torrentus su SHA2-256 maišais siūlomas naujas priešdėlis „urn:btmh:“ (SHA-1 ir hibridiniams torrentams naudojamas „urn:btih:“).

Kadangi pakeitus maišos funkciją pažeidžiamas protokolų suderinamumas (maišos laukas yra 32 baitai vietoj 20 baitų), BitTorrent v2 specifikacija iš pradžių buvo sukurta neatsižvelgiant į atgalinį suderinamumą ir buvo priimti kiti reikšmingi pakeitimai, pavyzdžiui, Merkle maišos medžių naudojimas indeksuose. sumažinti torrent failų dydį ir tikrinti atsisiųstus duomenis bloko lygiu.

BitTorrent v2 pakeitimai taip pat apima perėjimą prie atskirų maišos medžių priskyrimo kiekvienam failui ir failų lygiavimo dalimis (nepridedant papildomo užpildymo po kiekvieno failo), kuris pašalina duomenų dubliavimąsi, kai yra identiški failai, ir palengvina identifikavimą. skirtingi failų šaltiniai. Pagerintas torrent katalogų struktūros kodavimo efektyvumas ir papildomas optimizavimas tvarkant didelį skaičių mažų failų.

Siekiant išlyginti BitTorrent v1 ir BitTorrent v2 sambūvį, buvo įdiegta galimybė kurti hibridinius torrent failus, kurie, be struktūrų su SHA-1 maišais, apima indeksus su SHA2-256. Šiuos hibridinius torrentus galima naudoti su klientais, kurie palaiko tik „BitTorrent v1“ protokolą. Dėl neišspręstų stabilumo problemų numatomas WebTorrent protokolo palaikymas libtorrent 2.0 versijoje buvo atidėtas iki kito didelio leidimo, kuris bus išleistas tik metų pabaigoje.

Šaltinis: linux.org.ru