Oh for the love of proof.
What do you think these spec are doing?
(See Engineering Design Specification for Delegation and Incentives in Cardano–Shelley April 11, 2019)
2.2.1 Sybil Attack Protection at Stake Pool Level
It is conceivable that an adversary might try to take over the network by registering a large number of stake pools, hoping to accumulate enough stake to mount an attack just by people randomly delegating to them.
This Sybil attack on the level of stake pools should be made infeasible, by requiring stake pool operators to allocate a finite resource to each individual pool they register. In particular, this resource cannot be the cost of operating a node, since it is possible to run multiple pools with one node, so that cost would be constant in the number of pools an adversary is registering.
5.10.2
Our game theoretic analysis predicts that the k pools with the highest potential, the highest value of (where λ is the stake pledged by the pool owner(s) and c are the pool costs) will create the saturated pools.
They are establishing a base, a floor, it is looking through a non-myopic lens at all pools and setting a bar.
Let’s see what they do.
Aside, the values that follow are estimates, do not get trapped into thinking they have to be absolutes. They are accurate enough to understand how Cardano is going to prevent Sybil attacks and by doing so set a baseline.
Protocol values #01
31,112,484,646 Total Supply of ADA
4.75 Incentive (inflation) Per Year %
0 Sybil Security Level (a0)
1,000 Number of desired pools (k)
31,112,485 = Saturation
Pool operator values #1
0 Pool fee (profit margin) %
0 Pool cost in USD per epoch (5 days)
0 Pledged to Pool % of Capacity
All pools now have the same Non-myopic desirability number.
19,784.6106716156030 Desirability Number
That number is a baseline that the protocol will measure all other pools against. In this example, the protocol cannot, as all pools have the same value so currently ranking is not possible.
Protocol values #02
31,112,484,646 Total Supply of ADA
4.75 Incentive (inflation) Per Year %
0 Sybil Security Level (a0)
1,000 Number of desired pools (k)
31,112,485 = Saturation
Pool operator values #2
1 Pool fee (profit margin) %
0 Pool cost in USD per epoch (5 days)
0 Pledged to Pool % of Capacity
-197.846106716155200 Desirability Number
What just happened here? By only adjusting one value, pool fee to 1% the pool drops below the baseline without changing any of the protocol values.
Protocol values #03
31,112,484,646 Total Supply of ADA
4.75 Incentive (inflation) Per Year %
0.25 Sybil Security Level (a0)
1,000 Number of desired pools (k)
31,112,485 = Saturation
Pool operator values #3
0 Pool fee (profit margin) %
0 Pool cost in USD per epoch (5 days)
0 Pledged to Pool % of Capacity
15,827.6885372924800 Desirability Number
To prevent Sybil attacks, protocol variable, a0 is set to 0.25, which gives us a new baseline for ALL delegation pools, 1,000 or 1,999 pools it does not matter. A new baseline is set when pool operator variables are zeroed out, and a0 is changed, setting a new basecamp where all pools start.
15,827.6885372924800 baseline based on 0.25 a0
BTW:
19,784.6106716156030 Desirability Number
- 15,827.6885372924800 Desirability Number
______________________
3,956.922134379135603
3,956.922134379135603 / 15,827.6885372924800 = 0.25
Protocol values #4
31,112,484,646 Total Supply of ADA
4.75 Incentive (inflation) Per Year %
0.25 Sybil Security Level (a0)
1,000 Number of desired pools (k)
31,112,485 = Saturation
Pool operator values #4
0 Pool fee (profit margin) %
0 Pool cost in USD per epoch (5 days)
0 Pledged to Pool % of Capacity
100 Delegated to Pool % of Capacity
15,827.6885372924800 Desirability Number
To drive home the point that the only value capable of changing a pools desirability is the pledge value, delegating 15,556,242 or 31,112,485 to a pool will not change its desirability number.
Protocol values #5
31,112,484,646 Total Supply of ADA
4.75 Incentive (inflation) Per Year %
0.25 Sybil Security Level (a0)
1,000 Number of desired pools (k)
31,112,485 = Saturation
Pool operator values #5
0 Pool fee (profit margin) %
0 Pool cost in USD per epoch (5 days)
1 Pledged to Pool % of Capacity
0 Delegated to Pool % of Capacity
15,867.2577586357110 Desirability Number
A 1% pledge, 311,125 ADA, has moved the desirability number up from the baseline by 39.569221343230310.
15,827.6885372924800 Baseline
15,867.2577586357110 Desirability Number
Postive difference of 39.569221343230310
In the above examples, a baseline has been set, not by pool operators but by the protocol itself. The value a0 moves the basecamp higher or lower up the Ada desirability hill.
The reason is simple, prevent Sybil attacks by preventing undesirable pools from being a delegation choice in Cardano delegation capable wallets.
Note, nothing is stoping anyone from running a pool and asking others to delegate to them.
To rate one pool from another a baseline to measure all pools against must be set.
If a pool is below that baseline and capable of capturing ADA through delegation, well Lars Brünjes said it best:
This would be disastrous because the security of a proof-of-stake system like Cardano relies on the idea that people with a lot of influence over the system should hold a lot of stake and therefore have every reason to help the system run smoothly. By Lars Brünjes, PhD
If Cardano did not stop Sybil pools, from being a delegation choice, then Cardano would fail. Having a baseline sets the floor.
Nor does it matter, not one little bit thanks to Sybil.