mirror of
https://github.com/cwinfo/yggdrasil-network.github.io.git
synced 2024-11-14 03:20:27 +00:00
Minor additions
This commit is contained in:
parent
a39217af58
commit
b5f1dba723
@ -2,7 +2,7 @@
|
|||||||
layout: post
|
layout: post
|
||||||
title: "Announcing Yggdrasil Network v0.3"
|
title: "Announcing Yggdrasil Network v0.3"
|
||||||
date: 2018-12-12 00:00:00 -0000
|
date: 2018-12-12 00:00:00 -0000
|
||||||
author: Neil Alexander
|
author: Neil Alexander, Arceliar
|
||||||
---
|
---
|
||||||
|
|
||||||
### It's finally here
|
### It's finally here
|
||||||
@ -13,9 +13,10 @@ encrypted and scalable compact routing scheme modelled around the concept of a
|
|||||||
global spanning tree. Many concept routing schemes that we have seen to date
|
global spanning tree. Many concept routing schemes that we have seen to date
|
||||||
seem to have problems with scalability - after the network exceeds a certain
|
seem to have problems with scalability - after the network exceeds a certain
|
||||||
size, they either fail to perform or they start to rely on centralised points in
|
size, they either fail to perform or they start to rely on centralised points in
|
||||||
order to consolidate routing information. We wanted to build something that
|
order to consolidate routing information. We want to figure out how to build something that
|
||||||
would not be subject to these limitations and to maintain decentralisation as
|
would not be subject to these limitations, and to maintain decentralisation as
|
||||||
far as possible. To our knowledge, this hasn't quite been achieved before.
|
far as possible, and the best way to test our ideas is to build that network.
|
||||||
|
To our knowledge, this hasn't quite been achieved before.
|
||||||
|
|
||||||
Throughout the course of 2018, Yggdrasil has gone from being a very early-stage
|
Throughout the course of 2018, Yggdrasil has gone from being a very early-stage
|
||||||
project supporting only a single platform to a feature-strong and relatively
|
project supporting only a single platform to a feature-strong and relatively
|
||||||
@ -72,12 +73,25 @@ beginning of November about CKR, which explains some more about how to configure
|
|||||||
it and how it works.
|
it and how it works.
|
||||||
|
|
||||||
In the background, we've made a substantial change from using a Kademlia-based
|
In the background, we've made a substantial change from using a Kademlia-based
|
||||||
DHT to a Chord-based DHT. This has some advantages in that a node can bootstrap
|
DHT to a Chord-based DHT. The chord-based appraoch allows us to do lookups with
|
||||||
and start working with far less state information than was needed before.
|
`O(1)` (constant) state, and only depends on additional (`O(logn)`) state as a
|
||||||
Additional state, which we learn about automatically through searches, helps to
|
performance optimization, which allows us to bootstrap more quickly after changes.
|
||||||
speed up DHT lookups. We also believe that using Chord can help us to reduce
|
We also believe that using Chord can help us to reduce some idle DHT chatter
|
||||||
some idle DHT chatter on the network in the future, and to help nodes converge
|
on the network in the future, which will save a little bandwidth, and may be
|
||||||
more quickly when they change their coordinates on the network.
|
helpful on battery-powered devices.
|
||||||
|
|
||||||
|
The spanning tree is now constructed a little differently. Previously, in a stable
|
||||||
|
network, each node would select a new parent only if this reduced the length of
|
||||||
|
the path to the root of the tree, measured by the number of other Yggdrasil nodes
|
||||||
|
in the path. This has the virtue of simplicity, but it sometimes leads to poor
|
||||||
|
performance when a node replaces a few low-latency/high-bandwidth local links with
|
||||||
|
a comparatively high-latency/low-bandwidth link over the internet (or an anonymous
|
||||||
|
overlay like [tor](https://github.com/yggdrasil-network/public-peers/blob/master/other/tor.md)
|
||||||
|
or [i2p](https://github.com/yggdrasil-network/public-peers/blob/master/other/i2p.md)).
|
||||||
|
Starting with this release, nodes will switch to a new parent if it provides a
|
||||||
|
consistency lower latency path to the root, and its less eager to immediately switch
|
||||||
|
again after having just changed parents. This should lead to lower latency in stable
|
||||||
|
networks, and better reliability in unstable ones.
|
||||||
|
|
||||||
We've fixed a reasonable number of bugs and crashes, including in the DHT,
|
We've fixed a reasonable number of bugs and crashes, including in the DHT,
|
||||||
switch and ICMPv6 code, and have made a number of additions to the admin socket
|
switch and ICMPv6 code, and have made a number of additions to the admin socket
|
||||||
|
Loading…
Reference in New Issue
Block a user