Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alternate equation additions, CIP-7, Nimer addition #11

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
113 changes: 74 additions & 39 deletions CIP-Liesenfelt-Shelleys_Voltaire_decentralization_update/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,13 @@ The Cardano network currently produces ~21,600 blocks per epoch with ~2400 group
$Ref (1)$

<p align="center">
<img src="equation1.png" width="500">
<img src="images/equation1.png" width="500">
</p>

![Figure 1](k-effective.png)
![Figure 1](images/k-effective.png)
Figure 1. Historical k-effective from epoch 245 to present.

![Figure 2](k-effective-table.png)
![Figure 2](images/k-effective-table.png)
Figure 2. K-effective table.

## The Intent of (a0,k)
Expand All @@ -114,12 +114,12 @@ The analysis of the current reward formula in [4] equated 1 pool to 1 entity. In
From “4.1 Our RSS construction” of “Reward Sharing Schemes for Stake Pools” [5] the current rewards equation is:

$ Ref(2) $
![Equations Set 2](equation2.png)
![Equations Set 2](images/equation2.png)


where:

<img src="equation2-supporting.png" width="250">
<img src="images/equation2-supporting.png" width="250">

A natural choice is $β = 1/k$, where $k$ is the target number of pools, and $k,α$ are fixed parameters.

Expand All @@ -131,51 +131,51 @@ $α = a0 = 0.3$

The $a0$ parameter represents the fraction of the rewards $(R/(1+a0))$ which are not paid out unless all of the stake is pledged. An $a0$ of 0.3 ensures that **1.0 - 1.0/(1.0+0.3) = 23% of the total rewards R will be withheld from low pledge fraction pools and returned to the reserve**. The effect of this formula is that increased pledge results in retaining more of the available rewards R. However, this benefit is not linear, rather it is drastically biased towards the saturation limit. The $\sigma’ = min\\{σ,β\\}$ term enforces a reward limit based on $k$. Visualizing the resulting field of outcomes at various pledge amounts from 0.00% to 100.0% is necessary. The red dotted line “Max Reward” represents the maximum available yield available at the stated network size.

<img src="chart current equation a0 0.3 minfee 340.png">
<img src="images/chart current equation a0 0.3 minfee 340.png">

## If the minimum fee is 30

<img src="chart current equation a0 0.3 minfee 30.png">
<img src="images/chart current equation a0 0.3 minfee 30.png">

## If the minimum fee is 0

<img src="chart current equation a0 0.3 minfee 0.png">
<img src="images/chart current equation a0 0.3 minfee 0.png">

## If a0 is increased to 0.5

<img src="chart current equation a0 0.5 minfee 340.png">
<img src="images/chart current equation a0 0.5 minfee 340.png">

## If a0 is increased to 1.0

<img src="chart current equation a0 1.0 minfee 340.png">
<img src="images/chart current equation a0 1.0 minfee 340.png">

## If a0 is increased to 10.0

<img src="chart current equation a0 10.0 minfee 340.png">
<img src="images/chart current equation a0 10.0 minfee 340.png">

## If a0 is decreased to 0.2

<img src="chart current equation a0 0.2 minfee 340.png">
<img src="images/chart current equation a0 0.2 minfee 340.png">

## If a0 is decreased to 0.1

<img src="chart current equation a0 0.1 minfee 340.png">
<img src="images/chart current equation a0 0.1 minfee 340.png">

## If a0 is decreased to 0.0

<img src="chart current equation a0 0.0 minfee 340.png">
<img src="images/chart current equation a0 0.0 minfee 340.png">

## If a0 is decreased to 0.0 and minFee = 0

<img src="chart current equation a0 0.0 minfee 0.png">
<img src="images/chart current equation a0 0.0 minfee 0.png">

## If minFee is increaesd to 1000

<img src="chart current equation a0 0.3 minfee 1000.png">
<img src="images/chart current equation a0 0.3 minfee 1000.png">

## If minFee is increaesd to 2000

<img src="chart current equation a0 0.3 minfee 2000.png">
<img src="images/chart current equation a0 0.3 minfee 2000.png">

## The Reality of (a0,k)

Expand All @@ -185,7 +185,7 @@ Another important determinant of the ability for small pools to compete with lar

