@pparent76 You have clearly invested a HUGE amount of time in going through all the resources. I am impressed! I will also freely confess that your math skills are much better than mine. I can’t follow the the formal proofs in the papers. I have focused on the conclusions, and have taken it on faith that the math substantiates the arguments. So I very much welcome your challenges to the authors’ conclusions.
I will try to explain in my own words what I think the formula is trying to accomplish. If you have the time (and I wouldn’t at all blame you if you didn’t want to invest anything further at this point!!) I would welcome your feedback (or feedback from anyone else in the community) on a couple of questions:
- Do you agree that my conclusions accurately reflect the authors intentions?
- If not, I welcome your thoughts on where I went wrong.
- If so, is your issue with the theory? Or is your concern that the formula doesn’t actually support the intentions?
Allison’s Summary:
“Pledge” is the amount of ADA a Stake Pool Operator must leave in their own Pool.
The amount of the Pledge should be high enough to make it very expensive for anyone to create multiple pools (thus preventing Sibyl attacks).
If the rewards were distributed purely proportionally, someone with a large amount of ADA could create a Pool, fill it entirely with their own ADA, and capture all (or a lot) of the rewards based on their large amount of ADA. As a result, the rich would get richer.
So the problem is how to have a high enough Pledge to prevent Sibyl attacks, but not such a high pledge that small pool operators aren’t discouraged from participating, and that diversity is created amongst pools and within pools.
Rewards are therefore capped once the Pool reaches a certain amount of delegated stake (the saturation point). Purely for the sake of an example, I will assume a Pool’s reward is capped at 10 ADA. If only 1 ADA is staked in that pool, the reward will be 10 per ADA. If there are 2 ADA, the reward will be 5 per ADA. If there are 10 ADA, the reward for each ADA is 1. After that point, any additional Stake will reduce everyone’s reward.
But the above example is an oversimplification as the reward itself is a dynamic number. So it is not set at 10 regardless of the size of the stake in the pool. The reward will increase as the size of the stake in the pool increases, up to the point of the cap. So it is not in the Pool Operators best interest to keep the stake at 1 ADA (using the example above) but rather to encourage delegation to keep the total reward for the pool growing until reaching the point of the cap. Rational delegators will therefore delegate to an unsaturated pool, because that is the way to earn the most rewards as everyone’s reward increases with additional stake, up to the point of the cap.
But if the above mechanism were the end of the story, there would be no prevention against sybil attacks.
So a certain amount of pledge is required. The amount of the pledge works in tandem with the cost and the margin variables in the desirability rankings that wallets will publish. The higher the amount of pledge, the higher up in the rankings the pool will be.
However, the lower the costs and the lower the margin, the more desirable the pool will be, and the higher up in the wallet rankings it will appear. So a pool operator with high costs can compensate by having a higher pledge, and vice versa.
The “strange factor” changes the importance of pledge compared to cost in the calculations of reward. The higher the value of A0, the more important the amount of the pledge becomes. A higher A0 value means that pools with higher pledge amounts can earn higher returns, because the final capped value of rewards for that pool will be higher. That pool with a high pledge amount should therefore be more attractive to delegators and appear higher in the rankings. An A0 value of 0 means the amount of the pledge has no influence, and pools will have the same returns regardless of pledge amount.
While IOHK is doing everything possible to strike the right balance when setting the initial value of A0, if the community later sees that the value is pushing things too far in one direction, the community can decide to change the value.
At the risk of annoying you with one more suggestion of something to look at, I liked the graphs in this article: https://iohk.io/en/blog/posts/2018/10/29/preventing-sybil-attacks/ as I finally could see the impact of the A0 value.
Someone how my notifications were turned off previously. So if you do decide to respond, I should be able to reply immediately I have enjoyed these exchanges and hope that all is well with you!