Введення основна версія бібліотеки лібторрент (також відомий як libtorrent-rasterbar), досягнувши свого нового версія 2.0, який пропонує реалізацію BitTorrent, яка є ефективною з точки зору споживання пам'яті та використання центрального процесора.
У цій новій версії випущено внесені зміни в алгоритм, що використовується SHA-1, до SHA2-256, це тому, що перший має певні проблеми, перехід для прив'язки окремих хеш-дерев до кожного файлу і додаток, і деякі інші речі.
Для тих, хто не знайомий з бібліотекою, вам слід знати, що вона використовується клієнтами торрентів, такими як Deluge, qBittorrent, Folx, Lince, Miro та Flush (не плутати з іншою бібліотекою libtorrent, яку використовує rTorrent). Код libtorrent написаний на C ++ і поширюється під ліцензією BSD.
Основні зміни в libtorrent 2.0
У цій новій випущеній версії libtorrent 2.0 вона виділяється додаванням підтримки протоколу 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.
Ці гібридні торренти можна використовувати з клієнтами, які підтримують лише BitTorrent v1.
Нарешті, це також коментується у примітках до цієї нової версії, що очікувана підтримка протоколу WebTorrent у libtorrent 2.0 відкладена до наступної версії значний, який вони зазначають, що він не буде випущений до кінця року (якщо все піде за планом) через невирішені проблеми стабільності.
І ви повинні це пам’ятати інтеграція Пропозиція WebTorrent у бібліотеці libtorrent буде дозволяють брати участь у розповсюдженні вмісту не тільки через браузери відвідувачів веб-сайту, але також через стаціонарні торрент-клієнти за допомогою бібліотеки libtorrent, включаючи Deluge та qBittorrent (rTorrent не впливає на зміни, оскільки використовує іншу бібліотеку libtorrent).
Реалізація WebTorrent, додана до libtorrent, написана на C ++ і, за бажанням, може бути перенесена в інші бібліотеки торрентів та клієнтів (оригінальний WebTorrent написаний на JavaScript).
Тому це так вони можуть утворювати гібридні мережі з учасниками, здатними взаємодіяти з мережами на основі BitTorrent та WebTorrent.
Якщо ви хочете дізнатися більше про це щодо примітки до цієї нової випущеної бібліотеки libtorrent, ви можете перевірити деталі, перейшовши за таким посиланням.
Як я вже читав, нещодавно Google грубою силою порушив протокол SHA-1, саме тому спільнота поспішила перейти на SHA-256.