Libtorrent 2.0:n julkaisu BitTorrent 2 -protokollan tuella

Libtorrent 2.0:n (tunnetaan myös nimellä libtorrent-rasterbar) merkittävä julkaisu on julkaistu, ja se tarjoaa muisti- ja prosessoritehokkaan BitTorrent-protokollan toteutuksen. Kirjastoa käytetään sellaisissa torrent-asiakasohjelmissa kuin Deluge, qBittorrent, Folx, Lince, Miro ja Flush (ei pidä sekoittaa toiseen libtorrent-kirjastoon, jota käytetään rTorrentissa). Libtorrent-koodi on kirjoitettu C++-kielellä ja jaettu BSD-lisenssillä.

Julkaisuun on lisätty tuki BitTorrent v2 -protokollalle, joka siirtyy pois SHA-1-algoritmin käytöstä, jolla on ongelmia törmäysvalinnassa, SHA2-256:n hyväksi. SHA2-256:ta käytetään sekä tietolohkojen eheyden ohjaamiseen että hakemistojen (info-sanakirja) merkintöihin, mikä rikkoo yhteensopivuutta DHT:n ja seurantalaitteiden kanssa. Magneettisille linkeille torrenteihin, joissa on SHA2-256-tiiviste, ehdotetaan uutta etuliitettä "urn:btmh:" (SHA-1- ja hybriditorrenteissa käytetään "urn:btih:").

Koska hash-funktion korvaaminen katkaisee protokollien yhteensopivuuden (hash-kenttä on 32 tavua 20 tavun sijaan), BitTorrent v2 -spesifikaatio kehitettiin alun perin ottamatta huomioon taaksepäin yhteensopivuutta ja tehtiin muita merkittäviä muutoksia, kuten Merklen hash-puiden käyttö indekseissä. pienentää torrent-tiedostojen kokoa ja tarkistaa ladatut tiedot lohkotasolla.

Muutokset BitTorrent v2:ssa sisältävät myös siirtymisen erillisen hash-puun osoittamiseen jokaiselle tiedostolle ja tiedostojen tasauksen käytön osissa (lisäämättä ylimääräisiä täyteyksiä jokaisen tiedoston jälkeen), mikä eliminoi tietojen päällekkäisyyden, kun on identtisiä tiedostoja ja helpottaa tunnistamista. eri lähteistä tiedostoille. Parannettu torrent-hakemistorakenteen koodauksen tehokkuus ja lisätty optimointi suurten pienten tiedostomäärien käsittelyyn.

BitTorrent v1:n ja BitTorrent v2:n rinnakkaiselon tasoittamiseksi on otettu käyttöön mahdollisuus luoda hybridi torrent-tiedostoja, jotka sisältävät SHA-1-tiivisterakenteiden lisäksi indeksejä SHA2-256:lla. Näitä hybriditorrenteja voidaan käyttää asiakkaiden kanssa, jotka tukevat vain BitTorrent v1 -protokollaa. Ratkaisemattomien vakausongelmien vuoksi WebTorrent-protokollan odotettu tuki libtorrent 2.0:ssa on viivästynyt seuraavaan suureen julkaisuun, joka julkaistaan ​​vasta vuoden lopussa.

Lähde: linux.org.ru