Det har publicerats en version av referensimplementeringen av Yggdrasil-protokollet 0.4, som möjliggör skapandet av ett separat decentraliserat privat IPv6-nÀtverk ovanpÄ det vanliga globala nÀtverket. För att skydda sekretessen anvÀnds end-to-end-kryptering. Alla befintliga applikationer som stödjer IPv6 kan anvÀndas via Yggdrasil-nÀtverket. Implementeringen Àr skriven i Go och distribueras under LGPLv3-licensen. Stödda plattformar inkluderar Linux, Windows, macOS, FreeBSD, OpenBSD och Ubiquiti EdgeRouter.
Yggdrasil utvecklar ett nytt koncept för routning för att skapa ett globalt decentraliserat nĂ€tverk dĂ€r noder kan ansluta direkt till varandra i ett mesh-nĂ€tverk (till exempel via Wi-Fi eller Bluetooth) eller interagera ovanpĂ„ befintliga IPv6- eller IPv4-nĂ€tverk (nĂ€tverksbaserat över nĂ€tverket). En karakteristisk funktion hos Yggdrasil Ă€r sjĂ€lvorganisering av arbetet, utan behov av explicit routningsinstĂ€llning â informationen om rutter berĂ€knas baserat pĂ„ nodens placering i nĂ€tverket i förhĂ„llande till andra noder. Enheter adresseras med en vanlig IPv6-adress som inte Ă€ndras vid nodens flyttning (Yggdrasil anvĂ€nder ett oanvĂ€nt adressintervall 0200::/7).
Hela Yggdrasil-nÀtverket betraktas inte som en sammanslutning av skilda delnÀt, utan som ett enhetligt strukturerat spÄrningstrÀd, som har en "rot" och varje nod har en förÀlder samt en eller flera avkommor. Denna trÀstruktur möjliggör att konstruera en rutt till destinationsnoden, relativt kÀllnoden, genom en "locator"-mekanism som faststÀller den optimala vÀgen till noden frÄn roten.
Information om trÀdet distribueras mellan noderna och lagras inte centralt. För att utbyta data om routning anvÀnds en distribuerad hash-tabell (DHT), genom vilken en nod kan hÀmta all information om rutten till en annan nod. SjÀlva nÀtverket tillhandahÄller endast end-to-end-kryptering (transitnoder kan inte bestÀmma innehÄllet), men inte anonymitet (vid anslutning via internet kan peer-noder, med vilka direkt interaktion sker, bestÀmma den verkliga IP-adressen, och dÀrför föreslÄs att ansluta noder via Tor eller I2P för anonymitet).
Det pÄpekas att trots att projektet befinner sig i alfa-utvecklingsstadiet, Àr det redan tillrÀckligt stabilt för daglig anvÀndning, men garanterar inte bakÄtkompatibilitet mellan versionerna. För Yggdrasil 0.4 stöds av gemenskapen ett set av tjÀnster, inklusive en plattform för att husera Linux-container för att hosta sina webbplatser, sökmotorn YaCy, kommunikations Matrix, IRC-server, DNS, VoIP-system, BitTorrent-tracker, anslutningspunktskarta, gateway till IPFS och proxy för Ätkomst till Tor-, I2P- och clearnet-nÀtverk. server Matrix, IRC-server, DNS, VoIP-system, BitTorrent-tracker, anslutningspunktskarta, gateway till IPFS och proxy för Ätkomst till nÀtverken Tor, I2P och clearnet.
I den nya versionen:
- En ny routningsschema har implementerats, som inte Àr kompatibel med tidigare versioner av Yggdrasil.
- Vid installation av TLS-anslutningar med noder anvÀnds nyckelbindning (key pinning). Om nyckelbindning saknades vid anslutningen kommer den erhÄllna nyckeln att bindas till anslutningen. Om bindningen var etablerad men nyckeln inte överensstÀmmer, kommer anslutningen att avvisas. TLS med nyckelbindning definieras som den rekommenderade metoden för att ansluta till piren.
- Koden för routning och hantering av sessioner har helt omarbetats och skrivits om, vilket har ökat bandbredden och tillförlitligheten, sÀrskilt för noder som ofta Àndrar peers. Periodisk nyckelrotation har implementerats i kryptografiska sessioner. Stöd för source routing har lagts till, vilket kan anvÀndas för att dirigera anvÀndarens IPv6-trafik. Arkitekturen för den distribuerade hash-tabellen (DHT) har omarbetats och stöd för routning baserat pÄ DHT har lagts till. Implementeringen av routningsalgoritmer har flyttats till ett separat bibliotek.
- IP-adresser IPv6 genereras nu frÄn ed25519 öppna nycklar, istÀllet för deras hash X25519, vilket kommer att leda till en förÀndring av alla interna IP-adresser efter övergÄngen till Yggdrasil 0.4.
- Ytterligare instÀllningar för att söka efter Multicast-peers har tillhandahÄllits.
KĂ€lla: opennet.ru
