-
Notifications
You must be signed in to change notification settings - Fork 166
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
Benhawkins18
merged 2 commits into
solana-foundation:main
from
jstarry:delay-commission-updates
Jun 9, 2025
Merged
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
|
||
### 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. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated