Skip to main content

IIP-4: Quadratic Staking

Author: midenaio

Status: Final

Type: Standard

Created: 2022-03-10

Discussion: https://github.com/idena-network/idena-docs/discussions/69

Translations: 🇷🇺

Abstract

Instead of rewards paid for identity age, introduce quadratic staking rewards paid to validated identities proportional to their stake to the power of 0.9. Allow identity stake replenishment. The amount of staked coins does not affect the voting power of the identity.

Motivation

Staking is the way to earn rewards by holding the coins. Staking makes a tokenomy attractive for investors and reduces inflation by locking coins in stakes. However the traditional (linear) staking leads to inequality because large coin holders can extract the major part of the profits from staking. With Proof-of-Personhood in mind, we can offer quadratic staking reward schemes that are free of capital bias.

Currently, Idena staking is passive, which means that 20% of the income is automatically accumulated in the identity’s stake. At the same time, no rewards are paid for holding the stake. The stake cannot be withdrawn without terminating the identity. Identity’s stake is a security measure that ensures that the private key of a valid identity cannot be purchased without the risk of losing the stake and identity status. We see benefits in being able to replenish the identity stake and get rewarded for that but only if it leads to a balanced rise in stakes for a large number of identities. We consider the staking to be undesirable when it leads to the domination of a few large coin holders. We propose quadratic staking that discriminates against large coin holders and encourages smaller players to increase their stakes.

Positive effects of quadratic staking:

  1. Quadratic staking is to make the iDNA coin more attractive for investors and reduce inflation by locking coins in stakes. This can lead to faster network growth.
  2. Quadratic staking can make an older identity more valuable and would incentivize people to not terminate their identities.
  3. Quadratic staking can improve security of the protocol because larger stakes increase the value of each identity. In other words, quadratic staking will lead to the growth of the capitalization of many identities resulting in higher security of the network.

Specification

Governance

The higher amount of coins locked in the stake does not give more voting power to identity.

Identity stake replenishments

Any validated identity will be able to replenish the stake to earn quadratic staking rewards. To do this, a StakeDNA transaction will be added. This transaction can be sent at any time except for validation.

Stake withdrawal will be possible only by terminating the identity, as it is now.

Validation failure stake protection

The proposal extends existing mechanics of the stake protection in case of identitiy's validation failure. Identities with Suspended or Zombie status having age above or equal 5 epochs will have stake protection. A share of their stake can be burnt depending on their age as follows:

AgeIdentity statusValidationShare of stake burntIdentity status after validation
0CandidateFail100%Killed
1NewbieFail100%Killed
2+NewbieFail100%Killed
anyVerifiedFail100%Killed
anyHumanFail0%Suspended
4SuspendedFail100%Killed
5Suspended or ZombieFail5%Killed
6Suspended or ZombieFail4%Killed
7Suspended or ZombieFail3%Killed
8Suspended or ZombieFail2%Killed
9Suspended or ZombieFail1%Killed
10+Suspended or ZombieFail0%Killed

Once an identity is killed and a share of their stake is burnt, the remaining part of the stake will be transferred to the normal wallet.

Missing validation stake protection

The proposal does not change the existing mechanics of the stake protection in case of missing validation.

AgeIdentity statusValidationShare of stake burntIdentity status after validation
0CandidateMiss100%Killed
1NewbieMiss100%Killed
2+NewbieMiss100%Killed
anyVerifiedMiss0%Suspended
anyHumanMiss0%Suspended
anySuspendedMiss0%Zombie
anyZombieMiss100%Killed

Rewards payment procedure

Staking rewards are based on the identity's stake amount before validation and accrued after the end of validation, regardless of how long ago the stake was replenished

Quadratic staking rewards funding

The proposed source for the quadratic staking rewards is the Validation Rewards Fund which is currently 20% of the total Validation Session Fund. The original purpose of the Validation Rewards Fund was to incentivize users to maintain the validation status of older identities. Candidates who validate for the first time also get rewards from this fund. The fund currently accounts for 20% of the Validation Session Fund (see iDNA economics for details).

This proposal is to split the Validation rewards fund into two parts:

  • Candidate rewards fund: 2% - a fixed payment to new users for validation;
  • Staking rewards fund: 18% - rewards for quadratic staking.
