What's that hurtling down the Bifröst? Node-based network fun with Yggdrasil 0.4
Ragnarök and roll: Release Candidate boasts significant improvements on 0.3
Version 0.4 of the Yggdrasil networking platform is imminent, bringing with it improved performance and routing.
Currently at the Release Candidate stage, version 0.4 is quite a different beast to its predecessor. This means that a configuration backup would be a good idea since v0.4 nodes will not peer with v0.3 nodes. "We will be wiping the public peers list around the time of release as a result," said the project's Neil Alexander.
We're targeting the first week of July (assuming nothing goes horribly wrong and testing between now and then)
Alexander described v0.4 as a "significant change" and highlighted the improved mobility performance due in the release (useful for nodes that move around or change peerings frequently) as well as opportunistic source routing, which should make for improved connection quality of sessions.
Yggdrasil (the cosmic tree of Norse mythology) is a network routing technology that ditches the centralised design of traditional networks in favour of a globe-spanning tree, forming a scalable IPv6 encrypted mesh network, replete with end-to-end encryption of all traffic.
A farewell to unwieldy routing tables in favour of something node-based.
Version 0.3 is getting a bit long in tooth nowadays, having been originally released back in 2018. Version 0.3.13 arrived at the beginning of 2020. The "all-new protocol implementing an improved routing scheme" of v4.0 therefore represents a significant update.
Users would be forgiven for a distinct sense of déjà vu in all this. Alexander works for Element, a major Matrix contributor and a company notable for a keen interest in peer-to -peer networking. Indeed, as Element CEO and Matrix Technical Co-founder Matthew Hodgson told The Register: "I'm betting the farm … on this coming together fairly seriously over the coming months and years!"
The Matrix approach, known as Pinecone, takes some inspiration from Yggdrasil. "Pinecone," Alexander told us, "and Yggdrasil 0.4 are actually very similar. Not identical, but very similar."
"Except Yggdrasil is a free-form overlay network for any kind of IP data," added Hodgson, "whereas Pinecone is quite specifically for application layer peer-to-peer routing, for stuff like Matrix.
"The code base for Pinecone doesn't have any overlap with Yggdrasil."
The upcoming protocol changes in Yggdrasil mean no peering for v0.4 nodes with those from v0.3. A change to how IPv6 addresses are generated (from ed25519 keys) could also cause some pain for users. The session firewall has also been removed, with users directed to the host operating system to control traffic heading nodewards, and Tunnel routing is no longer supported.
Alexander suggested alternatives such as GRE, IPIP, or Wireguard.
As for the when, the non-RC 0.4 release should happen shortly. Alexander told us: "We're targeting the first week of July basically (assuming nothing goes horribly wrong and testing between now and then)."
Yggdrasil is also described by its creators as "not production-grade software."
And something similar in the Matrix world? As well as making his enthusiasm for the approach clear, Hodgson hedged his bets. It might appear in the six months or the next 18: "It is literally an open area of research." ®