# BitTorrent

BitTorrent (von der kleinsten Daten-Einheit Bit und englisch torrent ‚reißender Strom‘ oder ‚Sturzbach‘, von lateinisch torrens) ist ein kollaboratives Filesharing-Protokoll, das sich besonders für die schnelle Verteilung großer Datenmengen eignet und 2001 entworfen sowie erstmals veröffentlicht wurde. Im Gegensatz zu anderen Filesharing-Techniken setzt BitTorrent nicht auf ein übergreifendes Filesharing-Netzwerk, sondern baut für jede Datei ein dezentrales Verteilnetz auf.

## BitTorrent-Technik

Technisch ist das Protokoll der OSI-Schicht 7, also der Anwendungsschicht, zuzuordnen und setzt auf das TCP/IP-Referenzmodell auf. Die Referenzimplementierung (BitTorrent-Client) durch den Erfinder Bram Cohen erfolgte ursprünglich in der Programmiersprache Python. Mittlerweile stehen eine Reihe alternativer Programme zur Verfügung, die das BitTorrent-Protokoll implementieren.
Im Unterschied zum Herunterladen einer Datei mittels HTTP oder FTP werden bei der BitTorrent-Technik die (ansonsten ungenutzten) Upload-Kapazitäten der Downloader mitgenutzt, auch wenn sie die Datei noch nicht vollständig heruntergeladen haben. Dateien werden also nicht nur von einem Server verteilt, sondern auch von Nutzer zu Nutzer (Peer-to-Peer oder P2P) weitergegeben. Dieser Ansatz vermeidet Flaschenhälse in Folge ausgereizter Kapazitäten eines einzelnen Anbieters.

### Funktion

Um sich an der Verteilung der Daten eines Torrents zu beteiligen, benutzt der Client üblicherweise eine Torrent-Datei (Dateinamenserweiterung .torrent oder .tor). In dieser befindet sich die IP-Adresse (bzw. der Hostname) des Trackers sowie Dateiname, Größe und eine Liste von Prüfsummen von Segmenten der herunterzuladenden Daten (eine oder mehrere Dateien). Torrent-Dateien können mit vielen verfügbaren Bittorrent-Clients erzeugt werden. Dabei muss der initiale Seeder-Peer (engl. „seeder“ = Sämaschine) die Verknüpfung zur als Torrent anzubietenden Datei herstellen und diese verfügbar halten.
Für das Finden anderer (an einer bestimmten Datei interessierter) Peers gibt es u. a. ein System, bei dem spezielle (Web-)Server – die Tracker (englisch „track“ = verfolgen) – Kontakte vermitteln. Der Tracker hält im Normalfall lediglich eine eindeutige ID des Torrents lokal vor, der die IP-Adressen der Peers zugeordnet sind, welche die Datei verfügbar halten. Peers nehmen recht häufig Verbindung zum Tracker auf, um schnell auf Änderungen der verfügbaren Peers reagieren zu können.
Torrent-Dateien sind üblicherweise wenige dutzend Kilobyte groß und werden auf der Website des Anbieters oder über Index-Sites (zum Beispiel The Pirate Bay, Mininova oder isoHunt) bereitgestellt. Ohne Tracker müssen andere Methoden zum Auffinden von Gegenstellen genutzt werden (DHT, PEX, …), oder es kann nur mit schon bekannten Gegenstellen getauscht werden.
Die Client-Software erhält vom Tracker eine Liste von Gegenstellen, die die Daten oder Teile davon haben oder interessiert sind. Sobald ein Peer ein Segment (englisch „chunk“) der Datei erhalten und die Prüfsumme verifiziert hat, meldet er dies dem Tracker und kann dieses Dateistück nun an die anderen Peers weitergeben. Die Menge aller Peers, die am gleichen Torrent interessiert sind, nennt man Schwarm. Peers, die im Besitz des kompletten Inhalts des Torrents sind, und somit nichts von anderen Clients herunterladen, sondern lediglich Daten verteilen, nennt man Seeder (von engl. to seed: säen). Als Leecher (von engl. leech: Blutegel; -sauger) werden diejenigen Peers bezeichnet, die noch nicht über den gesamten Torrent-Inhalt verfügen und weitere Segmente herunterladen. Vorwiegend in anderen Zusammenhängen werden zum Teil auch Peers abwertend als „Leecher“ bezeichnet, die nur herunterladen, ohne selbst bereits heruntergeladene Segmente weiterzuverteilen und so dem P2P-Prinzip zuwiderhandeln. Peer bezeichnet allgemein einen mit einem Client verbundenen anderen Client.
Im Gegensatz zu anderen Filesharing-Systemen werden nicht beliebige Dateien aus den Beständen der Teilnehmer ausgetauscht. Vielmehr verteilt jeder Schwarm nur die Dateien, welche der Autor der Torrent-Datei explizit zur Verteilung vorgesehen hat. Auch der Betreiber des Trackers bestimmt selbst, welche Downloads von diesem verwaltet werden sollen. Die einzelnen Tracker stehen nicht in Verbindung zueinander, es existiert daher kein gemeinsames Netzwerk, sondern ein gesondertes für jeden einzelnen Torrent. So können sich Anbieter auch von fremden, möglicherweise illegalen Inhalten leichter distanzieren.

