Skip to content

SIMD-0249: Delay Commission Updates #249

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions proposals/0249-delay-commission-updates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
simd: '0249'
title: Delay Commission Updates
authors: Justin Starry (Anza)
category: Standard
type: Core
status: Review
created: 2025-02-18
feature: (fill in with feature key and github tracking issues once accepted)
---

## Summary

Allow validators to update their commission rate at any time but delay those
commission updates for at least one full epoch.

## Motivation

Validators should be able update their desired commission at any time. That
said, stake delegators should always have ample time to re-delegate their stake
in response to validator commission rate changes.

## New Terminology

NA

## Detailed Design
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this going to be updated to include implementation details? this section is supposed to be sufficiently descriptive that someone can implement the feature/change from this document alone

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated


### Runtime

For a given epoch `E`, the earned inflation rewards for each vote account are
calculated at the beginning of the next epoch `E + 1`. During inflation reward
calculation, use the inflation rewards commission rate from the vote account
state as it existed at the beginning of epoch `E - 1`. If the vote account did
not exist at that time, fall back to the vote account state at the beginning of
epoch `E`. And if the vote account did not exist then either, fall back
to the vote account state at the beginning of epoch `E + 1`.

#### UpdateCommission

Update the core vote program to no longer restrict commission increases from
happening during the first half of the epoch.

## Alternatives Considered

NA

## Impact

- Validators will need to wait at least one full epoch before their commission
updates are applied.

- Stake delegators will have at least one full epoch to react to commission
updates.

## Security Considerations

NA

## Drawbacks *(Optional)*

Why should we not do this?

## Backwards Compatibility *(Optional)*

A feature gate will be used to simultaneously update vote program rules around
commission rate updates as well as update the runtime's commission calculations
at epoch boundaries.
Loading