Skip to main content

Voting flow

Voting requirements and strategies for voting power

Voting power determines the weight of a user's vote based on factors such as stake, token balance, and other criteria. This mechanism ensures that governance decisions proportionately reflect the contributions or commitments of stakeholders.

Voting power calculation

There are three primary approaches to calculating voting power in decentralized autonomous organizations (DAOs):

Snapshot-based approach

  • Definition:
    Voting power is determined by token balances or stakes at a specific moment (a snapshot), typically taken when a proposal is created or when voting begins.

  • Key features:

    • Static calculation: Once the snapshot is taken, voting power remains fixed, even if tokens are transferred or unstaked afterward.
  • Advantages:

    • Prevents manipulation of voting power during the voting period.
    • Simplifies calculations and verification processes.
  • Example:
    If a user holds 1,000 CHR at the time of the snapshot, their voting power remains 1,000 throughout the voting process, regardless of any subsequent token transfers.

Dynamic approach

  • Definition:
    Voting power is recalculated in real-time based on current token balances or stakes during the voting period.

  • Key features:

    • Adaptive calculation: Voting power immediately reflects any changes in balance or stake.
  • Advantages:

    • Accurately reflects a user’s ongoing commitment to the system.
    • Discourages transferring tokens or unstaking during the voting period.
  • Disadvantages:

    • Increases implementation complexity and the need for continuous verification.
  • Example:
    If a user starts with 1,000 CHR voting power and then transfers tokens before the vote concludes, their voting power immediately decreases to 500.

Mixed strategy

  • Definition:
    This is a hybrid model that combines elements of both snapshot and dynamic approaches. Different rules may apply based on the proposal type or specific governance settings.

  • Key features:

    • Provides flexibility to tailor governance rules for various scenarios.
  • Example:
    Utilize snapshot-based voting for general proposals and switch to dynamic voting for time-sensitive or high-impact decisions.

Voting results calculation

After the voting period concludes, the system calculates the results using the selected voting power strategy and proposal-specific rules. The process involves the following steps:

  1. Aggregation:
    Votes are tallied based on each user’s weighted voting power.

  2. Voting power formulas:

    • Linear: Voting power is directly proportional to the number of tokens held or staked.
    • Quadratic: Voting power scales nonlinearly, helping balance the influence between large and small holders.
    • Mixed: A combination of linear and quadratic formulas, customized through governance configurations.
  3. Threshold check:
    Proposals must meet predefined conditions (e.g., majority approval, quorum requirements) to pass.

  4. Result declaration:

    • The option with the highest weighted vote count wins.
    • In the event of a tie, fallback mechanisms such as administrative intervention or a veto by designated counselors may be triggered.

Voting power flow in the Governance Tool

In the Governance Tool, voting power is treated as a "spendable resource" allocated to proposals. The allocation method depends on the proposal type and the voting power strategy (e.g., snapshot vs. dynamic, balance vs. staked tokens, linear vs. quadratic). Once voting concludes, the voting power is either restored to the user or adjusted for future use.

Voting power lifecycle

  1. Initial calculation:
    A user’s total voting power is determined by:

    • Token balance: e.g., CHR or other supported tokens.
    • Staked tokens: Tokens that have been committed to the governance process.
    • Additional criteria: Future features might include factors such as NFT ownership or reputation.
  2. Voting participation:
    When casting a vote, a user allocates a portion of their voting power:

    • Snapshot-based voting: The allocated power is locked at the snapshot value and remains unchanged until the voting period ends.
    • Dynamic voting: The vote may be removed if token balances or stakes decrease during the voting period.

Example scenario

User's initial state

  • CHR in wallet: 300 tokens
  • CHR staked: 1,200 tokens

Voting power allocation

  • Proposal A (snapshot-based, linear voting):

    • Total voting power: 300 (wallet) + 1,200 (staked) = 1,500
    • Vote example: The user votes with 1,500 voting power. They always vote with their full voting power. If their voting power decreases during the voting period, their vote will be removed.
  • Proposal B (dynamic, quadratic voting):

    • Voting power calculation: A quadratic formula is applied, e.g., voting power = sqrt(1,200).
    • Vote example: The user’s voting power is dynamically adjusted based on their current stake. If tokens are transferred or unstaked before the vote concludes, the vote will be removed.