Zum Hauptinhalt Zur Navigation

Bittorent v2: Libtorrent vollzieht Wechsel weg von SHA-1

Die freie Libtorrent-Bibliothek implementiert das Bittorent-Protokoll in Version 2. Die wichtigste Neuerung: SHA-256 statt SHA-1 .
/ Sebastian Grüner
6 Kommentare News folgen (öffnet im neuen Fenster)
Die Welle in einem Wildwasserstrom (englisch Torrent) dient als Logo für Bittorent und Libtorrent. (Bild: Sumy Sadurni/AFP via Getty Images)
Die Welle in einem Wildwasserstrom (englisch Torrent) dient als Logo für Bittorent und Libtorrent. Bild: Sumy Sadurni/AFP via Getty Images

Die aktuelle Version 2.0 der freien Bibliothek Libtorrent ist verfügbar. Das Projekt unterstützt damit erstmals das neue und grundsätzlich überarbeitete Bittorent-Protokoll, das nun ebenfalls in Version 2 spezifiziert ist(öffnet im neuen Fenster) . Laut der Ankündigung war der Start der Arbeiten die erstmals durch Google praktisch durchgeführte SHA-1-Kollision . Die Hash-Funktion dient jedoch als zentraler Bestandteil des Protokolls, so dass auch Bittorent analog zu anderen Projekten wie etwa Git auf eine neue Hash-Funktion wechseln muss. In der aktuellen Version ist dies nur SHA-256.

Wie es nun in der Ankündigung heißt(öffnet im neuen Fenster) , führe dieser Wechsel sowie die damit verbundenen längeren Hash-Werte jedoch zu einigen Problemen bei der Abwärtskompatibilität. SHA-1-Hash-Werte sind 20 Byte lang, jene von SHA-256 jedoch 32 Byte. Für Bittorent hieße das ohne entsprechende Anpassungen unter anderem, dass sich Torrents je nach Protokollversion unterscheiden, selbst wenn über diese die exakt gleichen Dateien verteilt werden. Das Team hat deshalb einige Ideen umgesetzt, um dennoch eine Art Abwärtskompatibilität und Koexistenz umzusetzen.

So werden die neuen SHA-256-Hash-Werte für die verteilte Hash-Tabelle (DHT), Tracker-Ankündigungen und Abfragen auf die 20 Byte von SHA-1 gekürzt. So können ältere und neuere Software miteinander genutzt werden. Darüber hinaus gibt es nun sogenannte Hybrid-Torrents. Diese enthalten als Info-Hash schlicht beide Werte der Hash-Funktionen für die gleichen Dateien. Einzelne Peers in den Peer-to-Peer-Netzwerken werden außerdem speziell markiert, wenn diese das Bittorent-Protokoll in Version 2 unterstützen. Umgestellt haben die Beteiligten außerdem die Struktur von Magnet-Links, die sich nun ebenfalls zwischen alter und neuer Version unterscheiden.

Die Anpassungen im Zuge des Wechsels der Hash-Funktion wurden zudem für einige weitere Änderungen genutzt. So hat das Team eine Baumstruktur für die einzelnen Dateiblöcke eingeführt, die für jede einzelne Datei in einem Torrent erzeugt wird. Das soll das Verschieben einzelner Dateien zwischen verschiedenen Torrents ermöglichen sowie das Finden von Dubletten und Finden mehrerer Quellen für die gleiche Datei erleichtern. Verändert hat das Team auch die interne Struktur der Torrents und das Encoding. Weitere Details liefert die Ankündigung.


Relevante Themen