Billions of ADA is currently staked in pools with nearly 0 pledge and extremely high leverage. Also, a billion ADA is currently pledged in nearly saturated private pools closed to community delegation. There are very few public pools accepting community delegation with pledge amounts between 5M₳ and 60M₳ and the vast majority of public pools have less than 1M₳ pledge. The following bubble chart shows the distribution of stake as a function of group leverage on a log(Stake) vs log(Leverage) scale. The current pledge incentive mechanism only becomes relevant in a small segment of this chart below a leverage of 10 and above a pledge amount of 10M₳. The Single Pool Operator Alliance (SPA) is a collective of ~2200 individual pools and pool operators with a collective stake of 5B₳ at an average leverage factor of only 22.

<img src="stake vs leverage current.png">
<img src="images/stake vs leverage current.png">

In the original design, parameter $a0$ represented the influence the operator’s pledge had on the desirability of the pool. In other words, more pledge should mean the pool would be more desirable for stake delegation. However the current reward formula has not produced this effect. See Figure 2. With increasing pledge as a proportion of total stake there is little noticeable effect on rewards until very high pledge percentages. These very high pledge percentages are not attainable except by extremely large stakeholders. Furthermore having such a high pledge percentage would defeat the purpose of community staking since the pool would already be saturated when the maximum pledge benefit is earned.

Expand Down Expand Up @@ -228,7 +228,7 @@ Large differences between k-parameter and the k-effective of the network represe
The proposed reward retains the function of $k$ for limiting rewards based on stake and introduces parameter $L$ for enforcing reward limits based on pledge leverage. The equation equally balances both reward parameters. The pledge leverage parameter $L$ is intended to range from 10,000.0 down to 1.0. An $L$ value of 100.0 would require pools to pledge 1.0% of stake and an $L$ of 1.0 would require all pools to be 100.0% pledged.

<p align="center">
<img src="equation3-newRewardEq.png" width="400">
<img src="images/equation3-newRewardEq.png" width="400">
</p>

The new equation is computationally simple and purposefully does not use logarithms, exponents, or geometric curves. Instead of an incentive based tradeoff between egalitarian rewards and a perceived Sybil resilience the new equation enforces both egalitarian rewards and pledge-based Sybil resilience. A simple flat egalitarian yield ceiling with pledge leverage enforcement for Sybil defense has a profound psychological effect: Stakeholders know there is no way to game the system for yield, either individually or collectively with governance, and pledge is absolutely mandatory. Without any engineered bias Cardano decentralization would converge to the diversity of the underlying community, services, and stakeholder distribution. If this proposal is eventually adopted changes in community diversity, not changes in a formula or parameters, would change decentralization.
Expand All @@ -246,15 +246,15 @@ The new $L$ parameter will range from 10,000.0 to 1.0. The initial value of the

The proposed reward formula should be visualized on a linear(yield) vs log(saturation) scale independent of $k$. The chart below shows the field of possible outcomes for various levels of pledge and stake spanning more than 3 orders of magnitude. The effect of $L$ becomes obvious, pool saturation will be limited first by pledge amount and then eventually by $k$. A very important feature of this relationship is that 0₳ pledge will always result in 0₳ rewards. At $L=100.0$ to support a 100.0% saturated stake pool 1.0% pledge will be required.

<img src="chart constant leverage L 100 minfee 30.png">
<img src="images/chart constant leverage L 100 minfee 30.png">

## The new reward equation without a minimum fee

<img src="chart constant leverage L 100 minfee 0.png">
<img src="images/chart constant leverage L 100 minfee 0.png">

## The new reward equation zone

<img src="stake vs leverage proposed.png">
<img src="images/stake vs leverage proposed.png">

## The yield ceiling

Expand Down Expand Up @@ -362,7 +362,7 @@ For each equation in consideration the average (and variation) of the nakamoto c

### Proposed Unbiased Egalitarian Leverage Limiting Equation:

<img src="equation4-newRewardsEq.png" width="300">
<img src="images/equation4-newRewardsEq.png" width="300">

- with $k = 150$ and $L = 50$
- with $k = 150$ and $L = 100$
Expand All @@ -374,11 +374,11 @@ For each equation in consideration the average (and variation) of the nakamoto c
- with $k = 1000$ and $L = 100$
- with $k = 1000$ and $L = 1000$

<img src="chart constant leverage L 100 minfee 0.png">
<img src="images/chart constant leverage L 100 minfee 0.png">

### Current RSS Equation Form:

<img src="equation4-currentEq.png" width="400">
<img src="images/equation4-currentEq.png" width="400">

- with $k = 150$ and $a0 = 0.0$
- with $k = 500$ and $a0 = 0.0$
Expand All @@ -390,24 +390,35 @@ For each equation in consideration the average (and variation) of the nakamoto c
- with $k = 500$ and $a0 = 0.6$
- with $k = 1000$ and $a0 = 0.6$

