Adjust Commission Rate
Overview
This document provides guidance on setting up and adjusting the commission rate for collators on the peaq network. It highlights key aspects of the new token economy introduced in runtime upgrade v0.0.104.
New Token Economy (v2)
The new token economy introduces significant changes, including the ability for collators to set their commission rates, which can range from 0% to 100%.
Setting Up Commission Rate
To set up your commission rate, follow these steps:
Open polkadot.js
Navigate to the polkadot.js interface.Navigate to Extrinsics
Go toDeveloper → Extrinsics → parachainStaking → setCommission
.Submit Transaction
Enter your desired commission rate and submit the transaction.
Note: To set a 1% commission, enter10000
in the commission field. For 25%, enter250000
.
Reward Calculation
The new token economy introduces a reward system based on total network stake rather than individual validator stakes. The following factors determine block rewards:
- Validator commission rate
- Number of blocks produced by the validator
- Total stake of all collators and their delegators
- Individual stake amount
The reward calculation for collators and their delegators is detailed below.
PotBalance = (Block Reward Per Block * Blocks in Session) + TX Fees
TotalStake = SUM(# of authored blocks * (author’s stake + SUM(author’s delegator’s stake)))
Delegator’s Reward = PotBalance * (# of authored blocks * (1 - author’s commission) * (Delegator’s Stake / TotalStake))
Collator’s Reward = PotBalance * (# of authored blocks * (Author’s Stake / TotalStake)) + (PotBalance * (# of authored blocks * Author’s Commission) * (total delegator's staking number in this validator / Total staking number))
In other words, the calculations are carried out as follows:
Total session reward = Block reward * Collator_Delegator percentage * session length
Total staking number = SUM(validator's generated blocks * (validator's stake + SUM(validator's delegators' stakes)))
Delegator's reward = Total session reward * validator's generated blocks * (1 - validator's commission) * (delegator's stake / Total staking number)
Validator's reward = (Total session reward * validator's generated blocks * validator's stake / Total staking number) + (Total session reward * validator's generated blocks * validator's commission * total delegators' stake / Total staking number)
Reward Snapshot
In our design, no matter the commission rate, the change of the staking number, and the delegator joining or leaving, all of them will affect the next session, but not this session. For example:
- The validator changes the commission rate from 5% to 10% in session X. The reward calculation will follow 5% in session X, and the 10% will be affected in session X+1.
- The delegator stakes 100 tokens more on session Y. The increment of 100 tokens takes into account the session Y+1 only.
- The delegator joins session Z; his staking number is involved in the session Z+1.
Reward Distribution
To enhance scalability, rewards are now distributed in batches per session rather than per block. Rewards are accumulated and calculated based on the session, then distributed in the following session.
For instance, blocks created by collators A, B, and C during session X will have their rewards distributed in session X+1.