Track base reward rate, validator-specific rates, and voting power. #41
Labels
A-staking
Area: Design and implementation of staking and delegation
C-enhancement
Category: an enhancement to the codebase
E-medium
Effort: Medium
Projects
The application needs to track the base reward rate for staking, the base exchange rate, and the derived validator-specific exchange rates. The voting power for each validator is calculated from the size of their delegation pool, and should also be recorded.
It's important that the implementation treats the reward rate as a time series, not as a constant value, since eventually the reward rate should adjust to steer staking incentives. We're not immediately ready to implement that, but if we use a constant staking rate, we might write code that assumes the staking rate is constant, and we wouldn't notice, because it would be accidentally correct. As an alternative, we could choose the staking rate based on the leading byte of the hash of the last block in each epoch. This is economically meaningless, but it's easy to implement, and it means we're forced to build code around the idea that the staking rate is variable.
The details are in the staking section of the protocol spec, but the high-level picture is:
Subtasks:
The text was updated successfully, but these errors were encountered: