Staking, Liquidity, and Inflation Model
Last Update: 2021/01/23
This includes advanced content.
โ€‹Astar Network's token ecosystem is built into Polkadot. Therefore, this document includes the same formula and values as Polkadot.
Astar tokens has four main roles:
    1.
    Staking for consensus, rewards for validators and nominators
    2.
    Transaction fees used to prevent harmful behaviors
    3.
    Block rewards for dApps operators; sustainable reward designed for applications
    4.
    Good/bad voting, dApps operators
Astar tokens are intended to be used as a liquidity token. Tokens are issued through multiple Lockdrops to prevent zero-value collateral and increase the number of token holders. Astar tokens are expected to be operated at the ratio of
1:1=Staking:Liquidity1:1 = Staking:Liquidity
.
1:1=Staking:Liquidity1:1 = Staking: Liquidity

Inflation Model

In the previous chapter, we defined the algorithm that determines the issue amount and distribution method when issuing new Astar Network tokens. The Astar Network is structured that the new token issuance fee is shared with dApps Rewards and a reward for securing the chain. The consensus algorithm of the Astar Network is expected to be NPoS. Thereby, there are two types of Staking actions: Staking (NPoS) for Validator and Staking (dApps Rewards) for smart contracts. Both rewards from each staking are equally proportional to the amount of staking. Users who stake on validators / smart contracts are collectively called nominators. The ideal ratio of Staking for validators and Staking for smart contracts is:
โ€‹
StakingvalidatorsStaking_{validators}
represents the action of staking on validators.
โ€‹
StakingcontractsStaking_{contracts}
represents the action of staking on smart contracts.
Then, the below formula is the expected ratio between Staking for validators and Staking for smart contracts.
5:1=Stakingvalidators:Stakingcontracts5:1 = Staking_{validators} : Staking_{contracts}
Rewards paid to Operators are dApps Rewards. Operator rewards increase in proportion to the inflation rate due to Staking. dApps Rewards rewards 50% of the total reward when meeting the ideal
qq
from quote the dApps Rewards chapter. The rewards given to the Operator at that time is maximized. To show the specific reward distribution, we introduce the following variables:
    โ€‹
    RewardsoperatorsRewards_{operators}
    is the total amount of reward got by the Operator.
    โ€‹
    RewardsstakersvalidatorsRewards_{stakers_{validators}}
    is the total amount of rewards got by staking a validator.
    โ€‹
    ReardsstakerscontractsReards_{stakers_{contracts}}
    is the total amount of reward got by staking smart contracts.
    โ€‹
    tt
    is a coefficient that represents how many times the total amount of rewards earned by the operator is greater than the rewards earned by taking a smart contract.
