CIP-105: PoS staking based minimal DAO vote count

cip title author status type created replaces (*optional)
105 PoS staking based minimal DAO vote count. Peilun Li (, Chenxing Li [email protected] Draft Spec Breaking 2022-09-07 94

Simple Summary

Set a minimal requirement for the DAO vote count based on its ratio to PoS staking amount.


In the DAO vote mechanism of CIP#94, if only a small amount of tokens participate to vote, the cost to manipulate the result will be low. This CIP proposes to add a minimal requirement for the DAO vote. If the vote count is less than a certain percentage of the PoS staking amount at the start of the vote period, this vote will not take effects and the on-chain parameters remain unchanged.


The motivation is to make the DAO vote more robust so that the result will not be manipulated by only few tokens.


When a voting period starts, the amount of the current total PoS staking tokens is recorded in the state as system storage entries. When the period ends, the value of the recorded current PoS staking tokens is moved to the settled one and the current one is updated again.

When a settled vote should be used, if the total vote counts is less than 5% of the recorded PoS staking amount, the vote will be ignored and the on-chain parameters will not be changed.


We use the PoS staking tokens at the start of a voting period instead of the value at the end of a period so it cannot be manipulated at the last moments. It remains unchanged when an account casts its vote.

Whether the vote count is sufficient is available when we settle a vote. The vote that should be ignored is still moved to the settled value so that the information remains available for a while.

Backwards Compatibility

This is backwards incompatible.

Test Cases




Security Considerations



Copyright and related rights waived via CC0.