Utgivelse av libtorrent 2.0 med støtte for BitTorrent 2-protokollen

En større utgivelse av libtorrent 2.0 (også kjent som libtorrent-rasterbar) har blitt introdusert, og tilbyr en minne- og CPU-effektiv implementering av BitTorrent-protokollen. Biblioteket brukes i slike torrentklienter som Deluge, qBittorrent, Folx, Lince, Miro og Flush (må ikke forveksles med det andre libtorrent-biblioteket, som brukes i rTorrent). Libtorrent-koden er skrevet i C++ og distribuert under BSD-lisensen.

Utgivelsen er kjent for tillegget av støtte for BitTorrent v2-protokollen, som går bort fra å bruke SHA-1-algoritmen, som har problemer med kollisjonsvalg, til fordel for SHA2-256. SHA2-256 brukes både til å kontrollere integriteten til datablokker og for oppføringer i indekser (info-ordbok), noe som bryter med kompatibilitet med DHT og trackere. For magnetiske lenker til torrenter med SHA2-256-hasher, foreslås et nytt prefiks "urn:btmh:" (for SHA-1 og hybrid-torrenter brukes "urn:btih:").

Siden utskifting av hash-funksjonen bryter protokollkompatibiliteten (hash-feltet er 32 byte i stedet for 20 byte), ble BitTorrent v2-spesifikasjonen opprinnelig utviklet uten bakoverkompatibilitet i tankene, og andre betydelige endringer ble tatt i bruk, for eksempel bruken av Merkle hash-trær i indekser for å redusere størrelsen på torrentfiler og sjekke nedlastede data på blokknivå.

Endringer i BitTorrent v2 inkluderer også overgangen til å tildele separate hash-trær til hver fil og bruk av filjustering i deler (uten å legge til ekstra utfylling etter hver fil), som lar deg bli kvitt duplisering av data i nærvær av identiske filer og gjør det lettere å identifisere ulike kilder for filer. Forbedret effektivitet av koding av torrentkatalogstruktur og lagt til optimaliseringer for håndtering av et stort antall små filer.

For å jevne ut sameksistensen av BitTorrent v1 og BitTorrent v2, er muligheten til å lage hybrid torrent-filer implementert, som inkluderer, i tillegg til strukturer med SHA-1-hasher, indekser med SHA2-256. Disse hybrid-torrentene kan brukes med klienter som kun støtter BitTorrent v1-protokollen. På grunn av uløste stabilitetsproblemer har forventet støtte for WebTorrent-protokollen i libtorrent 2.0 blitt forsinket til neste store utgivelse, som ikke vil bli utgitt før slutten av året.

Kilde: linux.org.ru