frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Yggdrasil is an experimental compact routing scheme that is fully decentralised

https://yggdrasil-network.github.io/about.html
193•doener•3d ago

Comments

gnabgib•3d ago
Recently popular:

5 months ago (324 points, 107 comments) https://news.ycombinator.com/item?id=42155780

2022 (216 points, 78 comments) https://news.ycombinator.com/item?id=30156551

2019 as a Show (120 points, 15 comments) https://news.ycombinator.com/item?id=18863554

orbisvicis•3d ago
Is firewalling the yggdrasil adapter susceptible to IP spoofing?
gerdesj•3d ago
Some of us are old enough to remember a Linux distro called Yggdrasil. It was my first but certainly not my last.

Does this thing involve a MAC address?

beanjuiceII•3d ago
some of us even still have Yggdrasil installation media
smackeyacky•3d ago
I have a book and cd. I tried using the cd image with Qemu but I couldn’t work out how to get the CD interface going. It requires some ancient device emulation (I want to say the creative soundblaster CD interface) but I’m not sure the limited ones it knows about are in qemu.
genewitch•3d ago
Try PCem It has ancient stuff. I got os/2 warp and win98 running fine (with voodoo graphics!) Having more trouble coming up with a plan to get bsd or Linux on it. So far I got Debian 9 installed and I'm going to install Gentoo from within on a new vhd.

I know 98 and warp aren't technically ancient, but I had gotten the Xerox star 8010 emulator running well yesterday and went to work on pcem.

makeworld•3d ago
AFAIK no MAC addresses are involved. It assigns you a new IP address, internal to the network, a bit like a VPN.
evbogue•3d ago
yah it's good for logging into computers or accessing servers behind NAT. It's kinda an antidote to this world that's still hooked on ipv4 like it's 1992 or whatever.
mindcrime•3d ago
Previously on HN (sadly no discussion though)

https://news.ycombinator.com/item?id=40828774

kachapopopow•3d ago
Why do I remember minecraft using yggdrasil at some point. Maybe just a name clash of a java library.
codetrotter•3d ago
Yggdrasil is from Norse mythology. So I’m not surprised that a bunch of different people name software after it.

https://en.wikipedia.org/wiki/Yggdrasil

Just like many might pick cool and important names from Greek mythology for example, like Poseidon.

https://en.wikipedia.org/wiki/Poseidon

privong•3d ago
Indeed; Yggdrasil is also the name of a set of models of the emission from stellar populations:

https://www.astro.uu.se/~ez/yggdrasil/ReadMe.txt

https://www.astro.uu.se/~ez/yggdrasil/yggdrasil.html

DigiEggz•3d ago
Brings to mind the system that rules over the Digital World :)

https://wikimon.net/yggdrasill

jazzyjackson•3d ago
wow thanks for the link, the UFO style ring interface floating over a honeycomb is extremely similar to a GUI I designed once, didn't realize Digimon had prior art on it.
Centigonal•3d ago
https://minecraft.fandom.com/wiki/Yggdrasil
awkwardpotato•3d ago
FYI, the Minecraft Fandom wiki is no longer maintained. The new wiki is https://minecraft.wiki/w/Yggdrasil
Centigonal•2d ago
Thanks! I would edit my parent comment if I could.
api•3d ago
The challenge with these schemes is always making them robust against intentional attacks.

It’s hard enough to do that for centrally regulated systems. There are whole giant companies like Cloudflare that mostly exist to do that.

With a fully decentralized mesh if someone finds a working attack there is no good way to coordinate a response.

Small hobby and research nets can get away with that, but if anything like this ever got popular or even close to mainstream it would be destroyed. This is especially true if there were any way to make money by ruining it.

nine_k•3d ago
Is there no way to blacklist nodes?
dexterdog•3d ago
Or throttle new node cration
Centigonal•3d ago
Another related issue is that decentralized networks are often targeted by attackers more than centralized ones, since a common use case for these networks is sharing information that the central entity (or some power that can coerce the central entity) does not want shared, e.g. organizing in authoritarian regimes, illegal file sharing
fsflover•3d ago
Could you solve this by running something like I2P on top of the mesh network? I2P has implemented strong protections against typical attacks.
jazzyjackson•3d ago
I don't know how ygg handles nodes but there's no reason a mesh network has to just accept random new peers, you could do something like mTLS where peers have to present certificates distributed out of band.
Animats•3d ago
> The challenge with these schemes is always making them robust against intentional attacks.

