Издаването на libtorrent 2.0 с поддръжка на протокола BitTorrent 2.

Представен значителен нов релиз на библиотеката libtorrent 2.0 (известна също като libtorrent-rasterbar), предлагаща реализация на протокола BitTorrent, ефективна що се отнася до консумацията на памет и натоварване на CPU. Библиотеката е активирана в такива торрент-клиенти като Deluge, qBittorrent, Folx, Lince, Miro и Flush (не бива да се бърка с друга библиотека libtorrent, която се използва в rTorrent). Кодът на libtorrent е написан на C++ и се разпространява под лиценз BSD.

Релизът е забележителен добавянето с поддръжката на протокола BitTorrent v2, в който се премахва използването на алгоритъма SHA-1, който има проблеми проблеми с подбор на колизии, в полза на SHA2-256. SHA2-256 се прилага както за контрол на целостта на блоковете данни, така и за записите в индексите (info-dictionary), което нарушава съвместимостта с DHT и тракери. За магнитните линкове на торентите с SHA2-256 хешове е предложен нов префикс „urn:btmh:“ (за SHA-1 и хибридни торенти се използва „urn:btih:“).

Тъй като замяната на хеширащата функция нарушава съвместимостта на протокола (поле с хеш от 32 байта вместо 20 байта) разработката на спецификацията BitTorrent v2 първоначално е била извършвана без внимание към обратната съвместимост и в нея са включени и други значителни промени, като използването на хеш-дерева на Меркъл в индексите за намаляване размера на torrent-файловете и проверка на заредените данни на ниво блокове.

От промените в BitTorrent v2 също е важно да се отбележи преминаването към свързване на отделни хеш-деревата за всеки файл и прилагането на подравняване на файловете по части (без добавяне на запълване след всеки файл), което позволява да се избегне дублирането на данни при наличие на идентични файлове и опростява откритията на различни източници за файловете. Повишена е ефективността на кодирането на структурата на директориите в торента и са добавени оптимизации за обработка на голям брой малки файлове.

За плавно съвместяване на BitTorrent v1 и BitTorrent v2 е реализирана възможността за създаване на хибридни torrent-файлове, които включват освен структурите с SHA-1 хешове, индекси с SHA2-256.
Тези хибридни торенти могат да се използват с клиенти, поддържащи само протокола BitTorrent v1. Очакваната в libtorrent 2.0 поддръжка на протокола WebTorrent поради нерешени проблеми със стабилността е отложена до следващия значителен релиз, който ще излезе не по-рано от края на годината.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster