Lëshimi i libtorrent 2.0 me mbështetje për protokollin BitTorrent 2

Një version i madh i libtorrent 2.0 (i njohur gjithashtu si libtorrent-rasterbar) është prezantuar, duke ofruar një implementim efikas të memorjes dhe CPU të protokollit BitTorrent. Biblioteka përdoret në klientë të tillë torrent si Deluge, qBittorrent, Folx, Lince, Miro dhe Flush (të mos ngatërrohet me bibliotekën tjetër libtorrent, e cila përdoret në rTorrent). Kodi libtorrent është shkruar në C++ dhe shpërndahet nën licencën BSD.

Lëshimi është i dukshëm për shtimin e mbështetjes për protokollin BitTorrent v2, i cili largohet nga përdorimi i algoritmit SHA-1, i cili ka probleme me përzgjedhjen e përplasjeve, në favor të SHA2-256. SHA2-256 përdoret si për të kontrolluar integritetin e blloqeve të të dhënave, ashtu edhe për hyrjet në indekse (fjalor informacioni), gjë që shkel përputhshmërinë me DHT dhe gjurmuesit. Për lidhjet magnetike me torrentët me hash SHA2-256, propozohet një parashtesë e re "urn:btmh:" (për SHA-1 dhe torrentët hibridë, përdoret "urn:btih:").

Për shkak se zëvendësimi i funksionit hash prish përputhshmërinë e protokollit (fusha hash është 32 bajt në vend të 20 bajt), specifikimi BitTorrent v2 fillimisht u zhvillua pa parasysh përputhshmërinë e prapambetur dhe u miratuan ndryshime të tjera të rëndësishme, si përdorimi i pemëve hash Merkle në indekse për të zvogëluar madhësinë e skedarëve torrent dhe për të kontrolluar të dhënat e shkarkuara në nivelin e bllokut.

Ndryshimet në BitTorrent v2 përfshijnë gjithashtu kalimin në caktimin e pemëve hash të veçanta për çdo skedar dhe përdorimin e rreshtimit të skedarëve në pjesë (pa shtuar mbushje shtesë pas çdo skedari), gjë që eliminon dyfishimin e të dhënave kur ka skedarë identikë dhe e bën më të lehtë identifikimin burime të ndryshme për skedarët. Efikasiteti i përmirësuar i kodimit të strukturës së direktoriumit të torrentit dhe optimizimet e shtuara për trajtimin e një numri të madh skedarësh të vegjël.

Për të zbutur bashkëjetesën e BitTorrent v1 dhe BitTorrent v2, është zbatuar aftësia për të krijuar skedarë torrent hibrid, të cilët përfshijnë, përveç strukturave me hash SHA-1, indekse me SHA2-256. Këto torrente hibride mund të përdoren me klientë që mbështesin vetëm protokollin BitTorrent v1. Për shkak të problemeve të pazgjidhura të stabilitetit, mbështetja e pritshme për protokollin WebTorrent në libtorrent 2.0 është shtyrë deri në lëshimin tjetër madhor, i cili nuk do të dalë deri në fund të vitit.

Burimi: linux.org.ru