### Offizielle Protokollerweiterungen

Die Entwicklung der BitTorrent-Protokolle wurde der Community übergeben. In den BitTorrent Enhancement Proposals (BEP) sammeln sich neue Funktionen, die in der Regel von den Autoren verschiedener BitTorrent-Software eingeführt und nun darin standardisiert wurden.

#### Erweiterung für Peers zum Übertragen von Metadaten

Die in BEP 9 beschriebene Erweiterung erlaubt Peers das Übertragen von Metadaten, um z. B. Magnet-Links auflösen zu können. Darüber kann ein Peer ohne eine .torrent-Datei einen Torrent herunterladen und dazu dem entsprechenden Schwarm beitreten.

#### DHT-Protokoll

BEP 5 beschreibt den Einsatz einer verteilten Hashtabelle (englisch „Distributed Hash Table“; DHT) auf Basis des Kademlia-Algorithmus für den „trackerlosen“ (englisch „trackerless“) Betrieb. Diese Erweiterung ist derzeit noch im Entwurfsstadium, der Einsatz ist jedoch schon weit verbreitet. Die Trackerfunktion wird dabei von der Clientsoftware übernommen. Dies vermeidet einige der bisherigen Probleme (zum Beispiel die fehlende Ausfallsicherheit des Trackers), auch wenn tracker-gestützter Betrieb weiterhin möglich sein wird. Es erleichtert auch das Anbieten, da Tracker den aufwändigsten Teil in BitTorrent darstellen. Seit der im November 2005 erschienenen Version 4.2.0 unterstützt der Referenz-Client den trackerlosen Betrieb und setzt dabei auf den Kademlia-Algorithmus. Der Tracker kann dabei dezentral, ähnlich wie im Kademlia-Netzwerk, als verteilte Hashtabelle auf den Clients selbst abgelegt und verwaltet werden.
Moderne BitTorrent-Clients können daher auf Tracker verzichten und dezentral arbeiten („trackerlos“). Allerdings verwenden sie noch unterschiedliche Protokolle, sodass die Kommunikation zwischen verschiedenen Clients auf DHT-Basis nicht immer möglich ist. Untereinander kompatibel sind zurzeit BitComet, Deluge, µTorrent, KTorrent, qBittorrent, rTorrent, Transmission und der Referenz-Client. Die Entwickler arbeiten verstärkt daran, Kompatibilität herzustellen.

#### UDP-Trackerprotokoll

Mit der Erweiterung aus BEP 15 kann ein Tracker per UDP abgefragt werden, was das Datenverkehrsaufkommen am Tracker stark reduzieren kann. Diese Erweiterung ist derzeit noch im Entwurfsstadium.

#### Superseeding

