Uploader Reward Calculation
Introduction
To incentivize protocol validators to stay online and continue uploading and validating data nodes receive a reward in $KYVE for every valid bundle proposed. This reward depends on the size of the data uploaded, the specified operating cost of the pool and the share of the inflation the pool receives. Once the total bundle reward is charged from the funders and the inflation share (Inflation Splitting) the reward gets distributed to all stakeholders which are the treasury, the uploader and its delegators.
Bundle Reward
First the funders are charged with the operating cost. This should cover as the name already suggests the base operating costs of the validator nodes. In addition, the inflation share is added which further rewards the uploader and its delegators.
Network Fee
The network fee collects a part of the bundle reward and transfers it to the community pool where the governance can decide how to use those funds. It is usually around 1-2% and can be found in the params of x/bundles
. This gets deducted first from the total bundle reward.
Storage Cost
The storage cost is a param in x/bundles
and determines how much $KYVE the uploader should receive for uploading a specific size
of data. This gets deducted after the network fee and credited directly to the uploader and not its delegators.
Commission
Because the uploader has to share his rewards with delegators and the uploader's stake also counts as a normal delegation the uploader would earn the same rewards as a normal delegator who just delegated the same amount. This is of course unfair, since the node operator is putting way more work and capital in form of server costs and maintenance.
For this reason the commission was introduced, giving the node operator the option of setting a percentage of how much of the remaining bundle reward he directly receives. If the commission is at 0% the node operator does not earn anything extra and has the same rewards as a normal delegator. If the commission is 100% the node operator receives the full remaining bundle reward, leaving nothing for the delegators. Here of course the commission has to be chosen carefully by the node operator, choosing a too low commission could result in a loss for the operator, choosing it too high would result in users not delegating to your node. After the commission is then finally deducted the remaining reward is called the delegation reward. More information on how the delegation reward gets distributed between all delegators can be found on the next page.
NOTE: This means that the node operator always has two sources of income, the commission rewards and the delegation rewards from his self delegation.
Reward Parameters
The current reward parameters can be found below. The operating cost is the parameter which is not globally set and defined in each pool itself where the bundle reward is applied.
Mainnet | Kaon | Korellia | |
---|---|---|---|
Network Fee* | % | % | % |
Storage Cost* | tkyve | tkyve | tkyve |
Operating Cost | per Pool | per Pool | per Pool |
*Updated at
These parameters can only be updated via the governance.
Calculation
The reward is calculated per bundle and per pool. A reward consists of multiple coins. Funders can fund in any supported IBC-coin. The total bundle reward is calculated as
where
- consisting of different coins.
- is the sum of all coins the funders paid for the given bundle in the given pool.
- is the current account balance of the pool from inflation splitting.
- is the rate at which the pool account should be charged (global parameter).
From the total bundle reward the network fee gets first deducted and transferred. The value is given by
where is the percentage of the rewards that is paid to the community pool as a fee.
After the network fee is deducted, the storage cost for uploading the bundle to the storage provider is calculated on a USD basis:
where
- is the size of the data uploaded to the storage-provider in bytes.
- is the cost (in USD) per byte for uploading data to a given storage-provider (global parameter).
Now is split across all available coins in the reward equally.
where
- is the price of the -th coin in USD (global parameter, which is kept up-to-date by the governance).
Now the storage cost is deducted from the total reward for each coin. If the storage cost for a given coin is larger than the available amount, the entire amount is deducted. The storage reward for the -th coin is given by
The treasury cost and the storage cost are deducted from the total reward which leads to the remaining bundle reward which is split between the validator (uploader) and its delegators based on the validator's commission:
where
- is the commission set by the validator.
The total reward can be summarized as: