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.
1. The value associated with a given wallet address may be modified only by the results of a Validation Pool (explained below). The Validation Pool must be able to execute the following operations
1. Update (a.k.a. Transfer): Decrease the value associated with one wallet address, and increase the value associated with another address by the same amount.
1. For the Quorum to be met, the total amount of REP staked for and against the VP, divided by the total available REP in the DAO, must be greater than or equal to this ratio.
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. For a VP to be accepted, the amount of REP staked in favor, divided by the total amount of REP staked for and against the VP, must be greater than or equal to this ratio.
1. This represents the amount of staked REP that may be lost if staked on the losing side of a VP. 0% Binding means that no staked REP may be lost. 100% Binding means that all staked REP may be lost. A value between these extremes means that a fraction of staked REP may be lost.
1. Redistribute Losing Stakes (boolean)
1. If Redistribute Losing Stakes is true, then the Binding % of REP staked on the losing side of the VP is distributed among those who staked on the winning side, in proportion to their stakes. If Redistribute Losing Stakes is false, then the Binding % of REP staked on the losing side of the VP is burned rather than being redistributed.
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.
1. The fee from the Customer should be included when initiating this VP. The VP mints Reputation based on the provided fee.
1. The Staking Clients must verify the work evidence, and stake for/against the Validation Pool targeting the Work Evidence Post.
1. If the VP is approved, the minted Reputation is awarded to the Worker who submitted the Work Evidence.
1. The VP then distributes the fee among all DAO members, in proportion to their Reputation balances.
Note that the Worker does not directly receive the fee for the work they perform. Instead, they receive Reputation; then, based on their Reputation balance, they receive a fraction of all future fees sent to the DAO. The purpose of this is to incentivize long-term considerations and investment in the future of the DAO. The more REP a Worker earns, the more they get payed over time, as the DAO takes in revenue.
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 Proposal may include a callback, to be executed when and if the Proposal is accepted. This callback may also include opaque data to be passed to the callback when executed.
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.
1. For each Post referenced by the target Post, a fraction of the incoming Reputation given by the weight of that reference, is transferred to the referenced Post; and so on, recursively, until the Reference Chain Limit is reached.
1. Negative references have the power to undo the effects of prior references, but a negative reference may not cause a Post to lose more REP than it had previously gained.
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.