Udgivelse af libtorrent 2.0 med understøttelse af BitTorrent 2-protokollen

En betydelig udgivelse af libtorrent 2.0-biblioteket (også kendt som libtorrent-rasterbar) introduceres, hvilket giver en hukommelses- og CPU-effektiv implementering af BitTorrent-protokollen. Biblioteket bruges af torrent-klienter såsom Deluge, qBittorrent, Folx, Lince, Miro og Flush (ikke at forveksle med det andet libtorrent-bibliotek, der bruges af rTorrent). Libtorrent-koden er skrevet i C++ og distribueret under BSD-licensen.

Udgivelsen er bemærkelsesværdig for tilføjelsen af ​​understøttelse af BitTorrent v2-protokollen, som gik væk fra at bruge SHA-1-algoritmen, som har problemer med valg af kollisioner, til fordel for SHA2-256. SHA2-256 bruges både til at kontrollere integriteten af ​​datablokke og til indtastninger i indekser (info-ordbog), som bryder kompatibiliteten med DHT og trackere. Et nyt præfiks "urn:btmh:" er blevet foreslået for magnetlinks til torrents med SHA2-256 hashes (for SHA-1 og hybrid torrents bruges "urn:btih:").

Da ændringen i hash-funktionen bryder protokolkompatibiliteten (et felt med en hash på 32 bytes i stedet for 20 bytes), blev udviklingen af ​​BitTorrent v2-specifikationen oprindeligt udført uden hensyn til bagudkompatibilitet, og andre væsentlige ændringer blev vedtaget, som f.eks. brug af et Merkle-hash-træ i indekser for at reducere størrelsen på torrentfiler og kontrollere downloadede data på blokniveau.

Andre højdepunkter i ændringerne i BitTorrent v2 går over til at tilknytte separate hash-træer for hver fil og anvende filjustering i dele (uden at tilføje yderligere polstring efter hver fil), hvilket eliminerer duplikering af data, når der er identiske filer og gør det lettere at identificere forskellige kilder til filer. Forbedret torrent-biblioteksstruktur kodningseffektivitet og tilføjede optimeringer til at håndtere et stort antal små filer.

For at udjævne sameksistensen af ​​BitTorrent v1 og BitTorrent v2 implementeres evnen til at skabe hybride torrent-filer, som ud over strukturer med SHA-1-hashes inkluderer indekser med SHA2-256. Disse hybrid torrents kan bruges med klienter, der kun understøtter BitTorrent v1-protokollen. På grund af uløste stabilitetsproblemer er understøttelse af WebTorrent-protokollen, der forventes i libtorrent 2.0, blevet forsinket indtil den næste store udgivelse, som ikke udgives tidligere end i slutningen af ​​året.

Kilde: linux.org.ru