LiqwidDAO’s governance system is built upon an open-source governance framework called Agora, developed by Liqwid Labs.
LiqwidDAO’s Agora is a set of smart contracts that compose to form a governance system. Using LiqwidDAO’s Agora, users deposit LQ into stakes, which allows users to create and vote on proposals. Voting weight is equal to the staked amount of LQ. LQ stakes track the public key of the user, and starting a proposal or voting requires authentication via signing a transaction with that key.
<aside> 💡 This document covers governance only. For more information on staking itself, see Explanation: LQ Staking.
</aside>
Proposals can specify smart-contractually binding “effects” on-chain which are able to be executed only after the vote passes. Liqwid Labs has developed a bot that will automatically execute any known proposals once they have passed, but any party is technically able to execute valid effects.
Example of proposal effects include:
“Effectless” proposals can also be submitted. These proposals do not have on-chain effects, and are used for passing resolutions, setting policy, or authorizing manual actions to be taken by multisig. Situations where an effectless proposals might be used include:
<aside> 💡 At the time of writing (2023-04-28), all proposals are effectless. On-chain changes are authorized by the LiqwidDAO Agora and executed via multisig.
Writing proposal effects requires new smart contract development, and thus requires great care; an incorrectly written proposal can lead to severe security vulnerabilities if voted in. In the future, Liqwid Labs aims to provide a set of audited “effect templates” that can be trusted and verified to safely construct effects such as parameter changes, treasury spends, and market initializations.
</aside>
<aside> 💡 At the time of writing (2023-04-28), proposal creation is not implemented in the governance module UI. The current process for community members to initiate proposals is to first begin a thread in the #gov-discussion channel on Discord, then to submit a “temperature check” in the LiqwidDAO governance forum to solicit community feedback.
The results of the temperature check discussion and vote are not binding on either the LiqwidDAO or on Liqwid Labs, but the two entities will make a best-effort attempt at incorporating all good-faith view points and drafting a proposal with sufficient prose to capture the intended concepts.
</aside>
Proposals are the start of LiqwidDAO’s governance process.
When a proposal is created, it must explicitly define what its on-chain effects will be if the proposal are passed. If the proposal is to be effectless, this must be decided before the proposal is created.
Proposals encode a number of possible outcomes, and always include a “negative outcome” which constitutes “no action”. Votes also require a quorum to be reached (see Thresholds and timing); if a vote fails to reach the quorum, then the effect is equivalent to the “no action” outcome.
Proposals hold a vote tally for each possible outcome, counting how much LQ has been used to vote on each outcome. The votes are tallied according to single-member plurality voting (also known as “first-past-the-post”); that is, only one of possible outcomes can be selected. For effectful proposals, this means that at most one effect will be executed.
For effectless proposals, votes can alternately be tallied using off-chain chain analysis. For example, proposal 2 selects 16 stake pool operators (SPOs) from a list of 100 to stake the Liqwid ADA Market’s supply. Although the Agora instance will technically still select a single result, chain analysis can be used to select the 16 SPOs who received the most votes and the update can be performed via multisig. Effectless proposals seeking to count votes in alternate ways should always include a specification of how to tally and interpret the results, including the interpretation of quorum, “no action” votes, and if too few candidates receive votes.