Total rewardsBefore 100%After 100%
Validation rewards20%-
Staking rewards-18%
Candidates rewards-2%
Flip rewards35%As before
Invitation rewards18%As before
Reports rewards15%As before
Idena foundation payouts10%As before
Zero wallet fund2%As before

Identity reward for quadratic staking calculation

The distribution of rewards for staking depends on the weight of identity i calculated as the amount of coins locked in stake to the power of p, where p=0.9:

weight[i] = stake[i]^p

Every identity i gets share[i] from the Staking reward fund F:

share[i] = weight[i]/W

Where W is the sum of all weight[i] for all validated identities:

W = sum( weight[i] )

Identity i gets paid with staking reward[i] proportionally to the share:

reward[i] = F\W * share[i]

Identity i earns epoch percentage yield r[i] for the quadratic staking:

r[i] = reward[i] / stake[i]

Rationale

Quadratic staking can lead to the following effects:

  1. Users will have more motivation to maintain their identity for a longer period. The age-dependent rewards from the Validation Rewards Fund are not a sufficient incentive to maintain an identity because users cannot adjust their age to get more rewards than the identities who joined the network earlier.
  2. Since only identities with Human status have their stake protected from burning, we expect fewer identity terminations after reaching the Verified status, and less abuse of invites by validating the second identity. On the contrary, users will have the motivation to maintain Human status to enjoy staking rewards. At the same time, more spare invites will go to new users who want to join the network.
  3. Quadratic staking will not allow large stakeholders to get high staking rewards, thus leveling the playfield for everyone. For example, with regular staking, if the stake of one participant exceeds 50% of all staked coins, then the staking reward of this participant can be more than 50% of the staking reward fund. With quadratic staking, the yield % goes down as the stake size increases.
  4. Large coin holders are encouraged to distribute their stake among multiple identities to maximize their profit from staking.
  5. Pools are encouraged to distribute their capital across as many addresses as they have. On one hand, this improves protocol security. On the other hand, this will allow pools with a large number of addresses to get a higher interest rate on their capital than the identities with a large stake under a single address.
  6. iDNA coin will become more attractive to invest in. Staking can reduce inflation by increasing the number of coins locked. This will lead to faster network growth.
  7. The security of the protocol will increase due to the capitalization of the stake of each individual identity. Large identity stakes prevent buying and selling identities because the seller can terminate the identity after the sell and withdraw the stake.
  8. Since the staking reward fund is limited to only 18% of the validation fund, and the other components of the validation fund remain the same, this small change in motivation can hardly reduce the security of the invitation system, cause lower quality flips, or affect reporting.

Stake protection

Due to the significant amount of coins that can be locked in the stake of identity with age>=5, the share of stake that can be burnt is between 5% and 0%.

Identities with Verified status, regardless of their age, do not get additional privileges for their stake protection to motivate them keeping their identity score high.

Why Candidates Rewards Fund is 2%

This proposal is to split the Validation Rewards Fund into two parts:

  • Candidate Rewards Fund: 2%;
  • Staking Rewards Fund: 18%.

We aim to keep rewards paid to the new users at the same level. Let’s check actual rewards paid to Candidates in epoch #80.

The payments for the epoch #80 were as follows:

  • Total Validation Session Fund: 545,268 IDNA (100%)
  • Validation Rewards Fund: 109,054 IDNA (20%)

The Validation Rewards Fund was distributed proportional to identities ages in 80th epoch (109,054 IDNA) as following:

  • Single Candidate reward was 5.044 IDNA
  • Total number of Candidates awarded: 1,999

Overall Candidates earned 10,082 IDNA. This is equal to ~2% of the total Validation Session Fund.

Model distribution quadratic staking rewards

According to this proposal, Staking Reward Fund for the epoch #80 would have been 98,148 IDNA (18%). Let’s model the distribution of this fund for 4 groups of users A, B, C and D having the following stakes:

Type of userNumber of usersStake, iDNA
A10100,000
B10010,000
C1,0001,000
D10,000100

