The Meshing Algorithm of eos-bios


Hello again! In this video, we’re going to
talk about the meshing algorithm of EOS BIOS. The goal of the meshing algorithm
is that when we launch a main network, in a few seconds we would love that
all of the participating nodes be interconnected in a way that is
sufficiently connected, and not overly connected. Let’s take a look at this file
here. So this is a test that tests the meshing algorithm, and it says we
have a 10 nodes network, and we are node number 1. To who are we going to connect?
We’re going to connect to 0 1 2 3 4 and until 9. Because we’re at 10, we
connect to everyone. Then when we get to a 40 nodes network, we cap it to 25.
That algorithm could change, but this is the current state of affairs.
We’re node number 1 so we connect to node 10, 23, 3, 39, etc… Ok the algorithm does
that. Let me visualize that with you. If we go to the EOS BIOS repo here, in the
BIOS, there’s the test data. And the mesh holds a few renders I’m going
to show you right now. It looks like this. This is a two nodes
network. See that one here: count2. They have one direct connection. And then if
we’re a three nodes network, it looks like this. This is four nodes. This is seven,
this is 12… Let me show you what happens if we have a 12 nodes network, then this
guy is instructed to connect to 2, 0, 9 and 5. And that is sufficiently connected. And
we are certain also with our algorithm that if everyone is
connected, we’re certainly going to connect to everyone. This will be one
network and there’s not going to be partitions or small groups within it.
Ok now if we continue here, this is 16, and let’s say 35. See how you connect? The
red lines are 2 ways and then we can optimize that out eventually.
So with that, we’re properly connecting to a bunch of other nodes. And the
goal is that the meshing algorithm, when we run “join”, the “EOS BIOS join,” this
algorithm is run by everyone the same way. And so everyone meshes, and it can
take like 30 seconds. And we have like 150 nodes that
boot together. That’s a little bit more difficult to attack when you
have a large number of players. So that’s why I think it’s very important that
everyone puts their hardware, their IP, their load balancers or whatever, at the
service of the launch by just joining. Be they Block Producers Candidates or not.
Okay so we’ll see the Boot Sequence in the next video

Leave a Reply

Your email address will not be published. Required fields are marked *