โ€‹
t=4t= 4
from quote the dApps Rewards chapter and 50% of the total reward for meeting the ideal
qq
will go to the dApps Rewards reward. Therefore, the ideal distribution ratio of remuneration is determined as follows.
Rewardsstakersvalidators:Rewardsstakerscontracts:Rewardsoperators=5:1:4\begin{aligned} Rewards_{stakers_{validators}}:Rewards_{stakers_{contracts}}:Rewards_{operators} & = 5:1:4 \end{aligned}
Also, the percentage of Staking and the percentage of reward are equal as follows:
Stakingvalidators:Stakingcontracts=Rewardsstakersvalidators:RewardsstakerscontractsStaking_{validators}:Staking_{contracts}=Rewards_{stakers_{validators}}:Rewards_{stakers_{contracts}}
Astar tokens use the same NPoS as Polkadot. This nominator and validator can operate the token at a certain annual interest rate for Staking. Also, token rewards will be paid to the Astar dApps operator's Nominator and Operator as well. Astar Network's inflation model is defined as follows: First, follow the Polkadot inflation model and define the following variables:
    โ€‹
    xx
    is the total amount of staking divided by the total amount of tokens issued.
    โ€‹
    XidealX_{ideal}
    is the ideal value of
    xx
    .
    Staking:Liquidity=1:1Staking: Liquidity = 1: 1
    , so
    Xideal=0.5X_ideal = 0.5
    .
    โ€‹
    qq
    is the amount of staking to the validator divided by the total amount of staking.
    q=StakingvalidatorsStakingvalidators+Stakingcontractsq=\frac{Staking_{validators}}{Staking_{validators}+Staking_{contracts}}
    .
    โ€‹
    QidealQ_{ideal}
    is the ideal value of
    qq
    . From
    5:1=Stakingvalidators:Stakingcontracts5:1 = Staking_{validators} : Staking_{contracts}
    , the ideal value of
    qq
    is
    Qideal=5/6Q_{ideal} = 5/6
    .
    โ€‹
    i(x,q)i(x,q)
    is the average annual interest getting by Staker. It is a monotonically decreasing function of
    xx
    ,
    โˆฃQidealโˆ’qโˆฃ| Q_{ideal} -q |
    (difference from the ideal ratio). To make both
    xx
    ,
    qq
    close to the ideal value, when
    xx
    ,
    โˆฃQidealโˆ’qโˆฃ| Q_{ideal} -q |
    is low, raise the interest rate as an incentive to increase the amount of stake. When
    xx
    ,
    โˆฃQidealโˆ’qโˆฃ| Q_{ideal} -q |
    is high, lower interest rates as an incentive to reduce stake.
    โ€‹
    iideali_{ideal}
    is the average annual interest rate of Staker
    i(x,q)i (x, q)
    when both
    xx
    and
    qq
    are ideal values. in other words,
    iideal=i(Xideal,Qideal)i_{ideal} = i (X_{ideal }, Q_{ideal})
    .
    โ€‹
    IStakingI_{Staking}
    is the inflation rate by Staking.
    IStakingI_{Staking}
    , a bivariate function involving
    xx
    and
    qq
    , draws a three-dimensional convex function. Expressing Staking total amount x interest rate = inflation rate and expressing it as
    xโˆ—i(x,q)=IStakingx * i (x, q) = I_{Staking}
    Also, this value is maximized when
    xx
    ,
    qq
    is the ideal value from the reward design of
    i(x,q)i (x, q)
    . The ideal state equation can be expressed as
    Xidealโˆ—i(Xideal,Qideal)=MaxmiumIStakingX_{ideal} * i (X_{ideal}, Q_{ideal}) = Maxmium I_{Staking}
    โ€‹
    โ€‹
    I0I_0
    is the lower limit of inflation rate. When
    x=1orx=0x = 1 or x = 0
    , converge to the lower limit.
    I0I_0
    is equivalent to the operating cost of the validator. The reason is that if you do not secure at least the incentive to operate the validator, the chain will break, so I_0 = 0.025 is recommended here.
    โ€‹
    dd
    is an adjustable decay rate for each
    xx
    . Each time
    xx
    is
    dd
    more than
    XidealX_{ideal}
    ,
    IStakingI_{Staking}
    is reduced by 50%. In other words,
    IStaking(Xideal+d,Qideal)โ‰ฅIStaking/2I_{Staking} (X_{ideal} + d, Q_{ideal}) \ge I_{Staking} /2
    .We recommend d = 0.02.
    โ€‹
    gg
    is an adjustable decay rate on
    qq
    . Each time
    qq
    is
    gg
    away from
    QidealQ_{ideal}
    ,
    IStakingI_{Staking}
    is reduced by 50%. In other words,
    IStaking(Xideal,Qidealย pme)โ‰ฅIStaking/2I_{Staking} (X_{ideal}, Q_{ideal} \ pm e) \ge I_{Staking} / 2
    . We recommend g = 0.15.
    โ€‹
    istakingi_{staking}
    is the average annual interest earned by the nominator through Staking. This can be determined by dividing inflation by the Staking ratio. In other words,
    istaking=IStakingxi_{staking} = \frac{I_{Staking}}{x}
    .
    โ€‹
    IoperatorsI_{operators}
    is the inflation rate due to the rewards that the Operator can get. This is t times the ratio (1-q) of Staking to Operator in I{Staking}.
