انتشار libtorrent 2.0 با پشتیبانی از پروتکل BitTorrent 2

نسخه قابل توجهی از کتابخانه libtorrent 2.0 (همچنین به عنوان libtorrent-rasterbar شناخته می شود) معرفی شده است که اجرای کارآمد حافظه و CPU از پروتکل BitTorrent را ارائه می دهد. این کتابخانه توسط کلاینت‌های تورنت مانند Deluge، qBittorrent، Folx، Lince، Miro و Flush استفاده می‌شود (با سایر کتابخانه‌های libtorrent که توسط rTorrent استفاده می‌شود اشتباه گرفته نشود). کد libtorrent به زبان C++ نوشته شده و تحت مجوز BSD توزیع شده است.

این نسخه به دلیل اضافه شدن پشتیبانی از پروتکل BitTorrent v2 قابل توجه است، که از استفاده از الگوریتم SHA-1 که مشکلاتی در انتخاب برخوردها دارد، به نفع SHA2-256 فاصله گرفت. SHA2-256 هم برای کنترل یکپارچگی بلوک های داده و هم برای ورودی ها در فهرست ها (اطلاعات لغت نامه) استفاده می شود که سازگاری با DHT و ردیاب ها را قطع می کند. یک پیشوند جدید "urn:btmh:" برای پیوندهای آهنربایی به تورنت های دارای هش SHA2-256 پیشنهاد شده است (برای SHA-1 و تورنت های ترکیبی، "urn:btih:" استفاده می شود).

از آنجایی که تغییر در تابع هش سازگاری پروتکل را از بین می برد (فیلدی با هش 32 بایت به جای 20 بایت)، توسعه مشخصات BitTorrent v2 در ابتدا بدون توجه به سازگاری با عقب انجام شد و تغییرات مهم دیگری مانند استفاده از درخت هش Merkle در ایندکس ها برای کاهش اندازه فایل های تورنت و بررسی داده های دانلود شده در سطح بلوک.

دیگر نکات برجسته تغییرات در BitTorrent نسخه 2 حرکت به مرتبط کردن درخت های هش جداگانه برای هر فایل و اعمال تراز کردن فایل در قسمت ها (بدون افزودن بالشتک اضافی بعد از هر فایل) است که باعث حذف تکراری شدن داده ها در صورت وجود فایل های یکسان می شود و شناسایی را آسان تر می کند. منابع مختلف برای فایل ها بهبود ساختار دایرکتوری تورنت کارایی رمزگذاری و بهینه سازی های اضافه شده برای رسیدگی به تعداد زیادی فایل کوچک.

برای هموارسازی همزیستی BitTorrent v1 و BitTorrent v2، قابلیت ایجاد فایل‌های تورنت ترکیبی، که علاوه بر ساختارهایی با هش SHA-1، نمایه‌هایی با SHA2-256 را شامل می‌شود، پیاده‌سازی شده است. این تورنت های ترکیبی را می توان با کلاینت هایی استفاده کرد که فقط از پروتکل BitTorrent v1 پشتیبانی می کنند. به دلیل مشکلات پایداری حل نشده، پشتیبانی مورد انتظار برای پروتکل WebTorrent در libtorrent 2.0 تا نسخه اصلی بعدی که زودتر از پایان سال منتشر نخواهد شد به تعویق افتاد.

منبع: linux.org.ru