BitTorrent es uno de los protocolos que se utilizan para el intercambio de archivos más conocidos de Internet.
Este protocolo se diseño en 2001 y empezó a funcionar a principios de julio de 2001.
Actualmente se mantiene gracias a la empresa Cohen y BitTorrent, y cuanta con numerosos clientes de diferentes sistemas operativos.
Las estimaciones de usuarios activos que utilizan BitTorrent están próximas a los 160 millones.
Aunque la cifra de usuarios activos es solo un parte de la cantidad de usuarios que han podido utilizar BitTorrent desde 2001 que fue cuando se puso en marcha.
Cómo funciona BitTorrent
- Cada archivo que se va a distribuir se parte en pequeñas piezas y a esa pieza se le calcula el SHA-1, que nos servirá para poder identificar cada pieza.
- Un archivo con información acerca de este fichero es enviado a todos los peers, es el archivo denominado .torrent (metadata) ,contiene solo información acerca del fichero que se va a distribuir.
- Este fichero se envía a través de conexiones http, por lo general está alojado en cualquier servidor que “anuncie” esta descarga al usuario.
- El fichero utorrent contiene:
- El tracker está en un servidor central y guarda toda la lista de todos los participantes (peers) que contienen el fichero en un Swarm.
- Un Swarm es un conjunto de peers que participan en la distribución del mismo fichero. Cuando un peer inicia la descarga de un fichero se une a la lista swarm y se conecta a los distintos peers de esta lista de los cuales descargará partes del fichero.
- Tit-for-tat es un mecanismo para premiar a los usuarios que comparten más frente a los usuarios que comparten menos, a los que no se les premiará.
– Un tracker de referencia o link.
– El SHA-1 de todas las piezas de este fichero.
– Un mapeo de todas las piezas del fichero.
En muchos clientes torrent recompensan a los usuarios que comparten más, permitiendoles bajar ficheros antes que los usuarios que comparten menos o que no comparten. Cuando un usuario recibe las solicitudes de descarga, este decide a que peers autoriza a descargar el fichero y a cuales no, a este proceso se le denomina unchoking.
Este sistema ayuda a mejorar y recompensar a los que más comparten y no recompensan a los Free-riders, denominados así los peers que no comparten.
Además se autorizan otros peers al azar con el fin de detectar potenciales nuevos colaboradores, a este proceso se le denomina “optimistic unchoking“.