Torrent: hoe bestanden delen zonder centrale server werkt
Een torrent is een manier om bestanden te downloaden waarbij niet één centrale server het werk doet, maar duizenden gewone computers samen. Stel je een groep mensen voor die allemaal een klein stukje van dezelfde legpuzzel hebben. In plaats van te wachten tot iemand de hele puzzel af heeft en die dan naar jou opstuurt, verzamel je losse puzzelstukjes bij verschillende mensen tegelijk. Zodra jij zelf een paar stukjes hebt, geef je die op jouw beurt weer door aan anderen die ze nog missen.
Dat is in essentie hoe het BitTorrent-protocol werkt: een technische afspraak over hoe computers bestanden in kleine stukjes met elkaar kunnen uitwisselen. Hoe meer mensen tegelijk hetzelfde bestand willen hebben, hoe sneller het voor iedereen gaat, omdat de belasting wordt verspreid over alle deelnemers in plaats van op één server te drukken. Dit systeem wordt peer-to-peer (P2P) genoemd: computers ('peers', deelnemers) praten rechtstreeks met elkaar, zonder tussenkomst van een centrale partij die alle data doorstuurt.
Wat is het precies?
Om een torrent te downloaden heb je meestal eerst een klein bestandje nodig: het .torrent-bestand. Dit bevat geen daadwerkelijke inhoud, maar alleen metadata: de naam van het bestand, de grootte, en een lijst van digitale 'vingerafdrukken' (hashes) van elk stukje waarin het bestand is opgeknipt.
Vroeger regelde een tracker het contact tussen deelnemers: een server die bijhield wie welk bestand aan het downloaden of aanbieden was, en die lijst deelde met nieuwe deelnemers. Wie een volledige kopie van het bestand aanbiedt aan anderen heet een seeder; wie nog bezig is met downloaden en tegelijk de stukjes die hij al heeft weer doorgeeft, heet een leecher. De hele groep deelnemers rond één bestand noemt men de swarm (zwerm).
Elk stukje van het bestand wordt gecontroleerd met de hash uit het .torrent-bestand. Komt de vingerafdruk niet overeen, dan wordt het stukje verworpen en opnieuw gedownload. Zo blijft een bestand betrouwbaar, ook al komt het van tientallen onbekende computers tegelijk.
Trackers zijn tegenwoordig niet altijd meer nodig. Via een systeem genaamd DHT (Distributed Hash Table, een soort gedeeld telefoonboek dat over alle deelnemers verspreid staat) kunnen computers elkaar ook zonder centrale tracker vinden. Daardoor volstaat vaak een korte tekstregel, een magnet-link, die alleen de identificatiecode van het bestand bevat in plaats van een heel .torrent-bestand.
Om dit allemaal te laten werken, gebruik je een torrentclient: software zoals qBittorrent of Transmission die het protocol afhandelt, stukjes ophaalt en weer doorgeeft, en alles samenvoegt tot het uiteindelijke bestand.
Wat wil men ermee bereiken?
Het belangrijkste doel van BitTorrent is decentralisatie: geen enkele server hoeft alle verkeer te dragen, waardoor er ook geen 'single point of failure' is die het hele systeem kan platleggen. Valt één deelnemer uit, dan halen anderen de ontbrekende stukjes gewoon bij iemand anders.
Daarnaast is het ontworpen om vanzelf te schalen: hoe populairder een bestand, hoe meer seeders er zijn, en dus hoe sneller iedereen het kan downloaden. Dit is het tegenovergestelde van een gewone website, die juist trager wordt naarmate meer mensen tegelijk downloaden.
Voor uitgevers van grote bestanden — denk aan een besturingssysteem van meerdere gigabytes — betekent dit lagere kosten: zij hoeven niet zelf voor alle bandbreedte te betalen, omdat gebruikers een deel van de verspreiding overnemen. Tot slot wordt het protocol gewaardeerd om zijn censuurbestendigheid en geschiktheid voor digitale archivering: bestanden die via veel verschillende computers verspreid zijn, zijn lastiger volledig te laten verdwijnen dan bestanden die op één server staan.
Voorbeelden uit de praktijk
Programmeur Bram Cohen publiceerde het BitTorrent-protocol in 2001. Het idee sloeg aan omdat internetverbindingen destijds traag waren en het downloaden van grote bestanden via één server onpraktisch was.
Linux-distributies zoals Ubuntu en Debian bieden hun installatiebestanden nog steeds officieel aan via torrents, naast gewone downloadlinks. Dit ontlast hun servers en werkt goed omdat veel mensen tegelijk dezelfde versie downloaden.
De Internet Archive, de bekende digitale bibliotheek, gebruikt torrents om delen van haar enorme archief te verspreiden. Zo blijft materiaal ook toegankelijk als de eigen servers overbelast raken.
Sinds ongeveer 2014 bestaat Academic Torrents, een platform waar onderzoekers wetenschappelijke datasets en trainingsdata voor machine learning delen via het BitTorrent-protocol. Voor datasets van vele gigabytes is dit vaak praktischer dan een gewone download.
Facebook heeft in het verleden intern een op BitTorrent gebaseerd systeem gebruikt om nieuwe software razendsnel naar duizenden servers tegelijk te verspreiden, in plaats van elke server apart te bedienen vanaf één bron.
Hoe ver is de techniek?
BitTorrent is een volwassen technologie: het protocol bestaat inmiddels meer dan twintig jaar en de basisprincipes zijn nauwelijks veranderd. Verbeteringen zitten vooral in randzaken, zoals betere DHT-implementaties, encryptie van het verkeer, en efficiëntere manieren om peers te vinden.
Het gebruik voor entertainment (films, series, muziek) is de afgelopen jaren afgenomen, vooral doordat streamingdiensten als Netflix en Spotify legaal en gemakkelijk aanbod bieden. Hoeveel torrentverkeer er wereldwijd precies nog is, is lastig exact te meten: metingen door netwerkbeheerders en onderzoeksbureaus lopen uiteen en het verkeer is deels versleuteld, wat tellen bemoeilijkt.
Voor legitieme grootschalige bestandsverspreiding en wetenschappelijke data blijft het protocol wel relevant. Daarnaast zijn er verwante, nieuwere technologieën die voortbouwen op hetzelfde idee van decentrale verspreiding. IPFS (InterPlanetary File System) is een systeem dat bestanden identificeert op basis van hun inhoud in plaats van hun locatie, wat decentrale opslag van webinhoud mogelijk maakt. WebTorrent is een variant die rechtstreeks in de webbrowser werkt, via een technologie genaamd WebRTC, zodat je geen aparte torrentclient hoeft te installeren.
Wie werken eraan?
Bedenker Bram Cohen richtte na de publicatie van het protocol het bedrijf BitTorrent Inc. op. Dat bedrijf, tegenwoordig Rainberry Inc. geheten, is eigenaar van bekende clients zoals uTorrent en van het BitTorrent-merk. Sinds 2018 maakt het onderdeel uit van het bedrijvennetwerk rond de cryptomunt TRON, opgericht door ondernemer Justin Sun.
Daarnaast wordt het ecosysteem grotendeels gedragen door de open source gemeenschap: vrijwillige ontwikkelaars onderhouden gratis clients zoals qBittorrent en Transmission, los van enig commercieel bedrijf.
Op het gebied van verwante decentrale technologie is Protocol Labs de belangrijkste speler achter IPFS. Academische instellingen en individuele onderzoekers houden gezamenlijk het platform Academic Torrents draaiende, als non-profit initiatief voor wetenschappelijke datadeling.