💾 Archived View for jsreed5.org › log › 2023 › 202311 › 20231103-yggdrasils-upgrade.gmi captured on 2023-11-04 at 11:07:03. Gemini links have been rewritten to link to archived content

View Raw

More Information

➡️ Next capture (2024-05-10)

-=-=-=-=-=-=-

Yggdrasil's Upgrade

2023-11-03

---

I move data back and forth between my home machines fairly frequently, including while I'm away from home. However, our home Internet service does not include a static IP address. My method of bypassing this is to use Yggdrasil, an IPv6 overlay network using cryptographic keys to assign IP addresses.

Recently Yggdrasil released a major update, from 0.4.7 to 0.5.0--the first version bump in almost a year. Several improvements were introduced to the application, including QUIC support, peer passwords, and PEM key-based node authentication. The biggest change, though, is a change to the routing scheme which is not backwards-compatible. As a result, nodes running 0.5 or higher cannot peer with nodes running 0.4.7 or lower.

While Yggdrasil's footprint is tiny compared to the mainline Internet, this change still has a huge impact on the network. The project's own wiki lists several public peers and services available on Yggdrasil, such as forums and wikis; there's even a censorship-resistant mirror of the Bible. These peers all ran version 0.4.7, and if they don't update their nodes, new users who install the latest version of Yggdrasil won't be able to access them.

I do not peer my devices with the wider Yggdrasil network: I run many simple services between them, some unauthenticated, and I don't want to expose any of them to scanners or other attacks. Even so, I debated whether to upgrade my nodes to 0.5. Eventually I decides that the prod outweighed the cons, and I applied the new version to all my devices over this week. Fortunately, the process was straightforward, and once I figured out what to do, each device only took a few minutes to reconfigure.

Currently all Yggdrasil nodes also act as relays, and all connections are transitive: if Alice can connect to Bob and Bob can connect to Carol, Alice can connect to Carol through Bob. This transitivity is the reason I don't peer with the main network. Isolation is a feature planned for Yggdrasil, but once it arrives, I'm not sure it's going to be backported to the 0.4 network. This is the biggest reason I decided to upgrade.

Any time a project hard-forks away from an existing network, I'm fascinated by what happens as a result. Yggdrasil is a special case, as the project specifically warns that it is experimental software and breaking changes should be expected. Still, I wonder if the long-term health of the network will be affected. For now, in my virtual solitude, I'm surviving the change just fine.

---

Up One Level

Home

[Last updated: 2023-11-03]