Right. You join the network by generating a random IPv6 address and telling someone about it. So anyone can generate vast numbers of dummy node addresses, which everybody has to track. Now you need spam filtering.

sunshine-o•3d ago
Yes but from my understanding one should not tell anybody about their IP as it is directly derived from a public key [0].

So in practice if you have doubts that your private key might have been compromised you must change your IP ASAP.

So I guess serious Yggdrasil users rely rather on a solid DNS system to manage identities and configure things. They actually need it more than the public internet !

This is the problem the blockchain & Ethereum people bumped into quickly: the 'key = identity' paradigm is elegant but in practice you need an abstraction on top to do anything serious.

I see they do have a DNS infrastructure in place [1] but most of the network services point to IP addresses, what really doesn't make sense to me.

- [0] https://yggdrasil-network.github.io/privacy.html#network-ide...

- [1] https://yggdrasil-network.github.io/services.html#dns

ogurechny•1d ago
There seems to be a misunderstanding. Yggdrasil is not a single network, it's a tool to make such networks. So if you have some computers with some ability to connect them, you can set them to peer in Yggdrasil, and instantly get an auto-configured irtual IPv6 network. (You can even slap some IPv4-to-IPv6 NAT over it, but we shouldn't mention crimes against humanity.)

It seems to me that the main goal of the project is automatic routing that promises that in any peer graph any peer can reach any other at least somehow, which is fine for many use cases. Only in case of moving big data or very different cost of links you might want to check the node hierarchy and set manual peering from X to Y and Y to Z to make traffic flow the way you want.

Public network is a volunteer-run test ground for real life usage, and a way to connect systems that can't connect directly because of NAT. Internal speed test that is 8 hops away on the other side of the world gives me 30 Mbps, closer one, in 5 hops, reaches 90 Mbps (and the local interface is 100 Mbps), so it has some throughput for casual users.

As far as I can understand, current latency-based routing selection is just the most simple way chosen to optimise the network across the whole world, and prevent random 200 ms hops back and forth to intermediate nodes. If traffic from nodes in one half of the tree not having direct connections to the other half goes through the central nodes, it seems that at the moment it's enough for owners of central nodes to peer with each other, and have enough bandwidth. In the future they might need to take the proportions of available channels into account.

bawolff•3d ago
Is there a paper somewhere explaining their system in detail?
drob518•2d ago
Yea, the website was conspicuously opaque about the protocol. Having lived in the networking and IP routing world for decades, that makes me suspicious that this thing is yet another non scalable system. But hey, I’m willing to be convinced.
easygenes•3d ago
If this is interesting to you, there's also a new edge mesh protocol which would dovetail into it well called MeshCore. MeshCore is LoRa and MCU focused, works at L2. Ygg is L3 and could run at e.g. your LoRa SBC gateway to provide seamless global distribution of edge mesh chats and sensor relays.

https://github.com/ripplebiz/MeshCore https://youtu.be/fNWf0Mh2fJw https://chatgpt.com/share/681c281f-0a24-8011-8ec9-6d58ce3db0...

sunshine-o•3d ago
I saw that with Reticulum, Yggdrasil is actually a "Backbone interface" [0] used to connect Reticulum instances. What makes a lot of sense.

- [0] https://reticulum.network/manual/interfaces.html#listeners

Ey7NFZ3P0nzAe•3d ago
Related discussion by reticulum devs: https://github.com/markqvist/Reticulum/discussions/162
eternityforest•2d ago
I'm stills waiting for the Meshtastic vs MeshCore vs Reticulum thing to shake out.... They all have pretty big disadvantages, most of which seem very fixable.

I think what they really need is cheap solar nodes that have external WiFi antennas, so they can mesh over point to point directional links.

LoRa meshing seems like it's eventually going to be a dead end in any kind of dense environments, WiFi just gets you so much more bandwidth, and the edge nodes only need ~2mA of power.

AFAIK only Reticulum and Meshtastic have software support for that ATM.

I have a proof of concept almost working using OpenDHT as a global routing backend for Meshtastic, but Meshtastic still has some security issues (No authentication on a lot of important stuff), and global routing is really only currently easy to do for unicast traffic.

