Before going forward with the retroactive airdrop as discussed in:
and approved on:
We want to discuss how the distribution process will happen and the formula, keeping in mind that the goal is to reward users that staked to more active keepers than non-actives. This formula was created by @voith.
Formula
Let’s say there are 2 keepers K1 and K2 and 5 users U1, U2, U3, U4, U5.
Let’s say the total reward pool is R.
We will allocate 20% of the rewards i.e. 0.2R to the keepers as rewards and 80% to the users i.e. 0.8R.
Note: The numbers above can be changed based on feedback. Those are tentative numbers.
Let’s say that K1 voted on n1 proposals and k2 voted on n2 proposals.
The reward for K1 = (2 ** n1 * 0.2R)/(2 ** n1 + 2 ** n2)
An exponential function is chosen here to reward active keepers more than non-active ones.
Similarly reward for K2 = (2 ** n2 * 0.2R)/(2 ** n1 + 2 ** n2)
User rewards distribution
User | Delegated to | No of days | Amount staked |
---|---|---|---|
U1 | K1 | d1 | a1 |
U2 | K1 | d2 | a2 |
U3 | K2 | d3 | a3 |
U4 | K3 | d4 | a4 |
U4 | K4 | d5 | a5 |
Let’s say the users have the following distribution:
Firstly the reward pool for each keeper will be split based on the keeper’s participation.
user reward pool for K1(UrK1) = (2 ** n1 * 0.8R) / (2 ** n1 + 2 ** n2)
user reward pool for K2(UrK2) = (2 ** n2 * 0.8R )/ (2 ** n1 + 2 ** n2)
Reward for U1 = (d1 * a1 * UrK1) / (d1 * a1 + d2 * a2)
Reward for U2 = (d2 * a2 * UrK1) / (d1 * a1 + d2 * a2)
Reward for U3 = (d3 * a3 * UrK2) / (d3 * a3 + d4 * a4 + d5 * a5)
Reward for U4 = (d4 * a4 * UrK2) / (d3 * a3 + d4 * a4 + d5 * a5)
Reward for U5 = (d5 * a5 * UrK2) / (d3 * a3 + d4 * a4 + d5 * a5)
Based on this formula we will grab the information of stakers and will create a document with the details on how much CTX will be allocated per staker/delegator for the community to approve.