โ€‹
Stakingvalidators:Stakingcontracts=Rewardsstakersvalidators:RewardsstakerscontractsStaking_{validators}:Staking_{contracts} = Rewards_{stakers_{validators}}:Rewards_{stakers_{contracts}}
โ€‹
Rewardsstakersvalidators:Rewardsstakerscontracts:Rewardsoperators=y:1:tRewards_{stakers_{validators}}:Rewards_{stakers_{contracts}}:Rewards_{operators} = y:1:t
โ€‹
โ€‹
Rewardsstakingvalidators(y+1)=(Rewardsstakingcontract+Rewardsstakingvalidators)yRewards_{staking_{validators}}(y+1) = (Rewards_{staking_{contract}}+Rewards_{staking_{validators}})y
โ€‹
q=StakingvalidatorsStakingvalidators+Stakingcontractsq =\frac{Staking_{validators}}{Staking_{validators}+Staking_{contracts}}
=RewardsstakersvalidatorsRewardsstakersvalidators+Rewardsstakerscontracts=\frac{Rewards_{stakers_{validators}}}{Rewards_{stakers_{validators}}+Rewards_{stakers_{contracts}}}
=y/(y+1)=y/(y+1)
y=q/(1โˆ’q)y =q/(1-q)
โ€‹
Rewardsstakersvalidators:Rewardsstakerscontracts:Rewardsoperators=q/(1โˆ’q):1:tRewards_{stakers_{validators}}:Rewards_{stakers_{contracts}}:Rewards_{operators} =q/(1-q):1:t
โ€‹
Rewardsstakers:Rewardsoperators=q/(1โˆ’q)+1:tRewards_{stakers}:Rewards_{operators} =q/(1-q)+1:t
Here, the ratio of the amount of reward and the ratio of the inflation rate are equal.
IStaking:Ioperators=q/(1โˆ’q)+1:tIoperstors(q/(1โˆ’q)+1)=IStakingtIoperators=tIStakingq1โˆ’q+1=tIStakingq1โˆ’q+1โˆ’q1โˆ’qtIStaking11โˆ’q=t(1โˆ’q)IStaking\begin{aligned} I_{Staking}:I_{operators}& =q/(1-q)+1:t \\\\ I_{operstors}(q/(1-q)+1)& =I_{Staking}t \\\\ I_{operators}& =\frac{tI_{Staking}}{\frac{q}{1-q}+1} \\\\ & = \frac{tI_{Staking}}{\frac{q}{1-q}+\frac{1-q}{1-q}} \\\\ \frac{tI_{Staking}}{\frac{1}{1-q}}=t(1-q)I_{Staking} \end{aligned}
    represents the average (based on the amount staked) interest rate of the operator's reward. From the auxiliary formula,
    ioperators=Ioperatorsx(1โˆ’q)i_{operators}=\frac{I_{operators}}{x(1-q)}
    .
    โ€‹
    II
    is the overall inflation rate. This is
    I=IStaking+IoperatorsI = I_{Staking} + I_{operators}
    , which is the sum of the reward for Staking and the inflation rate due to the reward for Operator.