In this model there are 4,000,000 iDNAs locked in total. The larger the total amount of coins locked in stakes by all participants the lower the yield that every participant can earn. This is also true for regular (linear) staking. With regular linear staking, the persentage yield would be fixed for all participants, regardless of the amount of their stake (98,148 IDNA / 4,000,000 = 2.4%).

However, for Quadratic staking, the distribution of rewards depends on the amount of stake to the power of 0.9. Therefore, the higher the stake the lower the yield.

Model distribution of the quadratic staking rewards:

InvestorStake, iDNANumber of usersWeight (stake^0.9)Epoch percentage yield
A100,0001031,6221.68% (1,680 iDNA)
B10,0001003,9812.1% (216 iDNA)
C1,0001,0005012.7% (26.6 iDNA)
D10010,000633.4% (3.35 iDNA)

Model parameters:

  • Total users: 11,110
  • Total stakes: 4,000,000 iDNA
  • Stake rewards fund: 98,148 iDNA
  • APY: 29%..59%

The example shows that the lower the stake, the higher the yield. On the one hand, this will eliminate inequality of rewards for large and small stakeholders. On the other hand, this will encourage pools to distribute capital evenly across all their identities.

You can also check the model distribution of the quadratic staking rewards for the actual addresses in epoch #80.

Why p=0.9 is used for the quadratic staking rewards calculation

The power p to which identity stake s is raised shows how much large coin holders will be discriminated against:

weight=stake^p

Let p=1

With usual linear staking where p=1, the yield is fixed for all participants, regardless of the amount of stake.

InvestorStake, iDNANumber of usersWeight (stake^1.0)Epoch percentage yield
A100,00010100,0002.45% (2450 iDNA)
B10,00010010,0002.45% (245 iDNA)
C1,0001,0001,0002.45% (24.5 iDNA)
D10010,0001002.45% (2.45 iDNA)

Model parameters:

  • Total users: 11,110
  • Total stakes: 4,000,000 iDNA
  • Stake rewards fund: 98,148 iDNA
  • APY: 42.7%

This type of staking is undesirable since it leads to the domination of large coin holders. It also discourages small investors to stake their coins. Pool owners do not get incentives to increase stakes of their identities since they can get the same yield just by keeping all their coins locked in a single identity stake.

Let p=0.5

Let's also consider the alternative when p=0.5

note

The name of quadratic staking is taken from the name of quadratic funding where the weight of each investor depends on the square root of his contribution (power of 0.5). This allows taking into account the interests of many small independent investors

InvestorStake, iDNANumber of usersWeight (stake^0.5)Epoch percentage yield
A100,000103160.21% (214.4 iDNA)
B10,0001001000.68% (67.8 iDNA)
C1,0001,00031.62.14% (21.4 iDNA)
D10010,000106.78% (6.8 iDNA)

Model parameters:

  • Total users: 11,110
  • Total stakes: 4,000,000 iDNA
  • Stake rewards fund: 98,148 iDNA
  • APY: 3.6%..118%

The distribution of staking rewards which depends on the amount of stake to the power of 0.5 will effectively encourage pools to distribute their coins across as many identities to earn the high yield. However this leads to the disproportional domination of large pool owners and discourages independent users increasing their stakes.

Let p=0.9

The proposed stake discrimination factor of 0.9 seems to be the optimal value in the range between 0.5 and 1 and leads to the following positive effects:

  1. It will not allow large stakeholders to dominate by getting high staking rewards, thus leveling the playfield for everyone. Yield % goes down as the stake size increases.
  2. Small investors are encouraged to stake their coins.
  3. Large coin holders are encouraged to distribute their stake among multiple identities to maximize their profit from staking.
  4. Pools are encouraged to distribute their capital across as many addresses as they have. Pools can get a higher yield on their capital than a single identity with the same amount of coins.

Why use “quadratic” in IIP naming

Although the word “quadratic” or “square” refers to the power of 0.5 rather than 0.9, we have retained this word in the IIP name because it reflects the spirit of quadratic funding, which takes into account the interests of small independent participants.

Backward Compatibility

This change requires a hard fork.

Security Considerations

This proposal does not bear any risks for the Idena protocol. If the proposed changes cause an unwanted imbalance in the economics of iDNA, it will be possible to revert the changes and return to the previous age-proportional rewards scheme by initiating a fork.