Voting Machines Home¶
A VotingMachine is a pluggable component, provided by DAOstack Arc which can be used by a DAO's schemes to manage a voting process on a certain proposal.
The VotingMachine maintains the voting process and the proposals to vote on, collects votes, and determines the winning vote according to the DAO's pre-defined configuration.
In some cases, such as GenesisProtocol, it also collects stakes, promotes proposals, and maintains a reputation flow for participants according to the DAO's pre-defined configuration.
Each VotingMachine use its own decision method and has its own voting choices range.
Basic decisions methods used by voting machines¶
Absolute¶
A decision is made if more than a certain percentage (P
) from the total DAO's reputation voted
on a certain voting choice. Normally P
is 50% though it can be set to any value.
The "winning" choice is the one that first crosses that bar.
Relative¶
A decision is made on a timeout (T
) according to the higher relative vote among all votes.
The "winning" choice is the one with the higher relative votes (reputation).
Quorum¶
A decision is made if at least a certain percentage (P
) from the total DAO's reputation votes on a certain proposal.
The "winning" choice is the one with the maximum votes (reputation).
List of supported voting machines¶
Below is a list of supported VotingMachines
and their decision methods:
VotingMachine | absolute | relative | quorum |
---|---|---|---|
AbsoluteVote | yes | no | no |
QuorumVote | no | no | yes |
GenesisProtocol | yes | yes | no |
AbsoluteVote¶
Uses an absolute decision method.
Allow voting choices range 0-10.
Vote 0 for abstain.
QuorumVote¶
Uses a quorum decision method.
Allow voting choices range 0-10.
Vote 0 for abstain.
GenesisProtocol¶
Use absolute and relative decision method.
Currently it allows only YES
/NO
voting choices (2 choices).
Abstaining is not allowed.
This voting machine is also a UniversalScheme
.