Izdanje libtorrent 2.0 s podrškom za BitTorrent 2 protokol

Predstavljeno je veliko izdanje libtorrenta 2.0 (također poznatog kao libtorrent-rasterbar), koje nudi implementaciju BitTorrent protokola koja štedi memoriju i CPU. Biblioteka se koristi u torrent klijentima kao što su Deluge, qBittorrent, Folx, Lince, Miro i Flush (ne brkati s drugom libtorrent bibliotekom, koja se koristi u rTorrentu). Libtorrent kod je napisan u C++ i distribuiran pod BSD licencom.

Izdanje je značajno po dodatku podrške za BitTorrent v2 protokol, koji se udaljava od upotrebe algoritma SHA-1, koji ima problema s odabirom kolizije, u korist SHA2-256. SHA2-256 koristi se i za kontrolu integriteta blokova podataka i za unose u indekse (info-rječnik), što narušava kompatibilnost s DHT-om i trackerima. Za magnetske veze na torrente sa SHA2-256 hashovima predlaže se novi prefiks "urn:btmh:" (za SHA-1 i hibridne torrente koristi se "urn:btih:").

Budući da zamjena hash funkcije prekida kompatibilnost protokola (hash polje je 32 bajta umjesto 20 bajtova), BitTorrent v2 specifikacija je u početku razvijena bez povratne kompatibilnosti na umu i usvojene su druge značajne promjene, kao što je upotreba Merkle hash stabala u indeksima za smanjenje veličine torrent datoteka i provjeru preuzetih podataka na razini bloka.

Promjene u BitTorrentu v2 također uključuju prijelaz na dodjeljivanje zasebnih stabala raspršivanja svakoj datoteci i korištenje poravnanja datoteka u dijelovima (bez dodavanja dodatnog ispuna nakon svake datoteke), što eliminira dupliciranje podataka kada postoje identične datoteke i olakšava prepoznavanje različiti izvori za datoteke. Poboljšana učinkovitost kodiranja strukture direktorija torrenta i dodane optimizacije za rukovanje velikim brojem malih datoteka.

Kako bi se olakšao koegzistencija BitTorrent v1 i BitTorrent v2, implementirana je mogućnost stvaranja hibridnih torrent datoteka, koje uključuju, uz strukture sa SHA-1 hashovima, indekse sa SHA2-256. Ovi hibridni torrenti mogu se koristiti s klijentima koji podržavaju samo BitTorrent v1 protokol. Zbog neriješenih problema sa stabilnošću, očekivana podrška za WebTorrent protokol u libtorrentu 2.0 odgođena je do sljedećeg velikog izdanja, koje neće biti objavljeno do kraja godine.

Izvor: linux.org.ru