BEP 16 beschreibt das sogenannte Superseeding (bei µTorrent auch initial seeding genannt), bei dem für den Fall, dass der jeweilige Peer der einzige Seed in einem noch datenlosen Schwarm ist, der Versand daraufhin optimiert wird, dass im restlichen Schwarm möglichst schnell eine (verteilte) Kopie der Daten entsteht. Dazu zeigt sich der Seed in diesem Modus im Schwarm auch als unvollständige Quelle und gibt seine Teile nur nach und nach heraus. Er liefert vorerst jedes Teil nur je einmal aus und gibt weitere Teile frei, wenn er Rückmeldung erhalten hat, dass ein hochgeladenes Teil weiterverbreitet wurde. Er versucht herauszufinden, welche Peers für die schnellste Weiterverbreitung sorgen, und lädt zu diesen bevorzugt hoch. Der Client BitComet ist dafür bekannt geworden, dieses Vorgehen zum eigenen Vorteil zu missbrauchen.
Superseeding wurde in dem Client BitTornado eingeführt. Die Erweiterung ist derzeit noch im Entwurfsstadium.

#### HTTP/FTP Seeding

BEP 17 und 19 beschreiben Verfahren zur Nutzung von HTTP- oder FTP-Webservern als vollständige Quellen (Seeds) in einem BitTorrent-Schwarm.

#### Private Torrents

Im Unterschied zu öffentlichen Torrents, wird bei privaten Torrents der Zugriff eingeschränkt. Mit einem Flag in der .torrent-Datei (die hierbei nur einen einzigen Tracker enthält) wird dem Client vorgeschrieben, sich bei der Auffindung von Quellen auf den einen in der Datei angegebenen Tracker zu beschränken und nur mit Clients zu verbinden, die dieser liefert. BEP 27 beschreibt das Verfahren.

#### Ankündigen und Auffinden von Peers mittels Zeroconf

Mit der in BEP 26 (noch im Entwurfsstadium) beschriebenen Erweiterung können sich Peers mittels DNS Service Discovery (Zeroconf) in einem lokalen Netzwerk finden. Innerhalb eines lokalen Netzwerkes sind in der Regel deutlich höhere Übertragungsraten möglich und der Aufwand für die Übertragung ist geringer. Mit dieser Erweiterung können Peers im gleichen lokalen Netzwerk, die am selben Torrent interessiert sind, dies entlastend für den Schwarm und die gemeinsame Außenanbindung nutzen und eventuell mehr Peers gefunden werden. Dazu muss auf den jeweiligen Systemen ein Zeroconf-Daemon laufen.

#### Auffinden von BitTorrent-Zwischenspeichern

Die im BEP 22 (noch im Entwurfsstadium) beschriebene Erweiterung ermöglicht das Aufspüren netzwerk-topologisch naheliegender Knoten wie zum Beispiel Pufferspeichern eines Internetdienstanbieters. Dies kann in vielerlei Hinsicht nützlich sein:
Indem Internetdienstanbieter Verkehr von auf ihrem Netz populären Torrents zwischenspeichern und auf ihrem Netz betriebene Clients aus dem Zwischenspeicher speisen, kann teurerer externer Datenverkehr eingespart werden. Für die Kunden ergibt sich damit eine Verbesserung der Zuverlässigkeit des Torrents und der Geschwindigkeit beim Herunterladen. Die Daten von Torrent-Transfers können damit unkompliziertere Routen durchs Internet nehmen.
Diese Erweiterung wurde mit Version 4.20.0 des Original-Clients (mainline) eingeführt.

#### Protokollverschleierung

Viele Clients bieten mittlerweile eine Verschlüsselung des Datenstromes mit dem unsicheren Algorithmus RC4 (Stromchiffre) und dem „Infohash“ des jeweiligen Torrents als Schlüssel, um das Protokoll des Datenstromes zu verschleiern und Internetdienstanbietern das Traffic-Shaping zu erschweren. Für Kunden einiger Internetdienstanbieter ist es die einzige Möglichkeit, einer selektiven Drosselung ihres Datenverkehres zu entgehen, andererseits nimmt es den Anbietern auch die Möglichkeit des Betriebes von BitTorrent-Zwischenspeichern und braucht mehr Rechenleistung.µTorrent und Azureus führten die Erweiterung zusammen ein, was schlagartig einen Großteil aller Peers kompatibel zu verschlüsselten Verbindungen machte.
Der ursprüngliche Entwickler des BitTorrent-Protokolles Bram Cohen kritisierte dieses Vorgehen und das zugehörige BEP 8 ist zurückgestellt.

