Skip to content

Implement Telos Voting System Improvements #50

@pmjanus

Description

@pmjanus

[Enhancement] Implement Telos Voting System Improvements

🔄 Description
Implement three key changes to the Telos voting system to improve decentralization and BP incentives: decay mechanism, tiered BP pay, and self-stake boost.

📋 Key Features

  • Implement vote decay multiplier for both EVM and native chains
  • Create tiered BP payment structure replacing the current 2-tier system
  • Add self-stake boost to incentivize BP skin-in-the-game

🧠 Tasks

  • Vote Decay Implementation

    • Add decay multiplier to native sys contracts before deployment - there's already code for this, it was removed. It needs to be reviewed. We want to make it configurable so decay should be stored in a table.
    • Implement as multiplier against new votes (not reducing old vote weight)
    • Add to native side with configurable multiplier (default to 1)
    • There is another value: amount that the decay value will increase over a time period
    • This needs to be replicated on EVM so implementation on native should be compatible with evm implementation
    • Create action to sync EVM decay multiplier with native chain
  • Tiered BP Pay Structure

    • Replace current 2-tier system (1-21 full pay, 22-42 half pay)
    • Implement hardcoded list of 42 pay multipliers
    • Modify "to_producers" amount distribution logic
    • Reuse existing "shares" logic where applicable
  • Self-Stake Boost

    • Implement check for BP's stake to itself (rex or regular stake)
    • Apply self-stake multiplier (likely 10x) to BP's own votes
    • Apply boost after standard vote calculation but before decay multiplier
    • Ensure compatibility with existing DPOS voting mechanism

🔍 Technical Details

  • Decay is implemented as a multiplier against new votes only
  • BP pay uses 42 different payment tiers rather than formula-based calculation
  • Self-stake boost adds (BP's stake × multiplier) to their vote weight

⏱️ Timeline

  • Decay mechanism: Future proposal
  • Self-stake and tiered pay: Include in current planned updates
  • Consolidate all changes into single upgrade/testing/audit cycle

🔗 References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions