BitTorrent v2: el protocolo P2P que todos amamos se renueva con el lanzamiento de libtorrent 2.0

BitTorrent v2: el protocolo P2P que todos amamos se renueva con el lanzamiento de libtorrent 2.0
5 comentarios Facebook Twitter Flipboard E-mail

BitTorrent ha evolucionado. La librería open source, quizás la más famosa, que implementa ese protocolo, es decir libtorrent, acaba de lanzar su versión 2.0 y su característica más importante es que soporta BitTorrent v2.

BitTorrent v2 es una nueva versión del protocolo en la que se lleva trabajando bastante tiempo y cuyo objetivo inicial era moverse de SHA-1 a SHA-256, es decir, el algoritmo de hash seguro para manejar las partes de los torrents. Pero BitTorrent v2 trae más cambios importantes que ese.

Un vistazo a…
BitTorrent: ¿qué es y cómo funcionan los torrents?

El gran árbol hash de BitTorrent v2

bittorrent

En BitTorrent v1, las partes de los archivos y los hashes resultantes se incluyen en los metadatos del archivo .torrent. En la mayoría de los casos, el hash de las partes es el grueso del tamaño de los archivos .torrent.

Para mantener el tamaño del archivo .torrent dentro de los límites de los archivos grandes, se puede aumentar el tamaño de la parte, lo que significa que cada hash representa una porción mayor del archivo. Una consecuencia de los tamaños de parte grandes es que si un hash falla, hay que volver a descargar una porción mayor del archivo, hasta que la parte pase la comprobación de hash.

Ahora, BitTorrent v2 utiliza algo llamado "merkle hash trees" o árbol hash, es decir una estructura de datos en árbol para representar cada uno de los hashes de las partes. Esto logra que los archivos .torrent sean pequeños porque lo único que hace falta es el hash raíz del árbol.

Arbol Hash
Ejemplo de un árbol hash con cuatro bloques y una parte de 32 kiB (dos bloques por parte)

Las ventajas de esto son varias. Primero, los metadatos de los torrents se hacen mucho más pequeños, esto recorta la latencia cuando añadimos un enlace magnético ya que se necesitan descargar menos bytes antes de que la descarga del torrent pueda iniciar.

Y, segundo, los datos descargados se pueden validar a nivel de bloque. Es decir, que si un peer envía datos corruptos, se puede descubrir de forma inmediata y solo se tienen que descargar los 16 kiB del tamaño del árbol hash que siempre es el mismo.

BitTorrent v2 no solo usa un árbol hash, sino que forma un árbol hash para cada archivo del torrent. Esto es ventajoso porque los archivos idénticos siempre tendrán el mismo hash y pueden ser movidos más fácilmente de un torrent a otro sin tener que hace re-hash de nada.

Otra ventaja muy importante es que los archivos que sean idénticos pueden ser identificados más fácilmente a través de diferentes enjambres. Esto podría tener el potencial de optimizar descargas de archivos obteniendo partes de diferentes torrents siempre que tengan partes idénticas con el mismo hash.

Con BitTorrent v2 aparte de las mejoras en la gestión de hashes, también se ha mejorado las generación de ficheros, la codificación y los enlaces magnéticos. Pueden leer más detalles en el anuncio oficial. De momento no todas las funciones son retrocompatibles con BitTorrent v1, y a estas se les han dado nuevos nombres de forma cuidadosa para que puedan convivir con la v1.

Actualmente es posible crear torrents híbridos que pueden participar en enjambres de la versión 1 y la 2 al mismo tiempo sirviendo los mismos archivos.

Vía | mixx.io

Comentarios cerrados
Inicio