Skip to content
Snippets Groups Projects
Commit 2fe9cb5f authored by Éloïs's avatar Éloïs
Browse files

Merge branch 'patch-1' into 'master'

[fix]image not displaying 2018-06-18-duniter-deep-dive-wot.md

See merge request websites/website_en!28
parents 4cfa2232 d4db69aa
No related branches found
No related tags found
No related merge requests found
...@@ -201,15 +201,15 @@ The distance rule is there to curb the maximum size of a Sybil region as well as ...@@ -201,15 +201,15 @@ The distance rule is there to curb the maximum size of a Sybil region as well as
The Sybil regions are isolated from the rest of the graph in the sense that they can only receive certifications from other ill-intentioned Sybil members. As a consequence, the shortest edge/path between a legitimate member and a Sybil one has to have the attack’s author as an endpoint. The maximum depth the Sybil region can attain is therefore contingent on the distance between the attacking edge-s- and the xpercent% closest referent members, this distance is known as `stepAttackers`. The Sybil regions are isolated from the rest of the graph in the sense that they can only receive certifications from other ill-intentioned Sybil members. As a consequence, the shortest edge/path between a legitimate member and a Sybil one has to have the attack’s author as an endpoint. The maximum depth the Sybil region can attain is therefore contingent on the distance between the attacking edge-s- and the xpercent% closest referent members, this distance is known as `stepAttackers`.
The maximum size of a Sybil region created by `sigQty` members depends on the L parameter, defined as L = sigQty/sigStock: The maximum size of a Sybil region created by `sigQty` members depends on the L parameter, defined as L = sigQty/sigStock:
Maximum Sybil region size = -sigStock-sigQty-*-1-L^-stepMax-stepAttackers--/-1-L- Maximum Sybil region size = (sigStock-sigQty)*(1-L^(stepMax-stepAttackers))/(1-L)
The maximum size of the Web of Trust is given by the following formula: The maximum size of the Web of Trust is given by the following formula:
WoTmax = -sigStock-*L^-stepMax-1- WoTmax = (sigStock)*L^(stepMax-1)
However we know for a fact that members will never use all of their available certifications. Many studies have proven that we all know a maximum average of 50 people, let’s then replace sigStock by 50: However we know for a fact that members will never use all of their available certifications. Many studies have proven that we all know a maximum average of 50 people, let’s then replace sigStock by 50:
WoTavg= -50-*-sigQty/50-^-stepMax-1- WoTavg= (50)*(sigQty/50)^(stepMax-1)
Our goal with the Ğ1 is to create a community of about 1 million members enjoying the world’s first true [catallaxy](https://en.wikipedia.org/wiki/Catallaxy) -free economy with a spontaneous order of things-. Let’s see how we can tweak the pair of sigQty and stepMax- to reach this size: Our goal with the Ğ1 is to create a community of about 1 million members enjoying the world’s first true [catallaxy](https://en.wikipedia.org/wiki/Catallaxy) -free economy with a spontaneous order of things-. Let’s see how we can tweak the pair of sigQty and stepMax- to reach this size:
...@@ -217,15 +217,15 @@ Our goal with the Ğ1 is to create a community of about 1 million members enjoyi ...@@ -217,15 +217,15 @@ Our goal with the Ğ1 is to create a community of about 1 million members enjoyi
The maximum size of a Sybil region grows linearly with `sigQty` but exponentially with `stepMax`. Logic has it that we need to keep `stepMax` as low as possible to ensure sufficient strength to the web. The above graph shows that the lowest value of `stepMax` for a web of a million members is of 5. This is an order of magnitude and is likely to be much higher in reality, we cannot measure it for sure. The maximum size of a Sybil region grows linearly with `sigQty` but exponentially with `stepMax`. Logic has it that we need to keep `stepMax` as low as possible to ensure sufficient strength to the web. The above graph shows that the lowest value of `stepMax` for a web of a million members is of 5. This is an order of magnitude and is likely to be much higher in reality, we cannot measure it for sure.
For `sigQty` we can choose a value of **4** for a web of **1.5 million members** or **5** for **half a million members**. Calculating WOTavg gives us a pretty good idea of how the web would scale bearing in mind that it considers all members are referent members too -which isn’t the case as explained previously-. Hence the maximum size of the web is likely larger, a ballpark figure of half a million is enough for now especially knowing that the smaller `sigQty` is, the easier it is to launch a Sybil attack -it’s easier to find four accomplices than five-. For security reasons we have settled on five: For `sigQty` we can choose a value of **4** for a web of **1.5 million members** or **5** for **half a million members**. Bear in mind these are gross figures and could be significantly higher, we are talking anywhere between 1 and 10 million in reality. Calculating WOTavg gives us a pretty good idea of how the web would scale bearing in mind that it considers all members are referent members too -which isn’t the case as explained previously-. Hence the maximum size of the web is likely larger, a ballpark figure of half a million is enough for now especially knowing that the smaller `sigQty` is, the easier it is to launch a Sybil attack -it’s easier to find four accomplices than five-. For security reasons we have settled on five:
stepMax = 5 stepMax = 5
sigQty = 5 sigQty = 5
sigStock >= 50 sigStock >= 50
The maximum size of a Sybil region therefore is: `-sigStock-sigQty-*-1--sigStock/5-^-5-stepAttackers--/-1--sigStock/5--` The maximum size of a Sybil region therefore is: `(sigStock-sigQty)*(1-(sigStock/5)^(5-stepAttackers))/(1-(sigStock/5))`
with sigStock = 50 we have a Sybil region of: `45*-1-10^-5-stepAttackers--/--9-` with sigStock = 50 we have a Sybil region of: `45*(1-10^(5-stepAttackers))/(-9)`
A good practice for protecting the web is to maximise `stepAttackers`. That’s why we decided that referent members in the genesis block had to be at least 4 steps away from each other. A good practice for protecting the web is to maximise `stepAttackers`. That’s why we decided that referent members in the genesis block had to be at least 4 steps away from each other.
...@@ -240,7 +240,7 @@ To help us deter a Sybil attack, we’ve decided to impose a minimum period of t ...@@ -240,7 +240,7 @@ To help us deter a Sybil attack, we’ve decided to impose a minimum period of t
Here is a graph showing the evolution of a Sybil region with the variation of `sigPeriod`: Here is a graph showing the evolution of a Sybil region with the variation of `sigPeriod`:
![graph of the WoT's size according to sigPeriod and stepAttackers]({filename}/images/wiki/impact_sig_period.png) ![graph of the WoT's size according to sigPeriod and stepAttackers]({filename}/images/wiki/impact_sig_period-2.png)
As you’ll easily be able to tell, there is a strong link between the growth speed of the region and `sigPeriod`. As evidenced here, we need a `sigPeriod` high enough in order to ensure that the legitimate web can grow at least as fast as a Sybil region. As you’ll easily be able to tell, there is a strong link between the growth speed of the region and `sigPeriod`. As evidenced here, we need a `sigPeriod` high enough in order to ensure that the legitimate web can grow at least as fast as a Sybil region.
In addition, the higher `sigPeriod` is, the more members will exercise their certification power gingerly, the action coming at a higher ‘cost’. In addition, the higher `sigPeriod` is, the more members will exercise their certification power gingerly, the action coming at a higher ‘cost’.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment