CTX Retroactive Airdrop Distribution Process

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.

3 Likes

We have calculated the distribution data for proposal: CTX Retroactive Airdrop Distribution Process Here’s what the distribution looks like: Ctx Delegator Rewards - Google Sheets This excel document has 4 sheets. They are:

  • Distribution: This sheet contains the address and the ctx amount that will be distributed to the address.
  • Voting stats: This sheet contains the delegated balance, no of days staked. The balance and number of days staked is calculated every the keeper voted on proposal.
  • Delegation Record: This sheet shows how the delegated balance for each delegator varied over time. Data from this sheet is used to calculate Voting Stats.
  • Keeper Votes: The number of proposals the keeper voted on.

The code for generating this distribution can be found here: GitHub - cryptexfinance/ctx-delegation-stats The README.md has instructions for setting up and running the code. The readme also tries to explain the distribution process through an example. The main file for calculating the distribution can be found here: ctx-delegation-stats/stats/src/stats.py at main · cryptexfinance/ctx-delegation-stats · GitHub It’ll be helpful if any of you could verify the generated distribution. I’ve tried my best to test it and get it right but I might miss something. Please let me know if you have any questions.

1 Like

I have concerns that the exponential weighting used in this distribution has overshot the desired effect of rewarding active participation and instead disproportionately rewards, with the majority going only to the single most active keeper and their delegates. To encourage a healthy governance ecosystem with several active delegates, I propose we should consider a linear weighting. This would still provide higher reward distribution for higher activity level, but would do so more proportionally across multiple keepers and their delegates.

I have created a snapshot proposal to get community input on this. Because this decision must be made for each portion of the rewards (staker portion and keeper portion), there are 4 options:

  • Option A: Exponential weighting for staker rewards, Exponential weighting for keeper rewards.
  • Option B: Exponential weighting for staker rewards, Linear weighting for keeper rewards.
  • Option C: Linear weighting for staker rewards, Linear weighting for keeper rewards.
  • Option D: Linear weighting for staker rewards, Exponential weighting for keeper rewards.

Detailed distributions to the wallet address level will not be calculated for each option, but the following tables provide a high-level understanding of how each portion of the rewards would be distributed across the 13 keepers and their delegates for each option.

Please review and feel free to ask any questions, then cast your vote on snapshot.

+--------------+------------------------------------------+
| Keeper Stats |                 Option A                 |
+------+-------+----------------------+-------------------+
| Rank | Votes | % of User Portion to |    % of Keeper    |
|      |       |  Keepers Delegators  | Portion to Keeper |
+------+-------+----------------------+-------------------+
|   1  |   13  |        74.04%        |       74.04%      |
|   2  |   11  |        18.51%        |       18.51%      |
|   3  |   8   |         2.31%        |       2.31%       |
|   4  |   8   |         2.31%        |       2.31%       |
|   5  |   8   |         2.31%        |       2.31%       |
|   6  |   5   |         0.29%        |       0.29%       |
|   7  |   3   |         0.07%        |       0.07%       |
|   8  |   2   |         0.04%        |       0.04%       |
|   9  |   2   |         0.04%        |       0.04%       |
|  10  |   1   |         0.02%        |       0.02%       |
|  11  |   1   |         0.02%        |       0.02%       |
|  12  |   1   |         0.02%        |       0.02%       |
|  13  |   1   |         0.02%        |       0.02%       |
+------+-------+----------------------+-------------------+

+--------------+------------------------------------------+
| Keeper Stats |                 Option B                 |
+------+-------+----------------------+-------------------+
| Rank | Votes | % of User Portion to |    % of Keeper    |
|      |       |  Keepers Delegators  | Portion to Keeper |
+------+-------+----------------------+-------------------+
|   1  |   13  |        74.04%        |       20.31%      |
|   2  |   11  |        18.51%        |       17.19%      |
|   3  |   8   |         2.31%        |       12.50%      |
|   4  |   8   |         2.31%        |       12.50%      |
|   5  |   8   |         2.31%        |       12.50%      |
|   6  |   5   |         0.29%        |       7.81%       |
|   7  |   3   |         0.07%        |       4.69%       |
|   8  |   2   |         0.04%        |       3.13%       |
|   9  |   2   |         0.04%        |       3.13%       |
|  10  |   1   |         0.02%        |       1.56%       |
|  11  |   1   |         0.02%        |       1.56%       |
|  12  |   1   |         0.02%        |       1.56%       |
|  13  |   1   |         0.02%        |       1.56%       |
+------+-------+----------------------+-------------------+

+--------------+------------------------------------------+
| Keeper Stats |                 Option C                 |
+------+-------+----------------------+-------------------+
| Rank | Votes | % of User Portion to |    % of Keeper    |
|      |       |  Keepers Delegators  | Portion to Keeper |
+------+-------+----------------------+-------------------+
|   1  |   13  |        20.31%        |       20.31%      |
|   2  |   11  |        17.19%        |       17.19%      |
|   3  |   8   |        12.50%        |       12.50%      |
|   4  |   8   |        12.50%        |       12.50%      |
|   5  |   8   |        12.50%        |       12.50%      |
|   6  |   5   |         7.81%        |       7.81%       |
|   7  |   3   |         4.69%        |       4.69%       |
|   8  |   2   |         3.13%        |       3.13%       |
|   9  |   2   |         3.13%        |       3.13%       |
|  10  |   1   |         1.56%        |       1.56%       |
|  11  |   1   |         1.56%        |       1.56%       |
|  12  |   1   |         1.56%        |       1.56%       |
|  13  |   1   |         1.56%        |       1.56%       |
+------+-------+----------------------+-------------------+

+--------------+------------------------------------------+
| Keeper Stats |                 Option D                 |
+------+-------+----------------------+-------------------+
| Rank | Votes | % of User Portion to |    % of Keeper    |
|      |       |  Keepers Delegators  | Portion to Keeper |
+------+-------+----------------------+-------------------+
|   1  |   13  |        20.31%        |       74.04%      |
|   2  |   11  |        17.19%        |       18.51%      |
|   3  |   8   |        12.50%        |       2.31%       |
|   4  |   8   |        12.50%        |       2.31%       |
|   5  |   8   |        12.50%        |       2.31%       |
|   6  |   5   |         7.81%        |       0.29%       |
|   7  |   3   |         4.69%        |       0.07%       |
|   8  |   2   |         3.13%        |       0.04%       |
|   9  |   2   |         3.13%        |       0.04%       |
|  10  |   1   |         1.56%        |       0.02%       |
|  11  |   1   |         1.56%        |       0.02%       |
|  12  |   1   |         1.56%        |       0.02%       |
|  13  |   1   |         1.56%        |       0.02%       |
+------+-------+----------------------+-------------------+
1 Like