BitTorrent 2.0 протоколын дэмжлэгтэйгээр libtorrent 2 хувилбарыг гаргасан

BitTorrent протоколын санах ой болон CPU-ийн хэмнэлттэй хэрэгжилтийг санал болгож буй libtorrent 2.0 (мөн libtorrent-rasterbar гэгддэг) томоохон хувилбарыг танилцууллаа. Номын санг Deluge, qBittorrent, Folx, Lince, Miro, Flush зэрэг торрент клиентүүдэд ашигладаг (rTorrent-д ашиглагддаг бусад libtorrent номын сантай андуурч болохгүй). Libtorrent код нь C++ хэл дээр бичигдсэн бөгөөд BSD лицензийн дагуу түгээгддэг.

Энэ хувилбар нь BitTorrent v2 протоколын дэмжлэгийг нэмсэнээрээ онцлог бөгөөд энэ нь мөргөлдөөнийг сонгоход асуудалтай байдаг SHA-1 алгоритмыг ашиглахаас татгалзаж, SHA2-256-г дэмждэг. SHA2-256 нь өгөгдлийн блокуудын бүрэн бүтэн байдлыг хянах, индекс (мэдээллийн толь бичиг) оруулахад ашиглагддаг бөгөөд энэ нь DHT болон трекерүүдийн нийцтэй байдлыг зөрчиж байна. SHA2-256 хэш бүхий торрентуудын соронзон холбоосын хувьд "urn:btmh:" гэсэн шинэ угтварыг санал болгож байна (SHA-1 болон эрлийз торрентуудад "urn:btih:" ашигладаг).

Хэш функцийг солих нь протоколын нийцтэй байдлыг эвддэг (хэш талбар нь 32 байт биш 20 байт) тул BitTorrent v2 техникийн үзүүлэлтийг анх удаагаа зохицолгүйгээр боловсруулж, индекст Merkle хэш модыг ашиглах зэрэг бусад чухал өөрчлөлтүүдийг баталсан. торрент файлын хэмжээг багасгах, татаж авсан өгөгдлийг блокийн түвшинд шалгах.

BitTorrent v2-д гарсан өөрчлөлтүүд нь файл бүрт тусад нь хэш мод оноох, хэсэг хэсгээрээ файлын зэрэгцүүлэх (файл бүрийн дараа нэмэлт дүүргэлт хийхгүйгээр) шилжих зэрэг багтсан бөгөөд энэ нь ижил файлууд байгаа үед өгөгдлийн давхардлыг арилгаж, танихад хялбар болгодог. файлуудын өөр өөр эх сурвалж. Торрент сангийн бүтцийн кодчилолын үр ашгийг сайжруулж, олон тооны жижиг файлуудтай ажиллах оновчлолуудыг нэмсэн.

BitTorrent v1 болон BitTorrent v2-ийн зэрэгцэн орших байдлыг зөөлрүүлэхийн тулд SHA-1 хэш бүхий бүтцээс гадна SHA2-256 индексийг багтаасан эрлийз torrent файлуудыг үүсгэх чадварыг хэрэгжүүлсэн. Эдгээр эрлийз торрентуудыг зөвхөн BitTorrent v1 протоколыг дэмждэг үйлчлүүлэгчид ашиглах боломжтой. Тогтвортой байдлын асуудал шийдэгдээгүйн улмаас libtorrent 2.0 дээрх WebTorrent протоколын хүлээгдэж буй дэмжлэгийг оны эцэс хүртэл гаргахгүй дараагийн томоохон хувилбар хүртэл хойшлуулсан.

Эх сурвалж: linux.org.ru