BitTorrent 2.0 プロトコルをサポートする libtorrent 2 のリリース

libtorrent 2.0 (libtorrent-rasterbar としても知られる) のメジャー リリースが導入され、メモリと CPU の効率に優れた BitTorrent プロトコルの実装が提供されます。 このライブラリは、Deluge、qBittorrent、Folx、Lince、Miro、Flush などの torrent クライアントで使用されます (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 仕様は当初下位互換性を念頭に置かずに開発され、インデックスでのマークル ハッシュ ツリーの使用など、その他の重要な変更が採用されました。トレント ファイルのサイズを削減し、ダウンロードされたデータをブロック レベルでチェックします。

BitTorrent v2 の変更には、各ファイルに別個のハッシュ ツリーを割り当てることへの移行と、部分的にファイル アライメントを使用する (各ファイルの後に追加のパディングを追加しない) ことも含まれます。これにより、同一のファイルがある場合にデータの重複が排除され、識別が容易になります。ファイルのさまざまなソース。 torrent ディレクトリ構造のエンコーディングの効率が向上し、多数の小さなファイルを処理するための最適化が追加されました。

BitTorrent v1 と BitTorrent v2 の共存をスムーズにするために、ハイブリッド torrent ファイルを作成する機能が実装されました。これには、SHA-1 ハッシュを使用した構造に加えて、SHA2-256 を使用したインデックスが含まれます。 これらのハイブリッド トレントは、BitTorrent v1 プロトコルのみをサポートするクライアントで使用できます。 未解決の安定性の問題のため、libtorrent 2.0 で予定されていた WebTorrent プロトコルのサポートは、次のメジャー リリースまで延期され、年末までリリースされません。

出所: linux.org.ru