SIMD-0123

Block Revenue Sharing

Author: Justin Starry (Anza) · Category: Core Protocol GitHub →

TL;DR

A new mechanism is proposed to allow validators to share part of their block revenue with their delegators. Commission rates from validator vote accounts will be used by the protocol to calculate post-commission rewards that will be automatically distributed to delegated stake accounts after an epoch is completed.

Summary

A new mechanism is proposed to allow validators to share part of their block revenue with their delegators. Commission rates from validator vote accounts will be used by the protocol to calculate post-commission rewards that will be automatically distributed to delegated stake accounts after an epoch is completed.

Motivation

Delegated stake directly increases the number of blocks that a validator is allocated in an epoch leader schedule but the core protocol doesn't support diverting any of that extra revenue to stake delegators.

Key Changes

  • account is system program owned AND
  • account is rent-exempt after depositing the commission.
  • account is vote program owned AND
  • account is initialized with vote state v4 or later
  • Sum all active stake delegated to the vote account during the reward epoch
  • For each individual stake account, multiply its active stake from the
  • If the number of account inputs is less than 2, return
  • If the vote account (index 0) fails to deserialize, return
  • If the vote account is not initialized with state version 4, return

Impact

Stake delegators will receive additional income when delegating to validators who adopt this new feature by setting a block revenue commission rate less than the default of `100%`.

Backwards Compatibility

A feature gate will be used to enable block reward distribution at an epoch boundary.

Security Considerations

NA