### CIP-7 Equation Form:
### CIP-7 Equation Form

(incomplete)
<img src="equation-cip7-currentEq.png" width="400">
<img src="images/equation5-cip7-currentEq.png" width="500">

- with $k = 150$ and $a0 = 0.0$
- with $k = 500$ and $a0 = 0.0$
- with $k = 1000$ and $a0 = 0.0$
- with $k = 150$ and $a0 = 0.3$
- with $k = 500$ and $a0 = 0.3$
- with $k = 1000$ and $a0 = 0.3$
- with $k = 150$ and $a0 = 0.6$
- with $k = 500$ and $a0 = 0.6$
- with $k = 1000$ and $a0 = 0.6$
Where equations and independent variables to test are:
- Eq (1) CIP-7 Rewards: Legacy rewards equation with n-root curved pledge benefit
- Eq (2) Repurposed lambda_alt_prime, and legacy sigma_prime
- Eq (3) Lambda_alt: N-root curve pledge benefit
- Eq (4) Crossover: An expression called crossover represents the point where the new curve crosses the line of the original curve, and the benefit in the new and original equations is identical.
- The crossover_factor is a divisor of saturation that calculates the pledge where the curve crosses the line. crossover_factor > 1.
- Eq (5) Curve_root: The n-root curve exponent used in Eq 2 to alter the rewards. 1 = linear, 2 = square root, 3 = cube root, etc.

And the recommended testing permutations are:

For crossover in crossover_factor range [10,20,50]:
For n in curved_root range [2,3,4]:
- with $k = 150$ and $a0 = 0.0$
- with $k = 500$ and $a0 = 0.0$
- with $k = 1000$ and $a0 = 0.0$
- with $k = 150$ and $a0 = 0.3$
- with $k = 500$ and $a0 = 0.3$
- with $k = 1000$ and $a0 = 0.3$
- with $k = 150$ and $a0 = 0.6$
- with $k = 500$ and $a0 = 0.6$
- with $k = 1000$ and $a0 = 0.6$

### Linearly Biased Variation with a Leverage Limit:

<img src="equation4-newRewardsEqBiased.png" width="400">
<img src="images/equation4-newRewardsEqBiased.png" width="400">

- with $k = 150$, $bias=0.05$, and $L = 50$
- with $k = 150$, $bias=0.05$, and $L = 100$
Expand All @@ -419,7 +430,7 @@ For each equation in consideration the average (and variation) of the nakamoto c
- with $k = 1000$, $bias=0.05$, and $L = 100$
- with $k = 1000$, $bias=0.05$, and $L = 1000$

<img src="chart constant leverage L 100 minfee 0 bias 0.05.png">
<img src="images/chart constant leverage L 100 minfee 0 bias 0.05.png">

### Linearly Biased Variation with a Diminishing Leverage Limit:

Expand All @@ -435,6 +446,30 @@ For each equation in consideration the average (and variation) of the nakamoto c
- with $k = 1000$, $bias=0.05$, and $L = 100$
- with $k = 1000$, $bias=0.05$, and $L = 1000$

### Mahmoud Nimer Ada Link Pool Pledge to Network Pledge Reward Equation

Mahmoud Nimer's proposed reward equation presented in the [Ada Link's Stakepool Pledge Influence in Stake Rewards Distribution Paper](https://github.com/ADA-Link/Papers/blob/main/Stakepool%20Pledge%20Influence%20in%20Stake%20Rewards%20Distribution.pdf) seeks to compare pool pledge to total network pool pledge, and reward pool pledge growth relative to stake pool size growth.

<img src="images/equation8-nimer-adalink.png" width="400">

Where:
* Eq (1) The Nimer Rewards Equation
* Eq (2) s_hat_primt: The pledge saturation equation
* Eq (3) s_hat: Pool pledge / Total Network Pool Pledge

And the recommended testing permutations are:

- with $k = 150$ and $a0 = 0.0$
- with $k = 500$ and $a0 = 0.0$
- with $k = 1000$ and $a0 = 0.0$
- with $k = 150$ and $a0 = 0.3$
- with $k = 500$ and $a0 = 0.3$
- with $k = 1000$ and $a0 = 0.3$
- with $k = 150$ and $a0 = 0.6$
- with $k = 500$ and $a0 = 0.6$
- with $k = 1000$ and $a0 = 0.6$


# Backwards compatibility

Implementation will occur in two distinct phases with the first phase being only parameter changes requiring no hard fork. During this first phase any changes will be reversible. The second phase will require a hard fork.
Expand Down