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 (@peilun.li@confluxnetwork.org), 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.

Abstract

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.

Motivation

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

Specification

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.

Rationale

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

TBA.

Implementation

TBA.

Security Considerations

TBA.

Copyright

Copyright and related rights waived via CC0.

2 Likes