But if they got rid of the channel hash thing, and instead they gave each channel a special receive address(like IPv6 multicast groups) with their own keypair, global routing would probably work fairly seamlessly.

I think ideally they'd change those node/channel IDs to rolling codes so you can't traffic analyze the global routing.

With MeshCore, it doesn't seem like there's documentation on what info the packets actually give you, so I'm not sure how that would work.

And then with Reticulum, there's no C++ implementation of LXML yet, no standalone devices, or anything like that, so I'm not sure if it can replace Meshtastic/MeshCore until that exists.

Meshtastic is also lacking some applications layer stuff, they have the same issue most IoT protocols have, tons of predefined packets for specific sensors, but no modbus-esque generic telemetry packets, no way to just say "Register 59 is 37.6, look up what that means in the register layout file with UUID Jfjeiuehbdhd"

I think Reticulum is closer to having that, with the "fields" thing.

I'm not sure how the global routing works on reticulum though, I get the impression every node needs to know about every other node with some kind of gossip protocol, but I could be completely wrong.

Reticulum also used Kivy for their mobile app, which doesn't feel as polished as Meshtastic, and it's licensed under some non-commercial creative commons thing that causes issues including it in distro repos and such, or so I've heard.

Meshtastic doesn't exist as a convenient Arduino library or Pip installable package or anything like that, it's not exactly very elegantly embeddable in existing apps, and even if it was, it doesn't have the generic abstractions to actually do custom stuff in a way the app understands.

It almost seems like we either need a heavily redesigned Meshtastic 3.0, or something completely new.

They're all amazing projects, but they're all missing something.

cyberax•3d ago
Interesting. There's a fundamental vulnerability in mesh routing: you either have to control addressing, or a malicious actor can flood the network topology with bogus data.

Just imagine somebody generating 10000000000 addresses and flooding everybody with that information.

It looks like Yggdrasil doesn't address (ha) this vulnerability? It kinda side-steps it by requiring enrollment through an already trusted node?

mikeyg•3d ago
at least in the original implementation of this protocol (cjdns) there was already a tiny bit of proof of work happening in address generation. forgive me as this knowledge is over a decade old but it involved finding a curvecp private key that scalmults into a public key that (maybe whose hash?) begins with some specific number. this number is what's actually used as the ipv6 address. and that specific number is the routable ipv6 prefix.

the process would be run again and again during configuration generation until a key that fit this criteria was found. one could up the difficulty of this process considerably.. though not in a protocol backwards-compatible way.

you also needed to find a peer.

but yeah that's a gnarly hole.

cyberax•2d ago
> at least in the original implementation of this protocol (cjdns) there was already a tiny bit of proof of work happening in address generation.

It's just a 1 byte search, completely negligible from the performance standpoint. They look for a public key that has the SHA hash that starts with 0xFC, to indicate that it's not global IPv6 traffic.

I don't think it's possible to solve this, without either making a centralized addressing authority, or involving non-trivial amounts of real money via some blockchain.

getcrunk•3d ago
Mesh/decentralized networks seem poised to finally take off and become widespread. Unfortunately I don’t think it will be in the form of a cyber utopia free of control but a tool of power and surveillance, networking ai powered robots (swarm based weapons) and other smart things
pharos92•3d ago
Shortest path is fundamentally problematic in networks. The shortest path isn't always the best path.

The shortest path might be a 1Mbps link with high latency. The 'best' path might be several 100Mbps links with low latency chain together.

easygenes•3d ago
Ygg doesn't operate strictly as a shortest path protocol. It prefers lowest latency links already and they're roadmapped to handle link cost / dynamic weighting / link congestion. They're targeting a blended weighted metric overlay which would certainly prefer the chain of quick/fat links.
jazzyjackson•3d ago
I ask as someone hyped about decentralized protocol but only following ygg from a distance -- who are they building it for, is there a use case or commercial customer that wants this, or is it more of an idealistic/political endeavor ? I guess I'm wondering how mature the org behind it is, if they're setup for the long haul or taking steps forward when they can, on a hobbyist basis.
sunshine-o•3d ago
It doesn't seem to be any formal org behind (and the main dev seems to work on NATS)

