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

No dudaria en decir que todos hemos escuchado hablar de BitTorrent, pues bien, esta herramienta 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 ya se ha estado trabajando desde hace 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.

El gran árbol hash de BitTorrent v2

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.

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.

Aquí el anuncio oficial


¿Quieres aprender a programar de manera profesional?

 

Te invitamos a formar parte de Azul School donde vas a tener acceso a cursos profesionales con certificado. Además tienes acceso a una red social de programadores donde puedes conocer gente de tu ciudad o país.

 

Si quieres acceder a todas las funciones te regalamos un descuento del 75% usando este cupón (no vas a encontrar este descuento en ningún otro lugar) Cupón: azulweb y lo puedes cambiar aquí: Haz clic aquí para cambiar el cupón del 75%.

 

También puedes probar la plataforma de forma gratuita y obtener un curso gratuito aquí: Haz clic aquí para probar la plataforma de forma gratuita.


Ernesto Mota

Ernesto Mota

Nací en el d.f., sigo siendo defeño, hoy radico en la hermosa ciudad de Cuernavaca, Morelos, soy Ing. en Sistemas computacionales, con un posgrado en Tecnologías de información, Doctorando en ambientes virtuales de aprendizaje y realidad aumentada, Tecnólogo es mi categoría laboral, y mi linea de investigación es la realidad aumentada aplicada a nuevos entornos de aprendizaje.

También te podría gustar...