Weber Rewards and Penalties¶
Notice: This document is a work-in-progress for researchers and implementers of the Weber protocol.
Table of contents¶
- Introduction
- Constants
- Reward Values
- Penalty Values
- Reputation Parameters
- Validator Reputation System
- Reputation Score
- Reputation Factors
- Reputation Updates
- Base Reward Calculation
- Attestation Rewards
- Source Vote
- Target Vote
- Head Vote
- Inclusion Delay
- Block Proposal Rewards
- Standard Proposal Reward
- Attestation Inclusion Reward
- Quick Finality Bonus
- Sync Committee Rewards
- Quick Finality Participation Rewards
- Penalties
- Inactivity Penalties
- Slashing Penalties
- Reputation Penalties
- Reward Distribution in Epoch Processing
- Implementation Details
- Optimistic Reward Calculation
- Efficient Penalty Application
- Security Considerations
- Economic Security
- Inflation Rate Management
- Attack Resistance
- Appendix
- Reward Calculation Examples
- Penalties Calculation Examples
Introduction¶
The Weber protocol's economic incentives are designed to encourage validator behaviors that promote network security, liveness, and finality. This document specifies the reward and penalty mechanisms in Weber, including:
- Reputation-weighted rewards that adjust based on validator historical performance
- Quick finality incentives to reward validators participating in Weber's accelerated finality mechanism
- Progressive penalties that scale with the severity and frequency of infractions
- Validator rotation incentives that encourage decentralization through periodic validator changes
These incentives collectively ensure that validators are economically motivated to follow the protocol rules, maintain high availability, and contribute positively to network health.
Constants¶
Reward Values¶
Name | Value | Description |
---|---|---|
BASE_REWARD_FACTOR |
64 |
Base reward factor used in calculating per-slot base reward |
PROPOSER_REWARD_QUOTIENT |
8 |
Quotient used to calculate proposer rewards |
FINALITY_DELAY_FACTOR |
64 |
Factor for penalties in case of delayed finality |
SYNC_REWARD_WEIGHT |
2 |
Weight for sync committee rewards relative to attestation rewards |
QUICK_FINALITY_REWARD_MULTIPLIER |
1.5 |
Additional reward multiplier for quick finality participation |
REPUTATION_REWARD_FACTOR |
0.2 |
Factor that scales reputation's impact on rewards |
MAX_EFFECTIVE_BALANCE |
32 ETH |
Maximum effective balance for a validator |
Penalty Values¶
Name | Value | Description |
---|---|---|
INACTIVITY_PENALTY_QUOTIENT |
33554432 |
Quotient for calculating inactivity penalties |
MIN_SLASHING_PENALTY_QUOTIENT |
128 |
Minimum slashing penalty quotient |
PROPORTIONAL_SLASHING_MULTIPLIER |
1 |
Multiplier for proportional slashing penalties |
MISSED_ATTESTATION_PENALTY_FACTOR |
0.5 |
Factor for missed attestation penalties |
REPUTATION_PENALTY_FACTOR |
0.3 |
Factor that scales reputation's impact on penalties |
Reputation Parameters¶
Name | Value | Description |
---|---|---|
INITIAL_REPUTATION_SCORE |
500 |
Initial reputation score for new validators (0-1000 scale) |
REPUTATION_UPDATE_WEIGHT |
0.2 |
Weight of new performance data in reputation updates |
MAX_REPUTATION_SCORE |
1000 |
Maximum possible reputation score |
MIN_REPUTATION_SCORE |
0 |
Minimum possible reputation score |
QUICK_FINALITY_MIN_REPUTATION |
900 |
Minimum reputation required for quick finality participation |
Validator Reputation System¶
Reputation Score¶
Weber maintains a reputation score for each validator ranging from 0 to 1000, representing the validator's historical performance and reliability. This score directly influences rewards and voting power in consensus.
Reputation Factors¶
The reputation score is derived from several performance metrics:
- Attestation Performance: Timeliness and consistency of attestations
- Block Proposal Performance: Success rate and timeliness of block proposals
- Network Participation: Participation in required subnets
- Historical Uptime: Long-term validator availability
- Protocol Violations: Any detected improper behavior
Reputation Updates¶
Base Reward Calculation¶
Weber calculates the base reward for validators with a reputation modifier:
Attestation Rewards¶
Validators receive rewards for timely attestations that contribute to consensus. These rewards are divided into components based on the attestation's properties.
Source Vote¶
...(about 346 lines omitted)...
Slashing penalties for validators caught double voting or surrounds¶
def process_slashing(state: BeaconState, validator_index: ValidatorIndex) -> None: """ Apply slashing penalties to a validator caught violating protocol rules. """ validator = state.validators[validator_index] current_epoch = get_current_epoch(state)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
```
Security Considerations¶
Economic Security¶
The Weber rewards and penalties system ensures economic security through several mechanisms: 1. Balance between rewards and penalties: The system is designed to make honest participation more profitable than any attack strategy. 2. Reputation-weighted stake: By factoring validator reputation into reward calculations, Weber creates multiple dimensions of security beyond just staked capital. 3. Progressive penalties: Penalties for infractions increase with the severity and frequency, discouraging repeated misbehavior. 4. Finality incentives: Special rewards for quick finality participation ensure validators are motivated to help achieve fast finality guarantees.
Inflation Rate Management¶
Weber manages its overall inflation rate through careful calibration of rewards: 1. The total issuance is bounded by linking rewards to active validator set size. 2. Rewards dynamically adjust based on participation levels to maintain predictable issuance. 3. Penalties are recycled into rewards for honest validators, creating a zero-sum component.
Attack Resistance¶
The rewards and penalties system provides resistance against common attacks: 1. Nothing-at-stake: Slashing conditions and significant penalties make equivocation attacks costly. 2. Inactivity leaks: Increased penalties during periods of non-finality encourage validators to participate. 3. Reputation manipulation: The multi-factor reputation system makes gaming the system difficult. 4. Long-range attacks: Mandatory validator rotation prevents long-term control of the validator set.
Appendix¶
Reward Calculation Examples¶
Example 1: Standard attestation reward calculation for a validator with 32 ETH effective balance and 750 reputation score: ``` Base reward: 12,000 Gwei Reputation modifier: 1.1 (10% bonus) Modified base reward: 13,200 Gwei
Source vote reward: 13,200 / 4 = 3,300 Gwei Target vote reward: 13,200 / 4 = 3,300 Gwei Head vote reward: 13,200 / 4 = 3,300 Gwei Inclusion delay reward (1 slot delay): 13,200 / 4 * (8-1)/8 = 2,887.5 Gwei
Total attestation reward: 12,787.5 Gwei
Total proposal reward: 14,000 Gwei
Total inactivity penalty: 9,536 Gwei per epoch
Total slashing penalty: 570,000,000 Gwei (0.57 ETH) ```