#### Peer Exchange

Peer Exchange (PEX) ist ein alternatives Verfahren zum Auffinden von Peers. Damit können Peers ihre Peer-Listen untereinander austauschen und somit zusätzliche Peers von verbundenen Peers bezogen werden. Obwohl die entsprechende BEP 11 noch nicht angenommen ist, ist das Verfahren schon weit verbreitet.

### Internetcache

Ab Version 4.20.0 unterstützt BitTorrent das Internet Cache Protocol (ICP), um die Datenübertragungsrate der Provider zu schonen. Dazu wurde das Zusatz-Protokoll Cache Discovery Protocol definiert. Bisher wurde diese Methode aber noch nicht genutzt. Da Caching-Provider durch den Digital Millennium Copyright Act (DMCA) nicht für den durchgeleiteten Datenverkehr haften müssen, bestehen zumindest in den Vereinigten Staaten juristisch keine Probleme.

### Anti-Leech-Tracker (ALT)

BitTorrent beruht – wie alle Filesharing-Netzwerke – auf dem Prinzip „Geben und Nehmen“. Nicht wenige Teilnehmer deaktivieren ihre eigene Seed-Funktion („upload“) und missachten damit dieses Prinzip. Als Reaktion auf dieses Ausnutzen haben sich sogenannte „Anti-Leech-Tracker“ (ALT) etabliert, die das Verhalten der Teilnehmer stetig beobachten und Teilnehmer, die nur herunterladen oder dies in unfairem Verhältnis tun, vom Netzwerk ausschließen, sobald gegen vordefinierte Regeln verstoßen wird. Als Maßstab gilt hier die sogenannte Ratio („file ratio“, „overall ratio“ oder beim µTorrent „Share-Rate“), die sich aus dem Quotienten von gesendeter und empfangener Datenmenge errechnet.
Bei diesem System sind jedoch Teilnehmer mit geringerer Datenübertragungsrate benachteiligt. So kann es passieren, dass solche Nutzer vom ALT verbannt werden, wenn sie ihre Ratio nicht rechtzeitig einhalten können. Daher wird auf einigen ALT mit dem sogenannten „Only Upload“ gegen diesen Missstand vorgegangen. Bei „Only Upload“ wird ausschließlich die Masse an hochgeladenen Daten angerechnet. Ferner wird diesem Problem auch verstärkt mit einem sogenannten „Seedbonus“ begegnet, bei dem Punkte für die Zeitspanne des Sendevorgangs („upload“) vergeben werden, die dann wiederum in „Upload-Guthaben“ eingetauscht werden können.
Eine weitere Problematik: Der ALT ist zum Errechnen des Verhältnisses auf Berichte der teilnehmenden Clients angewiesen. Diese können leicht verfälscht werden, entweder absichtlich durch Manipulationen von Schummlern oder versehentlich durch fehlerhaft konfigurierte Client-Software. Hier wurden mittlerweile jedoch auch Methoden entwickelt, die solche potentiellen Betrugsversuche erkennen und damit zum sofortigen Ausschluss führen.

### Künftige Weiterentwicklungen

In Zukunft wird die Weiterentwicklung des Protokolls nicht mehr alleine von Bram Cohen, sondern auch von anderen Entwicklern getragen. BitTorrent-Benutzer sind in letzter Zeit zunehmend (teils unwissentlich) vom Traffic-Shaping ihrer Provider betroffen. Werden dabei Pakete als P2P-Pakete klassifiziert, wird der Upload in vielen Fällen stark gedrosselt. Als Antwort darauf implementierten die Clients Vuze (früher Azureus) und µTorrent eine Ende-zu-Ende-Verschlüsselung (mit RC4-Stromchiffre), um das Traffic-Shaping zu umgehen. BitComet, rTorrent, Transmission sowie KTorrent unterstützen die neue Protokoll-Verschlüsselung ebenfalls.

## Geschichte

