SIMD-0096

Reward full priority fee to validator

Author: Tao Zhu · Category: Core Protocol GitHub →

Feature Gate Status

Mainnet Active E741
Testnet Active E731
Devnet Active E805

3opE3EzAKnUftUDURkzMgwpNgimBAypW1mNDYH4x4Zg7

TL;DR

Reward 100% of priority fee to validator.

Summary

Reward 100% of priority fee to validator.

Motivation

To better align validator incentives, priority fee should change from current 50% burn 50% reward to 100% reward to validator.

Key Changes

  • When calculate fee for SanitizedMessage, it should separate prioritization_fee
  • change FeeStructure.calculate_fee()
  • During fee collection, priority fees are accumulated separately from transaction
  • change bank.collector_fees and bank.filter_program_errors_and_collect_fee()
  • When distributing collected fees, the collector_id receives the sum of priority
  • Change bank.distribute_transaction_fee()
  • No change to fee payer account validation;
  • No change to how much transaction would be paying in total;

Impact

The implemented proposal aims to enhance incentives for validators to prioritize transactions with higher priority fees, thereby providing more substantial compensation for the validators' efforts in processing higher-paying transactions.

Backwards Compatibility

The implementation of this proposal necessitates the use of a feature gate. Although there will be no alteration to the transaction submitter's payment structure, the software incorporating the proposal will allocate a greater portion of fees to the leader compared to other versions. Consequently, a feature gate is essential to ensure that all validators transition to the new functionality at the epoch boundary, thereby preserving consensus.

Security Considerations

None