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.

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. 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, 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.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
und letzterem voll IPV6 beibringen - oder sind meine Infos alt?
gut zu wissen, danke