Das BitTorrent-Protokoll wurde im April 2001 von dem Programmierer Bram Cohen für die Bootlegger-Online-Community etree entworfen. Am 2. Juli 2001 veröffentlichte er eine erste Implementierung, die mittlerweile von der von ihm gegründeten Firma BitTorrent, Inc. betreut wird. Bereits nach kurzer Zeit begann die File-Sharing-Szene, die Technologie unter anderem für das Tauschen von nicht lizenzierten Kopien urheberrechtlich geschützter Daten zu nutzen. Mit der Zeit entwickelte sich BitTorrent zum größten (Inhalte, Benutzer, Verkehr) Filesharing-Netz. Es produzierte zeitweise ein Drittel des gesamten weltweiten Internet-Datenverkehrs.
Die US-amerikanische Firma namens BitTorrent hat Ende Februar 2007 ihre gleichnamige Website in einen Online-Shop umgewandelt, in dem sich viele Medieninhalte nur noch kostenpflichtig herunterladen lassen.
2018 verließ Bram Cohen BitTorrent, Inc.

## Einsatzgebiete, Vor- und Nachteile

BitTorrent eignet sich besonders für die schnelle Verteilung großer Dateien, für die eine große Nachfrage vorhanden ist. Bei älteren oder weniger gefragten Dateien ist unter Umständen das Herunterladen über FTP oder HTTP aufgrund der geringen Anzahl von Uploadern vorzuziehen. Dieser Nachteil kann durch die Nutzung sogenannter Webseeds aufgehoben werden. Der Vorgang der Datendistribution mit BitTorrent unterscheidet sich grundsätzlich von der Arbeitsweise der bekannten Filesharing-Tauschbörsen, bei denen jeder Teilnehmer parallel eigene Dateien anbietet. Durch die zunehmende Implementierung von trackerlosen Ansätzen sowie Suchfunktionen in Clients lassen sich diese jedoch wie traditionelle Tauschbörsen verwenden.

### Einsatz in der Praxis

Red Hat und Novell gehörten zu den ersten Linux-Distributoren, die BitTorrent zur Verbreitung ihrer Distributionen verwendeten. Inzwischen sind alle bekannteren Linuxdistributionen und FreeBSD über BitTorrent erhältlich. Der Spieleentwickler Blizzard verteilte die World-of-Warcraft-Beta über BitTorrent und stellt jetzt, wie id Software, die größeren Patches für die finale Version ebenfalls als Torrents bereit. Auch OpenOffice.org und LibreOffice können per BitTorrent geladen werden. Facebook und Twitter verteilen die Software ihrer Server via BitTorrent.
Auch außerhalb des Software-Bereiches gibt es konkrete Anwendungen: Die britische BBC unternimmt derzeit Pilotversuche, um aktuelle Sendungen und Dokumentationen unmittelbar nach der Ausstrahlung online über BitTorrent zur Verfügung zu stellen. Das Freie-Musik-Projekt Jamendo verteilt Alben über BitTorrent.

### Tor-Netzwerk

BitTorrent sollte nicht via Tor genutzt werden, sofern die Nutzung anonymisiert erfolgen soll.

## Sonstiges

Laut Studie der ipoque GmbH machte die Datenübertragung über das BitTorrent-Protokoll in Deutschland im Jahr 2008 37 % des gesamten Datenverkehrs aus und belegte damit weit vor HTTP, mit einem Anteil von 15 %, den Spitzenplatz. Die Repräsentativität dieser Studie wird jedoch bezweifelt, da nur ausgewählte Kunden der ipoque GmbH untersucht wurden.
Weiterhin gibt ipoque an, dass BitTorrent das einzige Filesharing-Protokoll sei, das signifikant für legale Inhalte genutzt werde.
Zwischenzeitlich zeigte Google das Wort bittorrent über die Autocomplete-Funktion nicht an.

### Rechtliches

