Yggdrasil una implementación de red IPv6 privada y  descentralizada

julio 05, 2021 , 0 Comments

Yggdrasil es una implementación en etapa inicial de una red IPv6 separada sobre la red global habitual y que está totalmente encriptada de un extremo a otro. Es liviano, auto organizable, compatible con múltiples plataformas y permite que prácticamente cualquier aplicación compatible con IPv6 se comunique de forma segura con otros nodos de Yggdrasil. Yggdrasil no requiere que tenga conectividad a Internet IPv6; también funciona a través de IPv4.

Yggdrasil desarrolla un nuevo concepto de enrutamiento para crear una red descentralizada global, donde los nodos pueden conectarse directamente entre sí en un modo de red de malla (por ejemplo, a través de Wi-Fi o Bluetooth), o interactuar a través de redes IPv6 o IPv4 existentes (red sobre red). Toda la red de Yggdrasil no se ve como una colección de subredes dispares, sino como un único árbol de expansión estructurado, que tiene una «raíz», y cada nodo tiene un padre y uno o más descendientes. Tal estructura de árbol le permite construir una ruta al nodo de destino, en relación con el nodo de origen, utilizando el mecanismo de «localizador», que determina la ruta óptima al nodo desde la raíz.

La información sobre el árbol se distribuye entre los nodos y no se almacena de forma centralizada. Se utiliza una tabla hash distribuida (DHT) para intercambiar información de enrutamiento, con la que un nodo puede recuperar toda la información sobre la ruta a otro nodo. La red en sí solo proporciona cifrado de extremo a extremo (los nodos de tránsito no pueden determinar el contenido), pero no el anonimato (cuando se conectan a través de Internet, los pares con los que se lleva a cabo la comunicación directa pueden determinar la dirección IP real, por lo que el anonimato es propuesto para conectar los nodos a través de Tor o I2P).

Se observa que, aunque el proyecto se encuentra en la etapa de desarrollo alfa, ya es lo suficientemente estable para el uso diario, pero no garantiza la compatibilidad con versiones anteriores entre versiones. Para Yggdrasil 0.4, la comunidad mantiene un conjunto de servicios, incluida una plataforma para alojar contenedores Linux para alojar sus sitios, motor de búsqueda YaCy, servidor de comunicación Matrix, servidor IRC, DNS, sistema VoIP, rastreador BitTorrent, mapa de puntos de conexión, puerta de enlace IPFS y proxy para acceder a las redes Tor, I2P y clearnet.

Actualmente la implementación se encuentra en su versión 0.4 y en la nueva versión se implementó un nuevo esquema de enrutamiento que no es compatible con versiones anteriores de Yggdrasil. Además al establecer conexiones TLS con nodos, se utiliza la fijación de claves. Si no hubo enlace durante la conexión, la clave resultante se asignará a la conexión. Si se ha establecido la vinculación, pero la clave no coincide, se rechazará la conexión. TLS con enlace de clave se define como el método recomendado para conectarse a pares.

Otro de los cambios que se realizó es que el código fue completamente rediseñado y reescrito para el enrutamiento y la administración de sesiones, que aumentó el rendimiento y la confiabilidad operativa, especialmente para los nodos que cambian frecuentemente de pares. La rotación periódica de claves se implementa en sesiones criptográficas. Se agregó soporte para el enrutamiento de origen, que se puede usar para enrutar tráfico IPv6 personalizado. Se rediseñó la arquitectura de la tabla hash distribuida (DHT) y se agregó soporte para el enrutamiento basado en DHT. La implementación de algoritmos de enrutamiento se ha trasladado a una biblioteca separada

Las direcciones IP IPv6 ahora se generan a partir de claves públicas ed25519 en lugar de su hash X25519, lo que hará que todas las direcciones IP internas cambien después de actualizar a Yggdrasil 0.4.
Se proporcionan configuraciones adicionales para buscar pares de multidifusión.

Finalmente si estás interesado en poder conocer más al respecto sobre esta implementación, quieres saber como instalar Yggdrasil asi como tambien el como configurar o consultar su documentación, puedes hacerlo desde el siguiente enlace. 


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.