Libtorrent 2.0 izlaišana ar BitTorrent 2 protokola atbalstu

Ir ieviesta liela libtorrent 2.0 (pazīstama arī kā libtorrent-rasterbar) versija, kas piedāvā BitTorrent protokola atmiņu un centrālo procesoru efektīvu ieviešanu. Bibliotēka tiek izmantota tādos torrentu klientos kā Deluge, qBittorrent, Folx, Lince, Miro un Flush (nejaukt ar citu libtorrent bibliotēku, kas tiek izmantota rTorrent). Libtorrent kods ir rakstīts C++ valodā un tiek izplatīts saskaņā ar BSD licenci.

Izlaidums ir ievērojams ar BitTorrent v2 protokola atbalsta pievienošanu, kas pāriet no SHA-1 algoritma izmantošanas, kuram ir problēmas ar sadursmes atlasi, par labu SHA2-256. SHA2-256 izmanto gan datu bloku integritātes kontrolei, gan ierakstiem indeksos (informācijas vārdnīca), kas pārkāpj saderību ar DHT un izsekotājiem. Magnētiskām saitēm uz straumēm ar SHA2-256 jaucējiem tiek piedāvāts jauns prefikss “urn:btmh:” (SHA-1 un hibrīda straumēm tiek izmantots “urn:btih:”).

Tā kā jaucējfunkcijas aizstāšana pārtrauc protokolu saderību (jaukšanas lauks ir 32 baiti 20 baitu vietā), BitTorrent v2 specifikācija sākotnēji tika izstrādāta, nedomājot par atpakaļejošu saderību, un tika pieņemtas citas būtiskas izmaiņas, piemēram, Merkles jaucējkoku izmantošana indeksos. lai samazinātu torrent failu lielumu un pārbaudītu lejupielādētos datus bloka līmenī.

Izmaiņas BitTorrent v2 ietver arī pāreju uz atsevišķu jaucējkoku piešķiršanu katram failam un failu izlīdzināšanas izmantošanu pa daļām (nepievienojot papildu polsterējumu pēc katra faila), kas novērš datu dublēšanos, ja ir identiski faili, un atvieglo identificēšanu. dažādi failu avoti. Uzlabota torrent direktoriju struktūras kodēšanas efektivitāte un pievienota optimizācija liela skaita mazu failu apstrādei.

Lai izlīdzinātu BitTorrent v1 un BitTorrent v2 līdzāspastāvēšanu, ir ieviesta iespēja izveidot hibrīda torrentu failus, kas papildus struktūrām ar SHA-1 jaucējkodiem ietver indeksus ar SHA2-256. Šos hibrīda torrentus var izmantot ar klientiem, kas atbalsta tikai BitTorrent v1 protokolu. Neatrisinātu stabilitātes problēmu dēļ gaidāmais WebTorrent protokola atbalsts libtorrent 2.0 ir aizkavējies līdz nākamajam lielajam laidienam, kas tiks izlaists tikai gada beigās.

Avots: linux.org.ru