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

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

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

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

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

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

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

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