signifikanter Bibliotheksrelease (auch bekannt als libtorrent-rasterbar), bietet eine Implementierung des BitTorrent-Protokolls, die speichereffizient und CPU-belastend ist. Die Bibliothek in Torrent-Clients wie , , , , und (nicht zu verwechseln mit einer anderen Bibliothek , die in rTorrent verwendet wird). Der Code von libtorrent ist in C++ geschrieben und unter der BSD-Lizenz stehen.
Die Veröffentlichung ist bemerkenswert UnterstĂŒtzung fĂŒr das Protokoll , bei dem der Ăbergang von SHA-1 erfolgt, das anfĂ€llig fĂŒr Kollisionsangriffe ist, hin zu SHA2-256. SHA2-256 wird sowohl zur IntegritĂ€tsprĂŒfung von Datenblöcken als auch fĂŒr die EintrĂ€ge in den Indizes (info-Dictionary) verwendet, was die KompatibilitĂ€t mit DHT und Trackern beeintrĂ€chtigt. FĂŒr Magnetlinks zu Torrents mit SHA2-256 Hashes wurde ein neuer PrĂ€fix "urn:btmh:" vorgeschlagen (fĂŒr SHA-1 und hybride Torrents wird "urn:btih:" verwendet).
Da der Wechsel der Hashfunktion die KompatibilitĂ€t des Protokolls beeintrĂ€chtigt (ein 32-Byte-Hashfeld anstelle von 20 Bytes) wurde die Entwicklung der BitTorrent v2-Spezifikation ursprĂŒnglich ohne RĂŒcksicht auf die AbwĂ€rtskompatibilitĂ€t vorangetrieben, und es wurden andere wesentliche Ănderungen wie die Verwendung des Merkle-Hashbaums in Indizes zur Reduzierung der GröĂe von Torrent-Dateien und zur PrĂŒfung der heruntergeladenen Daten auf Blockebene vorgenommen.
AuffĂ€llig in den Ănderungen von BitTorrent v2 ist auch der Ăbergang zur Bindung separater Hash-BĂ€ume an jede Datei und die Anwendung der File Alignment nach Teilen (ohne zusĂ€tzliche FĂŒllung nach jeder Datei hinzuzufĂŒgen), was die Datenduplizierung bei identischen Dateien vermeidet und die Identifizierung verschiedener Quellen fĂŒr Dateien vereinfacht. Die Effizienz der Kodierung der Verzeichnisstruktur in Torrents wurde erhöht und es wurden Optimierungen zur Verarbeitung einer groĂen Anzahl von kleinen Dateien hinzugefĂŒgt.
Um das Zusammenleben von BitTorrent v1 und BitTorrent v2 zu erleichtern, wurde die Möglichkeit zur Erstellung hybrider Torrent-Dateien geschaffen, die neben Strukturen mit SHA-1-Hashes auch Indizes mit SHA2-256 enthalten.
Die genannten hybriden Torrents können mit Clients verwendet werden, die nur das Protokoll BitTorrent v1 unterstĂŒtzen. Die in libtorrent 2.0 erwartete UnterstĂŒtzung fĂŒr das WebTorrent-Protokoll wurde aufgrund ungelöster StabilitĂ€tsprobleme bis zur nĂ€chsten signifikanten Veröffentlichung, die nicht vor Ende des Jahres erscheinen wird.
Quelle: opennet.ru
