Voting Power
CredDAO uses a quadratic voting formula enhanced with reputation multipliers to ensure fair governance.
The Formula
votingPower = √(tokenBalance) × (1 + fairscore/50)Components
| Component | Description |
|---|---|
| √(tokenBalance) | Quadratic base - square root of tokens |
| (1 + fairscore/50) | Reputation multiplier |
Implementation
pub fn calculate_voting_power(tokens: u64, fairscore: u64) -> u64 {
let quadratic_base = (tokens as f64).sqrt() as u64;
let reputation_multiplier = 100 + (fairscore * 100 / REPUTATION_MULTIPLIER_DENOMINATOR);
quadratic_base.saturating_mul(reputation_multiplier) / 100
}Example Calculations
Example 1: Active Community Member
| Metric | Value |
|---|---|
| Token Balance | 10,000 |
| FairScore | 78 (Gold) |
quadraticBase = √10000 = 100
multiplier = 1 + (78/50) = 2.56
votingPower = 100 × 2.56 = 256Example 2: Whale with Low Reputation
| Metric | Value |
|---|---|
| Token Balance | 1,000,000 |
| FairScore | 25 (Unscored) |
quadraticBase = √1000000 = 1000
multiplier = 1 + (25/50) = 1.5
votingPower = 1000 × 1.5 = 1500Example 3: Platinum Member
| Metric | Value |
|---|---|
| Token Balance | 50,000 |
| FairScore | 92 (Platinum) |
quadraticBase = √50000 ≈ 224
multiplier = 1 + (92/50) = 2.84
votingPower = 224 × 2.84 ≈ 636Power Comparison
| Member | Tokens | FairScore | Traditional Power | CredDAO Power | Reduction |
|---|---|---|---|---|---|
| Whale A | 1,000,000 | 25 | 1,000,000 | 1,500 | 99.85% |
| Active B | 10,000 | 78 | 10,000 | 256 | 97.4% |
| Expert C | 50,000 | 92 | 50,000 | 636 | 98.7% |
| New D | 1,000 | 30 | 1,000 | 49 | 95.1% |
Why Quadratic Voting?
Problem with 1-Token-1-Vote
- Whale dominance: 1% of holders control 90% of votes
- Plutocracy: Wealth ≠ governance capability
- Disenfranchisement: Small holders stop participating
Quadratic Voting Solution
Diminishing Returns
Votes = √(Tokens)
Doubling tokens: √(2x) = √2 ≈ 1.41× more votes
10× tokens: √(10x) ≈ 3.16× more votes
100× tokens: √(100x) = 10× more votesReputation Multiplier Impact
The FairScore multiplier rewards long-term, active participants:
| FairScore | Multiplier | Impact |
|---|---|---|
| 100 | 3.0× | Triple voting power |
| 85 (Platinum threshold) | 2.7× | Nearly triple |
| 70 (Gold threshold) | 2.4× | More than double |
| 50 (Silver threshold) | 2.0× | Double |
| 30 (Bronze threshold) | 1.6× | 60% boost |
| 0 | 1.0× | Base power only |
SDK Usage
const power = client.calculateVotingPower(
tokenBalance,
fairscore
);
console.log('Quadratic base:', power.quadraticBase);
console.log('Reputation multiplier:', power.reputationMultiplier);
console.log('Total voting power:', power.totalPower);Delegation Impact
When delegating, your voting power is affected by the delegate’s tier:
| Delegate Tier | Power Efficiency |
|---|---|
| Platinum | 150% of base |
| Gold | 125% of base |
| Silver | 110% of base |
| Bronze | 100% of base |
| Unscored | 80% of base |
Tip:
Delegating to a Platinum member can increase your effective voting power by up to 50%.