A fost publicată versiunea de referință a protocolului Yggdrasil 0.4, care permite desfășurarea unei rețele IPv6 private decentralizate peste o rețea globală obișnuită, utilizând criptarea end-to-end pentru a proteja confidențialitatea. Orice aplicație existentă care suportă IPv6 poate fi utilizată prin rețeaua Yggdrasil. Implementarea este scrisă în limbajul Go și este distribuită sub licența LGPLv3. Sunt acceptate platformele Linux, Windows, macOS, FreeBSD, OpenBSD și Ubiquiti EdgeRouter.
Yggdrasil dezvoltă o nouă concept de rutare pentru a crea o rețea globală decentralizată, în care nodurile se pot conecta atât direct între ele în mod mesh (de exemplu, prin Wi-Fi sau Bluetooth), cât și interacționa peste rețelele existente IPv6 sau IPv4 (o rețea peste o rețea). O caracteristică distinctivă a Yggdrasil este autoorganizarea funcționării, fără a necesita configurarea explicită a rutării — informația despre rute este calculată în funcție de localizarea nodului în rețea în raport cu celelalte noduri. Dispozitivele sunt adresate printr-o adresă IPv6 obișnuită, care nu se schimbă în cazul deplasării nodului (Yggdrasil folosește o gamă neutilizată de adrese 0200::/7).
Întreaga rețea Yggdrasil este văzută nu ca o agregare de subrețele disparate, ci ca un arbore structurabil unic, care are un singur „rădăcină”, iar fiecare nod are un părinte, precum și unul sau mai mulți descendenți. Această structură arborească permite construirea unui traseu către nodul de destinație, în raport cu nodul sursă, folosind mecanismul „locator”, care determină calea optimă către nod de la rădăcină.
Informațiile despre arbore sunt distribuite între noduri și nu sunt stocate centralizat. Pentru schimbul de date despre rutare se utilizează o tabelă hash distribuită (DHT), prin care un nod poate extrage toată informația despre ruta către un alt nod. Rețeaua în sine asigură doar criptare end-to-end (nodurile intermediare nu pot determina conținutul), dar nu și anonimat (în cazul conectării prin internet, nodurile peer-to-peer cu care se interacționează pot determina adresa IP reală, așa că pentru anonimat se propune conectarea nodurilor prin Tor sau I2P).
Se observă că, în ciuda faptului că proiectul se află în stadiul de dezvoltare alfa, acesta este deja suficient de stabil pentru utilizarea zilnică, dar nu garantează compatibilitatea inversă între versiuni. Pentru Yggdrasil 0.4, comunitatea susține un set de servicii, inclusiv o platformă pentru gazduirea containerelor Linux pentru site-urile proprii, motorul de căutare YaCy, un server de comunicare serverul Matrix, un server IRC, DNS, un sistem VoIP, un tracker BitTorrent, o hartă a punctelor de conectare, un gateway către IPFS și un proxy pentru accesarea rețelelor Tor, I2P și clearnet.
În noua versiune:
- A fost implementat un nou mecanism de rutare, incompatibil cu versiunile anterioare ale Yggdrasil.
- La stabilirea conexiunilor TLS cu nodurile, este utilizată asocierea cheilor publice (key pinning). Dacă asocierea lipsește la conexiune, cheia obținută va fi reținută pentru conexiune. Dacă asocierea a fost stabilită, dar cheia nu se potrivește, conexiunea va fi respinsă. TLS cu asocierea cheilor este definit ca metoda recomandată de conectare la piramidă.
- Codul pentru rutare și gestionarea sesiunilor a fost complet refăcut și rescris, ceea ce a crescut lățimea de bandă și fiabilitatea funcționării, în special pentru nodurile care schimbă frecvent pirații. În sesiunile criptografice a fost implementată rotația periodică a cheilor. A fost adăugată suportul pentru rutare pe baza sursei (Source routing), care poate fi folosit pentru redirecționarea traficului IPv6 al utilizatorilor. Arhitectura tablei de hash distribuite (DHT) a fost refăcută și a fost adăugat suport pentru rutarea bazată pe DHT. Implementarea algoritmilor de rutare a fost mutată într-o bibliotecă separată.
- adrese IP IPv6 este acum generat din cheile publice ed25519, nu din hash-ul acestora X25519, ceea ce va conduce la schimbarea tuturor IP-urilor interne după tranziția la versiunea Yggdrasil 0.4.
- Au fost furnizate setări suplimentare pentru căutarea piraților Multicast.
Sursa: opennet.ro