Most of the referenced public peers are in Russia, the US and Germany it seems [0]

- [0] https://publicpeers.neilalexander.dev/

eGQjxkKF6fif•3d ago
I just installed it and it gave me a routable ipv6 address on my shitty little VPS that didn't have one. I'm guessing that if I put this on my laptop then that too will have an ipv6 address and I can communicate from my laptop to the server via ipv6, like tailscale; and vice versa I guess. Playing with it now. Basically link all of your devices to the network and it gets an IPv6; but ...the IP changes every time its run based on getting new keys. So, rolling keys by default? Haven't tested. But I guess if I keep the same key, the IPv6 that's assigned to it remains the same?

Will update later, because the yggdrasil website leaves me more confused than answering anything.

I've seen it posted and cheered about over socials (lemmy, hnews, reddit); might be cool to test.

From the docs: > However, autoconfigure mode allows you to quickly start Yggdrasil using sane-ish default settings, with yggdrasil -autoconf. In this mode, Yggdrasil will automatically attempt to peer with other nodes on the same subnet but will not attempt to connect to public peers by default. It also generates a random set of keys each time it is started, and therefore a random IP address each time.

yggdrasil[3510010]: 2025/05/08 08:37:16 Starting up...

yggdrasil[3510010]: 2025/05/08 08:37:16 Startup complete

yggdrasil[3510010]: 2025/05/08 08:37:16 Starting multicast module

yggdrasil[3510010]: 2025/05/08 08:37:16 UNIX admin socket listening on /var/run/yggdrasil/yggdrasil.sock

yggdrasil[3510010]: 2025/05/08 08:37:16 An error occurred starting TUN/TAP: permission denied

2025/05/08 08:37:16 Your public key is fab6caf3ae8895f5001398763db27d8e2f72f8278f44b543ba58b6658c>

yggdrasil[3510010]: 2025/05/08 08:37:16 Your IPv6 address is 200:a92:6a18:a2ee:d415:ffd8:cf13:849b

yggdrasil[3510010]: 2025/05/08 08:37:16 Your IPv6 subnet is 300:a92:6a18:a2ee::/64

So, saw a comment here from https://news.ycombinator.com/item?id=30156551 :

> I started using yggdrasil yesterday. The ability to get a static IPv6 address on a meshnet, with encrypted traffic by default, and the option to only accept inbound connections from public keys I trust is incredibly cool. Just like that I can access any of my devices that run ygg from anywhere using standard tools like git or ssh (or git-annex). It makes it really easy to network my devices together without having to screw around with split tunneling a wireguard server and create a DIY set of services to, for example, remotely manage my devices or sync things from one to the other, and that's just for starters. Feels like the Unix philosophy actually being useful for once

dhaavi•3d ago
I was intrigued by Yggdrasil, so much that I built a similar network, also using concepts of other networks in that realm.

It uses a logical world map for improved address space allocation and routing as well as source routing. Private non-routable addresses for better privacy are planned.

https://mycoria.org

It will see more development over the next years, as I will be using it in an upcoming project.

Happy to answer any questions you have here.

lostmsu•2d ago
What advantages does your project have over Yggdrasil?
randunel•3d ago
Is there a non-encrypted alternative to these things? There's lots of projects with services both paid and free, all having encrypted data transmission.

I'm looking for encrypted coordination with unencrypted data transmission for performance reasons in IoT devices, because the data itself is already encrypted (e.g. only https going through the tunnel).

