Las descargas torrent serán más seguras y los magnets cargarán antes

Las descargas torrent serán más seguras y los magnets cargarán antes

Alberto García

Las descargas torrent utilizan el protocolo BitTorrent para realizar las conexiones P2P entre los participantes. La implementación más conocida del protocolo BitTorrent es libtorrent, que además es open-source. La utilizan programas como qBittorrent, Deluge o LimeWire. Ahora, acaba de recibir una actualización que hará las descargas torrent más seguras, que los enlaces magnet se carguen antes y que los torrents ocupen menos.

La nueva versión de libtorrent-2.0, que lleva probándose desde hace varios meses, es ahora compatible con BitTorrent v2. Este nuevo protocolo busca dejar de lado el cifrado SHA-1 en favor de SHA-256, mucho más seguro. Este cambio empezó a realizarse justo después de que Google crackease mediante fuerza bruta SHA-1, demostrando lo inseguro que es este cifrado. Como este cambio en la función de hash haría que el nuevo sistema no fuese retrocompatible, decidieron introducir más cambios.

El cambio a SHA-256 hace que los hashes pasen a ser de 32 bytes en lugar de 20 bytes. Para mantener la compatibilidad con el DHT y los trackers, la información necesaria para realizar las búsquedas se ha recortado para que se mantenga en 20 bytes. Sin embargo, se seguirán creando dos «enjambres» distintas para cada torrent dependiendo del protocolo compatible usado por cada usuario.

Los enlaces magnet cargarán antes al descargar

Para evitar que el tamaño de los torrent crezca demasiado, también se ha simplificado la forma en la que se identifican los hashes. Con BitTorrent v1, los hashes se trocean e incluyen el archivo torrent, ocupando la mayor parte de ese archivo. Para mantenerlo en un tamaño asumible para torrents de gran tamaño, se puede reducir el número de piezas en las que se divide el torrent, pero eso obliga a bajar una parte más grande del archivo final si hay algún fallo en el hash o en la descarga.

Por ello, ahora con BitTorrent v2 se usa un árbol de hashes, llamado «merkle hash tree«. En lugar de usar los hashes para cada trozo, sólo se necesita el hash raíz del árbol. Gracias a ello, la latencia al añadir un enlace magnet se reduce al tener que descargar menos información antes de iniciar una descarga. En segundo lugar, se podrá descubrir si un peer envía un bloque corrupto, y sólo será necesario redescargar 16 kiB.

Los archivos .torrent incluirán estos hashes, y su tamaño será menor que el de los actuales. Además, la parte que necesitan los magnets sí será más pequeña, lo que hará que su descarga se inicie antes. Los magnets actuales tienen el prefijo » urn:btih:», y los nuevos tienen «urn:btmh:», por lo que podrás identificarlos más fácilmente.

Habrá archivos torrent híbridos compatibles con BitTorrent v1 y v2

Los archivos que sean idénticos tendrán hashes iguales, lo que permitirá que haya archivos que puedan moverse fácilmente de un torrent a otro al crearlos sin tener que crear hashes nuevos. Gracias a ello, será posible encontrar más semillas en otros enjambres. Con ello, archivos subidos a distintos trackers podrán descargarse con mayor facilidad, incluso aunque no todos los archivos dentro del mismo torrent sean iguales. Por ejemplo, si estás descargando un disco de grandes éxitos de un grupo de música, y una de sus canciones tiene el mismo hash que otra que aparece en el disco en el que fue lanzada originalmente, se podrá bajar esa canción en concreto.

Para asegurar la retrocompatibilidad, será posible crear torrents híbridos, donde los archivos que descarguemos podrán obtenerse de usuarios que estén usando tanto la versión v1 como la versión v2 de BitTorrent. Los torrents híbridos tendrán dos hashes, uno SHA-1 y otro SHA-256.

En la web de libtorrent han puesto un ejemplo de dos archivos torrent: uno v2 y otro híbrido para comprobar si nuestro gestor de torrents es compatible. El tamaño del v2 es de 14 KB, por los 35 KB que ocuparía de ser un torrent v1. El híbrido ocupa bastante más, subiendo a 90 KB.