Das BitTorrent-Protokoll selbst ist völlig legal. Probleme entstehen, wenn urheberrechtswidriger Inhalt übertragen wird.
Die Legalität des Betreibens von Torrentseiten oder Trackerservern mit Torrents, über die urheberrechtlich geschütztes Material ohne Genehmigung verbreitet werden kann, ist umstritten, da die Server selbst keine Dateien anbieten, sondern nur die Peers untereinander verbinden.
Die Motion Picture Association of America (MPAA) ging erstmals 2003 gegen Torrent-Seiten vor, was im Juli 2003 zur Schließung der Seiten Torrentse und Sharelive führte. In der Vergangenheit kam es auch häufiger zu Beschlagnahmungen von Servern, die Torrents anboten. Die erste groß angelegte Aktion fand im Dezember 2004 statt, als die finnische Polizei eine Razzia auf die Server der Seite Finreactor durchführte. Die Torrents werden seitdem nicht mehr angeboten und das Verfahren wurde eingestellt. Die bis dato wohl größte Torrent-Seite, Suprnova, wurde ebenfalls im Dezember 2004 geschlossen, nachdem die slowenischen Behörden eine Durchsuchung bei ihrem Provider durchgeführt hatten. Die Seite LokiTorrent, vermutlich die damals größte Torrent-Suchmaschine nach Suprnova, stellte kurz darauf im Februar 2005 den Dienst ein. Nach Angaben der MPAA zahlte der Administrator Edward Webber eine Geldstrafe und wurde gerichtlich zur Herausgabe von Log-Dateien gezwungen. Im Mai 2005 schlossen die US-Behörden FBI und das dem Ministerium für Innere Sicherheit untergeordnete Immigration and Customs Enforcement die Seite EliteTorrents.
Die bisher wohl spektakulärste Aktion fand im Mai 2006 statt, als der weltgrößte BitTorrent-Tracker ThePirateBay.org auf Druck des US-Justizministeriums von der schwedischen Polizei beschlagnahmt wurde, jedoch bereits wenige Tage später wieder am Netz war. Im Februar 2009 wurden vier der Betreiber von The Pirate Bay von der schwedischen Justiz angeklagt und im April zu jeweils einjährigen Haftstrafen sowie Schadenersatzzahlungen in Millionenhöhe verurteilt. Dies ist insofern bedeutend, als es um das Bereitstellen urheberrechtsgeschützter Inhalte ging, die jedoch an sich nicht auf den Servern der Betreiber liegen. Das Urteil ist noch nicht rechtskräftig. Anfang Dezember 2014 startet die schwedische Polizei die größte Razzia gegen The Pirate Bay und beschlagnahmten Server und weitere Technik aus einem Rechenzentrum. Die Seite wurde vom Netz genommen. Am Vormittag des 1. Februar 2015 ging die Seite allerdings wieder online.
In diesem Zusammenhang ist mittlerweile auch oft von P2P-„Privatsphäre“ oder P2P-Privacy die Rede. Grundsätzlich ist es jedermann möglich, einen BitTorrent-Trackerserver ins Netz zu stellen, also auch ein Urheberrechtschutzverband oder eine Strafermittlungsbehörde. Zusätzlich können natürlich auch am eigentlichen Peering (Datenaustausch) die zuvor genannten Organisationen und Institutionen teilnehmen und damit gegebenenfalls einen „Nachweis“ der im P2P-Netz übertragenen respektive getauschten Dateien erlangen. Da es für den Anwender auf der BitTorrent-Client-Seite nur schwer nachzuvollziehen ist, welche Tracker-Server oder Peers (IPs) sozusagen lediglich „mithorchen“, gibt es Bestrebungen und Projekte, einen besseren Schutz der Privatsphäre in P2P-Netzwerken erreichen zu wollen. Ein Ansatz hierfür ist es, einfach bestimmte IP-Nummern via IP-Listen zu blockieren und damit vom jeweiligen Torrent auszuschließen. Als Beispiel sei hier PeerGuardian genannt.
Nach einer Untersuchung der britischen University of Birmingham wird die eigene IP-Adresse bei Filesharing von populären Dateien im BitTorrent-Netzwerk wahrscheinlich innerhalb von drei Stunden protokolliert. Bei Torrents, die nicht unter den 100 populärsten bei The Pirate Bay waren, wurde hingegen keinerlei Überwachung festgestellt. Allerdings kann die IP-Adresse durch Anonymisierungsdienste wie Proxy-Server und Virtual Private Networks (VPNs) versteckt werden.
Weitere Informationen zur Rechtslage befinden sich unter Filesharing.