We identify three aspects of governence: Executive, Legislative, and Judicial. Executive governance is focused on the present, day to day operations of a DAO. Legislative governance is focused on the future, and deals with the process of making changes to the operations of a DAO. Judicial governance is focused on the past, providing an opportunity for a DAO to review and reinterpret past actions.
The key insight of [On-Chain Governance of Decentralized Autonomous Organizations (Craig Calcaterra, 2018)](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3188374) is to use Reputation as the primary incentive mechanism for DAO members, rather than relying on fungible currency alone as the representation of a DAO member's power.
Validation Pools mint and award Reputation (REP). REP can be used for staking for/against Validation Pools or staking availability to perform work, and entitles the holder to a share of DAO revenues in proportion to their REP balance.
#### Reputation
1. Reputation (REP) is an ERC20 token
1. Reputation internal methods (`mint`, `burn`, `update`) may be called only by the Validation Pool contract.
1.`transfer` and `transferFrom` are disabled, so that REP may not be transferred.
1. Quorum must be greater than or equal to a minimum value, such as 1/10, in order to prevent validation pools from being pushed through without sufficient participation.
1. Once the duration has elapsed, the outcome of the VP may be evaluated.
1. If the Validation Pool is accepted,
1. If Redistribute Losing Stakes is true, Binding Percent of losing stakes shall be distributed among DAO members who staked in favor of the VP, in proportion to their stakes.
1. If Redistribute Losing Stakes is false, Binding Percent of losing stakes shall be burned rather than redistributed among the winners.
1. The half of the minted REP that was staked in favor of the VP is awarded to the Target Forum Post.
1. If the Validation Pool is rejected, and Redistribute Losing Stakes is true, losing stakes as well as the half of the minted REP that was staked against the VP shall be distributed among DAO members who staked against of the VP, in proportion to their stakes.
1. After the Validation Pool concludes, the fee provided by the Customer shall be distributed among all DAO members (Workers) in proportion to their REP balance.
The day to day operations of a DAO are centered around Work Smart Contracts (WSC) and Validation Pools (VPs). Customers request work; the work is assigned to an available worker; the worker submits Work Evidence (WEV); and the Work Evidence is validated by the rest of the DAO in a Validation Pool.
1. The assigned Worker must submit a Work Evidence Post to the WSC, providing any necessary supporting information to verify that the work was performed correctly.
The DAO will need to be able to update the rules by which it operates, in order to respond to changing circumstances or goals. There will not always be unanimous consensus regarding what changes to make. Therefore, we need a legislative governance process that a DAO can use in order to progress from disagreement to agreement.
To achieve such a process, we introduce a Proposal mechanism. The proposal must first reach a certain level of Attestation; then it must progress through a series of Referenda. If all Referenda are accepted, then the Proposal is accepted; otherwise the Proposal is rejected.
#### Proposals
1. Anyone may submit a Proposal
1. Note that, if desired, this requirement could be strengthened such that only a DAO member may submit a Proposal
1. A DAO member may attest a certain amount of REP to indicate that they are aware of the proposal. The amount must be less than or equal to the DAO member's REP balance.
1. Once the Proposal has reached 10% Attestation, meaning that 10% of the DAO's total supply of REP has been attested, the first Referendum shall be initiated. This referendum should be a Validation Pool that is 0% binding, with a quorum of 1/10 and a win ratio of 2/3.
1. If the Referendum does not meet quorum, then the Proposal is failed.
1. If the Referendum is rejected or does not meet a 50% participation rate, then the Referendum may be retried up to 3 times.
1. If the first Referendum is accepted and meets a 50% participation rate, then a second Referendum shall be initiated. This referendum should be a Validation Pool that is 1% binding, with a quorum of 1/10 and a win ratio of 2/3.
1. If the Referendum does not meet quorum, then the Proposal is failed.
1. If the Referendum is rejected or does not meet a 50% participation rate, then the Referendum may be retried up to 3 times.
1. If the second Referendum is accepted and meets a 50% participation rate, then a third Referendum shall be initiated. This referendum should be a Validation Pool that is 100% binding, with a quorum of 1/10 and a win ratio of 2/3.
1. If the Referendum does not meet quorum, then the Proposal is failed.
1. If the Referendum does not meet a 50% participation rate, then the Referendum may be retried up to 3 times.
1. If the Referendum is rejected, then the Proposal is failed.
1. If the third Referendum is accepted and meets a 50% participation rate, then the Proposal is accepted.
In the Executive governance section we outline how the DAO polices the REP minting process, and the Legislative governance section we outline how the DAO may modify the rules by which it operates. Now, we need to consider that as the DAO develops new rules, it may wish to reevaluate past REP rewards in light of new perspectives.
To achieve such reevaluation, we introduce the Forum reference mechanism. The Forum is a collection of Posts. A Post has a unique ID and one or more authors. A post may also include weighted references to other Posts. Each Validation Pool targets a given Post. When a VP is accepted, the minted REP percolates through the Forum, to the author(s) of the targeted Post, and recursively to the Posts referenced by the targeted Post, the Posts referenced by those Posts, and so on, up to a limit determined by the Reference Chain Limit parameter.
Each reference may be positive or negative. A positive reference "donates" Reputation, while a negative reference "leaches" reputation.
A Post may also reference the Incinerator. Any reputation donated to the Incinerator is burned. A post may not leach reputation from the Incinerator.
As described above, in order for REP and fees to be distributed to DAO members, an on-chain Validation Pool must be executed. However, network gas fees must be payed every time a contract is called. Therefore a DAO may wish to batch multiple Posts and the Validation Pools targeting those posts into one consolidated Rollup Post and a single Validation Pool targeting that Rollup Post. To accomplish this, we introduce a Rollup contract.
The Rollup contract can be thought of as a specialized form of Work Contract (WSC), as it uses the same Availability stakes mechanism to select a batch worker.
1. When the Rollup contract is deployed, a Batch Interval must be specified.
1. A Work Contract may call the Rollup contract to add an item to the batch queue.
1. The fee that would have gone toward the VP, goes to the Rollup contract instead.
1. The Worker availability stakes that would have gone toward the VP, go to the Rollup contract instead.
1. A Worker may stake REP to register their availability to be the next batch worker.
1. Once the Batch Interval has elapsed, the current batch worker must add a Rollup Post to the Forum and call the Rollup contract to initiate a Validation Pool targeting the Rollup Post.
1. Only the current batch worker may submit the next Rollup batch.
1. If there is no current batch worker assigned, then anyone may submit the next Rollup batch.
1. When the batch is submitted,
1. Rollup contract initiates a Validation Pool targeting the Rollup Post.
1. The fees that were included with each batch go toward the Rollup VP.
1. The REP stakes that were included with each batch go toward the Rollup VP.
1. The next batch worker is selected by random weighted selection from among the Batch worker availability stakes.
1. If there are no Batch worker availability stakes, the transaction reverts, so the VP is not initiated.
1. If the current batch worker fails to submit the next Rollup batch before the Batch Interval plus a grace period elapses,
1. A Validation Pool should be initiated with no fee
1. The batch worker's availability stake should be staked in favor of the VP
1. A new batch worker must be selected
1. The DAO members should stake against the VP, in order to punish the batch worker for failing to complete their work
In this requirements section, we omit any details of the mechanisms for implementing the necessary off-chain validation that leads to the production and verification of the Rollup Post. We will provide those details in the [System Design](./system-design.md) section.