โ€‹
IStakingI_{Staking}
is followed the below formula.
โ€‹
IStaking={I0+x(iidealโˆ’I0Xideal)โ‹…2โˆ’โˆฃqโˆ’Qidealโˆฃ/g(0<xโ‰คXideal)I0+(iidealโ‹…Xidealโˆ’I0)โ‹…2(Xidealโˆ’x)/dโˆ’โˆฃqโˆ’Qidealโˆฃ/g(Xideal<xโ‰ค1)I_{Staking} = \begin{cases} I_0 + x(i_{ideal} - \frac{I_0}{X_{ideal}})\cdot2^{-|q-Q_{ideal}|/g} & (0 \lt x \le X_{ideal}) \\ I_0 + (i_{ideal} \cdot X_{ideal} - I_0) \cdot 2^{(X_{ideal}-x)/d-|q-Q_{ideal}|/g} & (X_{ideal} \lt x \le 1) \end{cases}
โ€‹
The below figure is a graph simulating the inflation rate when each parameter is set as follows.
iideal=0.2Xideal=0.5Qideal=5/6I0=0.025d=0.02g=0.15t=4\begin{aligned} i_{ideal}=0.2 \\\\ X_{ideal}=0.5 \\\\ Q_{ideal}=5/6 \\\\ I_0=0.025 \\\\ d=0.02 \\\\ g=0.15 \\\\ t=4 \\\\ \end{aligned}
The above graph is fixed at
q=Qidealq = Q_{ideal}
. Here, the upper green line is the average annual interest rate (
ioperatorsi_{operators}
) for the operator's staking amount, the lower green line is the average annual interest rate of the staking (
istakingi_{staking}
), and the red line is the overall inflation rate (
II
), the upper blue line indicates the inflation rate due to Staking reward (
IStakingI_{Staking}
), and the lower blue line indicates the inflation rate due to Operator reward (
IOperatorI_{Operator}
). The inflation rate when both
xx
and
qq
are ideal values โ€‹โ€‹is 0.166 ... (1/6) at maximum. Next, the graph when
q=0.2q = 0.2
is shown in the below figure. When
q=0.2q = 0.2
, the Staking percentage is
1:5=Stakingvalidators:Stakingcontracts1: 5 = Staking_{validators}: Staking_{contracts}
, and the reward percentage is as follows:
โ€‹
Rewardsstakersvalidators:Rewardsstakerscontracts:Rewardsoperators=1:5:20Rewards_{stakers_{validators}}:Rewards_{stakers_{contracts}}:Rewards_{operators}=1:5:20
โ€‹
Then, although the ratio of the operator's reward is increasing, the upper green line representing the average annual interest rate for the operator's staking amount is low because
qq
is far from the ideal value. As a result, even if the ratio of Staking to smart contracts increases, the reward paid to Operators is not much different from the ideal state. Also, the lower green line, which represents the average annual interest rate of Staking rewards, has been reduced, giving the incentive for Staker to take validators to Stake in order to maintain balance. As an extreme example, The below figure shows a graph when
q=1.0q = 1.0
. At this time, no one has taken Staking for the smart contract, and the reward will be as follows.
โ€‹
Rewardsstakersvalidators:Rewardsstakerscontracts:Rewardsoperators=1:0:0Rewards_{stakers_{validators}}:Rewards_{stakers_{contracts}}:Rewards_{operators}=1:0:0
โ€‹
The green line that represents the average annual rate of reward for Staking is lower than ideal because the reward that the Operator gets is zero and
qq
is far from ideal. In this case, too, Staker creates an incentive to take Stakes on smart contracts to maintain balance. Note that the red line that represents the overall inflation rate and the blue line that represents the inflation rate due to the Staking reward overlap, making the latter invisible. Also, note that these graphs meet the following closings:
    The average annual interest functions
    istaking,ioperatori_{staking}, i_{operator}
    are monotonic with respect to x.
    The average annual interest functions
    istaking,ioperatori_{staking}, i_{operator}
    maximize when q is an ideal value.
    โ€‹
    IStaking,IOperator,II_{Staking}, I_{Operator}, I
    maximize when
    xandqx and q
    are both ideal values.
    โ€‹
    I0I_0
    is the lower limit of the inflation rate.
    Always satisfy
    Rewardsstaking:Rewardsoperator=5+1:4=6:4=3:2Rewards_{staking}: Rewards_{operator} = 5 + 1: 4 = 6: 4 = 3: 2
    when
    qq
    is the ideal value. In other words, when
    qq
    is the ideal value, it satisfies
    Istaking:Ioperator=3:2I_{staking}: I_{operator} = 3: 2
    .
By adding the above-inflation model, we will adjust the incentives of Astar users and encourage the actions expected of Astar Network.
Any questions? Feel free to ask us on Discord Tech Channel.
Last modified 3mo ago
Copy link