Governance System Proposition

To reach our common goal of creating a DAO, we need to agree on a robust and transparent governance mechanism to ensure that decisions are made in a fair, democratic, and efficient manner.

Ideally, every token holder would participate in governance by voting and pass their votes just after proposal creation. However, this is not a reality due to various reasons, including holders who do not care about governance processes, those who cannot be online 24/7, and actors who may want to hurt the DAO. Despite these challenges, DAO should be able to make their decisions in a reasonably short time.

Proposition

The system proposition is based on the ABAX PSP22 token and the Governor’s contract, which is the core of the governance system through which ABAX holders can perform and execute decisions together. The technical description of the Governor’s contract can be found here. The Governor contract allows ABAX holders to perform the following actions: stake, initialize_unstake, unstake, propose, vote, finalize, execute, claim_reward and slash_voter.

The stake allows depositing ABAX in the Governor’s contract, and it takes 21 days to unstake them. To start unstaking, one calls start_unstake; after 21 days, one can receive their tokens back by calling unstake. One can only unstake all of one’s stake and during the unstaking period, one can not stake more tokens.

Anyone with at least 0.1% of all staked tokens may propose a transaction that the Governor’s contract should execute. To propose, one needs to pay 1000AZERO to the contract. Whenever the proposal is finalized, the AZERO will be refunded unless the voters decide otherwise. Moreover, each proposal contains an Importance Parameter (IP), a number from 0 to 500 which is used to calculate the reward for voting participants. This number is capped based on the proposer’s stake:

\text{maximal } IP = min(100 \frac{\text{proposer stake}}{\text{total stake}}, 500)

The voting period for the \small{\texttt{proposal}} is 14 days and is divided into three periods: initial period, flat period and final period which takes 3, 7, and 4 days respectively. Depending on the period amount of the required votes varry, starting at 100% in initial period and falling to 0% at the end of the final period. During the whole 14 days voting period, anyone with staked tokens can vote for the proposal. One staked token is one vote for agree, disagree, or disagree with proposer slashing. The last option allows Dao to punish bad actor proposers by not refunding their deposit and slashing their stake. A voter should cast this type of vote if the voter is very sure that the proposer wants to hurt the DAO willingly.

For the \small{\texttt{proposal}} proposed at time t_0 the proposition may be finalized with the accepted/rejected result at time t if at that the amount of agree or disagree + disagree with… votes is larger than:

\begin{cases} \frac{1}{2} \text{total stake} \cdot (1 + \frac{t_0 + 3\text{days} - t}{3\text{days}}) & \text{for } t < t_0 + 3 \text{days} & \text{initial period} \\ \frac{1}{2} \text{total stake} & \text{for } t_0 + 3\text{days} < t < t_0 + 10 \text{days} & \text{flat period} \\ \frac{1}{2} \text{total stake} \cdot \frac{t_0 + 14 \text{days} - t}{4 \text{days}} & \text{for }t > t_0 + 10 \text{days} & \text{final period}, \end{cases}

If the proposal is accepted, anyone can execute the transaction. Anyone who has voted can claim the reward of \frac{IP}{100}% that will be added to their stake. If the proposal is resolved in the final period then anyone who did not start the unstaking before the proposal proposition will have their stake slashed by 20%.

Moreover, if the number of votes for disagree with proposer slashing is greater than the agree + disagree then 100% of the proposer stake is slashed and his deposit of 1000AZERO is not refunded.

Please note that \small{\texttt{proposals}} will be eventually finalized, as the required number of votes to finalize decreases over time to 0.

Discussion

The system is designed to distinguish between holders who wish to participate in governance processes and those who do not. It is important to note that staking tokens declare one’s active participation in the governance process by voting. Once one has staked it is their obligation to participate in voting until they start_unstake. Those who stake and vote are rewarded, while those who do not vote are subject to a penalty (slashed). This motivates users to vote and enables efficient decision-making. Furthermore, the system is highly inclusive, as anyone who wishes to declare their active participation in voting may do so.

The AZERO refundable fee for proposals is intended to prevent proposal spamming.

The reward mechanism is to promote fast decision-making, in the face of an emergency, the IP may be set up to 500 rewarding everyone who votes with up to 5% of one’s stake. However, this mechanism could be exploited by spamming empty proposals and setting the IP as high as possible. To mitigate that and to deter bad actors even more, voters can choose to slash the proposer by voting for disagree with proposer slashing.

(edited on 19 April 2023) Renamed start_unstake to initialize_unstake. Introduced slash_voter method that is used to slash inactive stakers. Introduced initial period, flat period, and final period.

7 Likes

“One staked token is one vote”, Does that means if someone stake 10000, then does he allowed to vote 10000 for single proposal?

1 Like

It means that if person A has 100 Abax tokens staked and person B has 1 Abax token staked then the vote of person A has 100 times greater weight than the vote of person B.

We should explore the Slashing penalty for non-participation. It might push people away from staking large amounts for fear of missing a proposal. Maybe make it a penalty of 20% or a maximum of 500 ABAX , whichever comes first.

1 Like

Good point, makes a lot of sense.

IT SEEMS SO. A person having more tokens must have more rights.

1 Like

Good points. so is it a 1:1 ratio according to the number of tokens staked and the number of proposals?

We should explore the Slashing penalty for non-participation. It might push people away from staking large amounts for fear of missing a proposal. Maybe make it a penalty of 20% or a maximum of 500 ABAX , whichever comes first.