Enable updating commission_percentage
AIP-19 - Enable updating commission_percentage in staking_contract module
Section titled “AIP-19 - Enable updating commission_percentage in staking_contract module”Summary
Section titled “Summary”This AIP proposes an update to staking_contract.move, which would allow the stake pool owner to change commission_percentage.
Motivation
Section titled “Motivation”Currently, commission_percentage cannot be changed. The updating commission percentage feature will allow for better adaptability to changing market conditions.
Rationale
Section titled “Rationale”Considerations:
- The staking contract tracks how much commission needs to be paid out to the operator. Updating
commission_percentageis a convenience function added tostaking_contract.moveto allow a stake pool owner to update the commission percentage paid to the operator. Commission_percentagecan be updated by the stake pool owner at any time. Commission is earned on a per epoch basis. The change takes into effect immediately for all future commissions earned when the update function is called, but will not be retroactively applied to any previously earned commissions.- UpdateCommissionEvent gets emitted when the
update_comissionfunction is called
Alternative solutions:
The staking contract would have to be ended and a new one has to be created in order to change the commission_percentage. This is a less ideal solution as it creates more operational overhead and would result in missed staking rewards.
Reference Implementation
Section titled “Reference Implementation”https://github.com/aptos-labs/aptos-core/pull/6623/
Risks and Drawbacks
Section titled “Risks and Drawbacks”Changing commission_percentage may introduce uncertainty into commission earnings because it is possible that operators are paid at different commission rates during an unlock cycle. However, there is no additional action required for the operator as changes take into effect immediately.
We can mitigate this in a future iteration by implementing a max commission change per period. This is not a concern with the current owner-operator structure.
Future Potential
Section titled “Future Potential”This feature will give the stake pool owner more flexibility over the commission_percentage to reflect changing market conditions.
Suggested implementation timeline
Section titled “Suggested implementation timeline”Targeting end of Q1
Suggested deployment timeline
Section titled “Suggested deployment timeline”This feature is currently on devnet and testnet as part of v1.3.