Objavljena je referentna verzija protokola Yggdrasil 0.4, koja omogućava uspostavljanje samostalne decentralizovane privatne IPv6 mreže preko uobičajene globalne mreže, sa enkripcijom krajnje do krajnje za zaštitu privatnosti. Bilo koja postojeća aplikacija koja podržava IPv6 može da se koristi preko Yggdrasil mreže. Implementacija je napisana u Go jeziku i distribuira se pod LGPLv3 licencom. Podržani su Linux, Windows, macOS, FreeBSD, OpenBSD i Ubiquiti EdgeRouter platforme.
Yggdrasil razvija novu koncepciju rutiranja za kreiranje globalne decentralizovane mreže, čvorovi koje se mogu povezivati direktno među sobom u mesh mreži (na primer, putem Wi-Fi ili Bluetooth-a), kao i komunicirati preko postojećih IPv6 ili IPv4 mreža (mreža preko mreže). Osobina Yggdrasil-a je samoorganizacija rada, bez potrebe za eksplicitnim podešavanjem rutiranja — informacije o rutama se izračunavaju na osnovu položaja čvora u mreži u odnosu na druge čvorove. Uređaji se adresiraju kroz uobičajenu IPv6 adresu, koja se ne menja prilikom premestanja čvora (u Yggdrasil-u se koristi neiskorišćeni opseg adresa 0200::/7).
Cela mreža Yggdrasil posmatra se ne kao skup razdvojenih podmreža, već kao jedinstveno strukturirano stablo, koje ima jedan "korena", dok svaki čvor ima jednog roditelja i jednog ili više potomaka. Ova stablo struktura omogućava funkcionalnost uspostavljanja rute do odredišnog čvora, u odnosu na izvorni čvor, koristeći mehanizam "locator" koji određuje optimalan put do čvora od korena.
Informacija o drevesu se distribuira med vozli in ni shranjena centralizirano. Za izmenjavo podatkov o usmerjanju se uporablja distribuirana hashtable (DHT), ki omogoča vozli, da pridobi vse informacije o poti do drugega vozla. Sama mreža zagotavlja le končno šifriranje (prehodna vozlišča ne morejo določiti vsebine), vendar ne anonimnost (ob povezovanju preko interneta lahko enopartijska vozlišča, s katerimi poteka neposredna interakcija, določijo dejanski IP naslov, zato se za anonimnost priporoča povezovanje vozlov preko Tor ali I2P).
Opozarja se, da kljub temu, da se projekt nahaja v fazi alfa razvoja, že dovolj stabilen za dnevno uporabo, vendar ne zagotavlja nazaj združljivosti med izdajami. Za Yggdrasil 0.4 skupnost podpira nabor storitev, vključno s platformo za gostovanje Linux kontejnerjev za pogostitev lastnih spletnih strani, iskalnikom YaCy, komunikacijo strežnik Matrix, IRC strežnik, DNS, VoIP sistem, BitTorrent tracker, zemljevid povezovalnih točk, prehod v IPFS ter proxy za dostop do omrežij Tor, I2P in clearnet.
V novi različici:
- Izvedena je nova shema usmerjanja, ki ni združljiva s prejšnjimi izdajami Yggdrasil.
- Pri vzpostavljanju TLS povezav z vozli se uporablja vezava javnih ključev (key pinning). Če vezava pri povezovanju ni bila prisotna, bo pridobljeni ključ dodeljen povezavi. Če je bila vezava vzpostavljena, vendar ključ ne ustreza, bo povezava zavrnjena. TLS z vezavo ključev je določen kot priporočena metoda povezovanja s piram.
- Koda za usmerjanje in upravljanje sej je bila popolnoma predelana in ponovno napisana, kar je omogočilo povečanje prepustnosti in zanesljivosti delovanja, še posebej za vozlišča, ki pogosto spreminjajo pare. V kriptografskih sejah je uvedena periodicna rotacija ključev. Dodana je podpora za usmerjanje po viru (Source routing), ki se lahko uporablja za preusmerjanje uporabniškega IPv6 prometa. Preurejena je arhitektura distribuirane hashtable (DHT) in dodana podpora za usmerjanje na podlagi DHT. Izvedba algoritmov usmerjanja je bila prenesena v ločeno knjižnico.
- IP-naslove IPv6 se zdaj oblikuje iz odprtih ključev ed25519, namesto iz njihovega hasha X25519, kar bo privedlo do spremembe vseh notranjih IP naslovov po prehodu na izdajo Yggdrasil 0.4.
- Dodatne nastavitve za iskanje Multicast peers so na voljo.
Izvor: opennet.ru
