bedeutende Veröffentlichungen der Bibliothek (auch bekannt als libtorrent-rasterbar), die eine Implementierung des BitTorrent-Protokolls bietet, die sowohl speichereffizient als auch CPU-schonend 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.
Die Veröffentlichung ist bemerkenswert fĂŒr die UnterstĂŒtzung des Protokolls , bei dem der Wechsel vom SHA-1-Algorithmus, der anfĂ€llig fĂŒr Kollisionen ist, zu SHA2-256 vollzogen wurde. SHA2-256 wird sowohl fĂŒr die IntegritĂ€tsprĂŒfung der Datenblöcke als auch fĂŒr die EintrĂ€ge in den Indizes (info-Dictionary) verwendet, wobei die KompatibilitĂ€t mit DHT und Trackern beeintrĂ€chtigt wird. 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 Hash-Funktion die ProtokollkompatibilitĂ€t beeintrĂ€chtigt (Feld mit 32-Byte-Hash statt 20-Byte), wurde die Spezifikation von BitTorrent v2 ursprĂŒnglich ohne RĂŒcksicht auf die AbwĂ€rtskompatibilitĂ€t entwickelt. Zudem wurden wesentliche Ănderungen, wie die Verwendung von Merkle-HashbĂ€umen in den Indizes, vorgenommen, um die GröĂe von Torrent-Dateien zu reduzieren und die heruntergeladenen Daten auf Blockebene zu ĂŒberprĂŒfen.
Zu den Ănderungen in BitTorrent v2 gehört auch der Ăbergang zur Bindung einzelner Hash-BĂ€ume an jede Datei und die Anwendung von Dateiausrichtung in Teilen (ohne nachtrĂ€gliche AuffĂŒllung nach jeder Datei), was es ermöglicht, Datenredundanz bei identischen Dateien zu vermeiden und die Identifikation unterschiedlicher Quellen fĂŒr Dateien zu erleichtern. Die Effizienz der Kodierung von Verzeichnisstrukturen in Torrents wurde erhöht und Optimierungen fĂŒr die Verarbeitung einer groĂen Zahl kleiner Dateien hinzugefĂŒgt.
Um das Zusammenleben von BitTorrent v1 und BitTorrent v2 zu erleichtern, wurde die Möglichkeit zur Erstellung hybrider Torrent-Dateien implementiert, die neben Strukturen mit SHA-1-Hashes auch Indizes mit SHA2-256 enthalten.
Die angegebenen hybriden Torrents können mit Clients verwendet werden, die nur das Protokoll BitTorrent v1 unterstĂŒtzen. Die erwartete UnterstĂŒtzung des WebTorrent-Protokolls in libtorrent 2.0 steht aufgrund ungelöster StabilitĂ€tsprobleme noch aus. bis zur nĂ€chsten bedeutenden Version, die frĂŒhestens Ende des Jahres veröffentlicht wird.
Quelle: opennet.ru
