Izdaja libtorrent 2.0 s podporo za protokol BitTorrent 2

Predstavljena je bila glavna izdaja libtorrent 2.0 (znana tudi kot libtorrent-rasterbar), ki ponuja implementacijo protokola BitTorrent, ki učinkovito porablja pomnilnik in procesor. Knjižnica se uporablja v torrent odjemalcih, kot so Deluge, qBittorrent, Folx, Lince, Miro in Flush (ne zamenjujte je z drugo knjižnico libtorrent, ki se uporablja v rTorrentu). Koda libtorrent je napisana v C++ in se distribuira pod licenco BSD.

Izdaja je znana po dodatku podpore za protokol BitTorrent v2, ki se odmika od uporabe algoritma SHA-1, ki ima težave z izbiro kolizije, v korist SHA2-256. SHA2-256 se uporablja tako za nadzor celovitosti podatkovnih blokov kot za vnose v indekse (info-slovar), kar krši združljivost z DHT in sledilci. Za magnetne povezave do torrentov z zgoščenimi vrednostmi SHA2-256 je predlagana nova predpona »urn:btmh:« (za SHA-1 in hibridne torrente se uporablja »urn:btih:«).

Ker zamenjava zgoščevalne funkcije prekine združljivost protokola (razpršitveno polje je 32 bajtov namesto 20 bajtov), ​​je bila specifikacija BitTorrent v2 sprva razvita brez upoštevanja združljivosti za nazaj, sprejete pa so bile tudi druge pomembne spremembe, kot je uporaba Merkleovih zgoščevalnih dreves v indeksih za zmanjšanje velikosti torrent datotek in preverjanje prenesenih podatkov na ravni bloka.

Spremembe v BitTorrent v2 vključujejo tudi prehod na dodeljevanje ločenih hash dreves vsaki datoteki in uporabo poravnave datotek po delih (brez dodajanja dodatnega oblazinjenja za vsako datoteko), kar odpravlja podvajanje podatkov, ko obstajajo enake datoteke, in omogoča lažjo identifikacijo različni viri za datoteke. Izboljšana učinkovitost kodiranja strukture imenikov torrentov in dodane optimizacije za obdelavo velikega števila majhnih datotek.

Da bi olajšali soobstoj BitTorrent v1 in BitTorrent v2, je bila uvedena možnost ustvarjanja hibridnih torrent datotek, ki poleg struktur z zgoščenimi vrednostmi SHA-1 vključujejo tudi indekse s SHA2-256. Ti hibridni torrenti se lahko uporabljajo z odjemalci, ki podpirajo samo protokol BitTorrent v1. Zaradi nerešenih težav s stabilnostjo je bila pričakovana podpora za protokol WebTorrent v libtorrent 2.0 odložena do naslednje večje izdaje, ki bo izšla šele konec leta.

Vir: linux.org.ru