Libtorrent bietet Unterstützung für BitTorrent v2, einen potenziellen Game-Changer
Millionen von Menschen verwenden BitTorrent jeden Tag, aber nur wenige wissen genau, wie es funktioniert.
Inzwischen ist eine noch kleinere Gruppe aktiv an der Gestaltung der Zukunft des Filesharing-Protokolls beteiligt.
BitTorrent wurde vor fast zwei Jahrzehnten erstmals von Erfinder Bram Cohen veröffentlicht. Während es von den Massen schnell angenommen wurde, war das Protokoll selbst alles andere als perfekt. Im Laufe der Jahre wurden viele neue Funktionen hinzugefügt, darunter DHT, UDP-Tracker, Peer-Exchange und Unterstützung für Streaming.
Als Entwickler einer der führenden BitTorrent-Bibliotheken, Libtorrent , war Arvid Norberg eng an der Entwicklung des Protokolls beteiligt. Es ist sein Code, mit dem eine Vielzahl von Torrent-Clients ordnungsgemäß funktionieren. Dies umfasst uTorrent Web, Deluge und qBittorrent.
LibTorrent 2.0 und BitTorrent v2
Diese Woche kündigte Norberg die neueste Version von Libtorrent an. Version 2.0. Diese neue Version enthält viele Änderungen, die schließlich den Weg zu Torrent-Clients finden werden. Das wichtigste ist die Implementierung der BitTorrent v2-Protokollspezifikation.
BitTorrent v2 ist eine verbesserte Version der frühen BitTorrent-Standards und enthält mehrere technische Änderungen. Es wurde erstmals 2008 von Bram Cohen vorgeschlagen und dabei aktualisiert und verbessert. Da die meisten Änderungen unter der Haube stattfinden, werden sie von der Öffentlichkeit bis auf eine nicht sofort erkannt.
Technisch versierte Leser können sich auf der Libtorrent-Website umfassend informieren. Der Einfachheit halber konzentrieren wir uns jedoch darauf, wie sich die Änderungen auf die Benutzer auswirken.
V2 Torrents und separate Schwärme
BitTorrent v2 ändert die Art und Weise, wie Torrents "kompiliert" werden, und die neuere Version ist nicht abwärtskompatibel. Ältere Torrents haben einen SHA-1-Hash und die neuen Versionen verwenden SHA-256-Hashing. Dies bedeutet, dass es in Zukunft verschiedene Torrent-Versionen geben wird.
Diese verschiedenen (v1 und v2) Torrents erzeugen auch separate Torrent-Schwärme. Personen, die einen v1-Torrent herunterladen, können nichts mit Personen teilen, die einen v2-Torrent herunterladen, und umgekehrt. Während das wie ein Schritt zurück klingt, ist die Realität nicht so schlecht.
Es besteht die Möglichkeit, sogenannte „Hybrid“ -Torrents zu erstellen, die eine Verbindung zu beiden Schwärmen herstellen können. Dies sind im Grunde zwei Torrents in einem. Infolgedessen haben alle Torrents die gleiche Anzahl von Personen, die sich teilen.
„Ein v2-fähiger Client kann weiterhin mit allen Peers kommunizieren, und der Peer-Austausch funktioniert weiterhin zwischen v1- und v2-fähigen Peers. Ich denke, die Hauptauswirkung ist, dass ein v2-fähiger Peer zweimal für einen Hybrid-Torrent ankündigt, einmal für jeden Info-Hash. Sowohl für Tracker als auch für das DHT “, sagt Norberg
Derzeit ist es sinnvoll, dass Publisher, einschließlich Torrent-Sites, Hybrid-Torrents am besten verwenden. Schließlich haben Torrents, die nur die v2-Spezifikation verwenden, Zugriff auf eine begrenzte Anzahl von Peers. Norberg stimmt zu.
„Ich denke, es wäre für Verlage sinnvoll, Hybrid-Torrents zu generieren. Experimentieren Sie zumindest damit, um sicherzustellen, dass es gut funktioniert. Nur-v2-Torrents wären derzeit nur für geschlossene Ökosysteme sinnvoll, in denen der Publisher auch alle Clients kontrolliert. “
Wichtige Änderungen unter der Haube
Während neue Torrents die sichtbarste Veränderung sind, ist sie für Außenstehende nur ein Nebenprodukt wichtiger Veränderungen unter der Haube. Beispielsweise verhindert der Wechsel von SHA-1 zu SHA-256-Hashing eine mögliche Hash-Kollision, die für Angriffe und Exploits verwendet werden kann.
Norberg sagt, dass das Risiko dieser Angriffe größtenteils theoretischer Natur ist, dies kann sich jedoch im Laufe der Zeit ändern. Ein Wechsel zu SHA-256 ist also durchaus sinnvoll. Eine noch aufregendere Änderung ist laut Entwickler die Verwendung von "Merkle-Hash-Bäumen pro Datei" für die Stück-Hashes.
In einfachen Worten bedeutet dies, dass alle Dateien in einem Torrent eine eigene eindeutige Kennung (Hash) haben. Eine Sammlung von 100 Fotos enthält also einen eindeutigen Hash für jedes Foto. Dies bringt mehrere Vorteile mit sich.
So können Torrent-Clients beispielsweise schnell überprüfen, ob sie die richtige Datei erhalten. Dies verhindert Verschmutzungsangriffe, mit denen Außenstehende die Übertragung von Strömen verlangsamen können.
„Mit den v2-Hash-Bäumen werden beschädigte Daten sofort erkannt und der dafür verantwortliche Peer kann getrennt werden. Derzeit ist die Zuweisung beschädigter Daten zu einem Peer komplexer, was bedeutet, dass ein böswilliger Peer etwas mehr Schaden anrichten kann, bevor er getrennt wird “, sagt Norberg.
Veränderbare Ströme und verschmelzende Schwärme
Darüber hinaus öffnet es Peers die Möglichkeit, dieselbe Datei von mehreren Torrents abzurufen. Dies ist bereits heute technisch möglich, wie die BiglyBT-Funktion zum Zusammenführen von Schwärmen zeigt. Mit eindeutigen Datei-Hashes ist dies jedoch einfacher und zuverlässiger.
„Das ist heute technisch möglich, aber es ist sehr kompliziert, es generell für beliebige Torrents zum Laufen zu bringen. Die Verwendung von Merkle-Bäumen pro Datei vereinfacht die Implementierung erheblich “, stellt Norberg fest.
Gleiches gilt für sogenannte "veränderbare Torrents", bei denen Publisher Torrents aktualisieren können, um Dateien hinzuzufügen oder zu entfernen. Mit BitTorrent v2 ist das viel einfacher.
Abschließend sollten wir erwähnen, dass sich nicht nur die .torrent-Dateien ändern werden. Die v2- und Hybridmagnetverbindungen unterscheiden sich ebenfalls. Und sie werden wahrscheinlich schneller mit dem Herunterladen beginnen, da die anfängliche Übertragung aller Stück-Hashes geringer sein wird. Dies macht sich vor allem beim Streaming oder beim Herunterladen großer Archive bemerkbar.
Wie schnell die v2-Torrents funktionieren, hängt davon ab, wann Clients auf die neueste Libtorrent-Version aktualisieren. Das kann Tage dauern, aber auch mehr als ein Jahr. Wann große Verlage und Torrent-Sites die Änderungen annehmen werden, ist ebenfalls ungewiss, aber letztendlich ist dies der Weg für alle.
via Torrentfreak • CC BY-NC 3.0 license