theknarf•2d ago
How does this compare to Veilid (https://veilid.com/)?
nimoday•2d ago
which layer does it work on? layer 2 or 3?

Show HN: I built a system to make ChatGPT brutally honest with you

https://www.honestprompts.com/
1•moobuilds•3m ago•0 comments

Zig, the Ideal C Replacement Or?

http://bitshifters.cc/2025/05/04/zig.html
2•ksec•6m ago•1 comments

Las Médulas

https://en.wikipedia.org/wiki/Las_Médulas
1•perihelions•8m ago•0 comments

'It's an illogical job': Why driving a train isn't as cushy as it might seem

https://www.theguardian.com/business/2025/may/11/its-an-illogical-job-why-driving-a-train-isnt-as-cushy-as-it-might-seem
1•Bluestein•11m ago•0 comments

MetroCard Holdouts Cling to Slivers of Plastic Despite Tap-and-Go OMNY-Presence

https://www.thecity.nyc/2025/04/30/metrocard-holdouts-omny-everywhere/
2•PaulHoule•11m ago•0 comments

Financial Times: The Weet Shameful Silence on Gasa's Starvation

https://www.ft.com/content/f5fd6f8d-06a7-4d1f-b842-752e3aca9272
1•bhouston•12m ago•0 comments

The Epochalypse Project

https://epochalypse-project.org/
2•maxeda•13m ago•0 comments

Ask HN: Anyone using Chrome ext with AI for daily copywriting/social media?

2•refinedea•13m ago•0 comments

Virus

1•ckckckc•13m ago•0 comments

Insurers launch cover for losses caused by AI chatbot errors

https://www.ft.com/content/1d35759f-f2a9-46c4-904b-4a78ccc027df
2•jmacd•14m ago•0 comments

Paul McCartney – Mr. Nice Guy

https://medium.com/luminasticity/paul-mccartney-mr-nice-guy-ae6ca0b58f09
1•bryanrasmussen•14m ago•0 comments

Pain, Alcohol, and the Adolescent Brain

https://elifesciences.org/digests/101667/pain-alcohol-and-the-adolescent-brain
1•lentoutcry•15m ago•0 comments

Apple helped China become America's biggest tech rival

https://www.thetimes.com/business-money/technology/article/how-apple-helped-china-become-americas-biggest-tech-rival-8f83tttv5
3•ksec•18m ago•1 comments

Can Germany rein in its academic bullying problem?

https://www.nature.com/articles/d41586-025-01207-8
3•conformist•22m ago•0 comments

Meeting My Creator

https://chatgpt.com/share/6820749b-3604-800c-908d-6e6f9df9c738
1•emilsedgh•23m ago•0 comments

The Apple Disk II Controller

https://www.bigmessowires.com/2021/11/12/the-amazing-disk-ii-controller-card/
1•makapuf•29m ago•0 comments

National Hurricane Center Product Updates for 2025 Hurricane Season [pdf]

https://www.nhc.noaa.gov/pdf/NHC_New_Products_Updates_2025.pdf
1•reaperducer•29m ago•0 comments

WordNet: A Lexical Database for English

https://wordnet.princeton.edu/
1•doener•34m ago•0 comments

Seth Godin – Leadership vs. Management (2021) [video]

https://www.youtube.com/watch?v=qzoIAJYPQwo
1•nspassov•36m ago•0 comments

Show HN: I made a NYT inspired geography game

https://resa.dahl.dev/
1•aleda145•42m ago•0 comments

A modern scheduling tool with smart timezone handling and event editing

https://areyoufree.im/
2•xPkcUCBpILu•54m ago•3 comments

Coding LLMs from the Ground Up: A Complete Course

https://magazine.sebastianraschka.com/p/coding-llms-from-the-ground-up
1•mdp2021•1h ago•0 comments

Ubuntu 25.04 Advancing Performance of System76 Thelio Astra with Ampere Altra

https://www.phoronix.com/review/ubuntu-2504-ampere-altra
2•rbanffy•1h ago•1 comments

I built a free online charades game for teams and friends and family – PlayMime

https://www.playmime.com/en
1•behnamazimi•1h ago•1 comments

SNPedia

https://www.SNPedia.com/index.php/SNPedia
1•zeristor•1h ago•1 comments

Titles of Paintings by Salvador Dalí

https://www.futilitycloset.com/2025/05/11/inventory-13/
1•beardyw•1h ago•0 comments

Political parties failing to pay tax on rent (UK)

https://taxpolicy.org.uk/2025/05/11/political-parties-failing-to-pay-corporation-tax-rental-income/
1•mmarian•1h ago•0 comments

FastTwoSum Is Faster Than TwoSum

https://pavpanchekha.com/blog/fast-two-sum.html
2•dev181•1h ago•0 comments

Absolute Zero: Reinforced Self-Play Reasoning with Zero Data

https://andrewzh112.github.io/absolute-zero-reasoner/
1•mentalgear•1h ago•1 comments

Infinite Jest

https://en.wikipedia.org/wiki/Infinite_Jest
1•Bluestein•1h ago•0 comments