DAO Governance Framework: Difference between revisions
m (→System Design) |
|||
(56 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
The DAO Governance Framework (DGF) is a software framework for building [[DAO|DAOs]] by | The DAO Governance Framework (DGF) is a software framework for building [[DAO|DAOs]] by providing a [[Governance|governance structure]] which enables decentralized organization. An essential aspect of any organization is to specify the protocols governing acceptable member behavior. In a [[DAO#Primary DAOs|primary DAO]] it is especially important that these protocols be formalized and automated with open source smart contracts processed by distributed computing. [[Governance]] is the process of specifying and updating these protocols. | ||
DGF gives DAO founders the structure to formally specify the protocols for 1. work flow, 2. review procedures, and 3. the process for updating the protocols, themselves. | DGF gives DAO founders the template structure to formally specify the protocols for 1. [[DAO Governance Framework#DGF work flow|work flow]], 2. review procedures, and 3. the process for updating the protocols, themselves. These are alternately described as 1. [[Governance#Executive governance|executive]], 2. [[Governance#Judicial governance|judicial]], and 3. [[Governance#Legislative governance|legislative]] governance, respectively. | ||
The most important function of a DAO, its work flow, determines the reward mechanism. The work flow process answers the question of why anyone would ever choose to participate in a DAO. The failure to build sophisticated and balanced incentive mechanisms is the primary reason for the failure of any DAO. DGF relies on [[Reputation|reputation tokens]] (called REP) for all its governance mechanism. [[Reputation tokenomics]] analyzes the meaning, value, and security of a REP token design. | |||
Specific examples of DAO instantiations using DGF [[DAO Governance Framework#Applications|here]]. | |||
== System Design == | == System Design == | ||
The DAO Governance Framework (DGF) project uses blockchain technology to make decentralized business possible. To do this, we provide tools to build [[DAO|DAOs]]. DAOs require IT tools to facilitate their decentralized governance. | |||
The core tool of decentralized governance is a meaningful and secure reputation token, [[Reputation|REP]]. The core mechanism of REP token design in DGF is: | |||
# REP is minted and given to the person who brings $ to the DAO. | |||
# The $ doesn't go to the person who earned it; $ is distributed proportionally to everyone who previously has earned REP. | |||
The pages in this wiki explain the consequences of using this type of REP token design for building DAOs. How it solves the problems with current blockchain initiatives. How DGF makes business and social collaboration more efficient. How REP-focused governance can create a system that promotes human flourishing, materially, socially, and spiritually. And how such lofty and abstract values can persist in a system that is simultaneously built from cold, hard, algorithmic execution of digitally codified business and civil contracts. | |||
In order to optimize for collaboration and community participation, we will be focusing early on modular, sharable specifications. There are elements of the dynamic framework that are common to a wide variety of specific instantiations of DAOs. This common subset forms what we refer to as Minimum Viable Protocol Requirements (MVPR). | In order to optimize for collaboration and community participation, we will be focusing early on modular, sharable specifications. There are elements of the dynamic framework that are common to a wide variety of specific instantiations of DAOs. This common subset forms what we refer to as Minimum Viable Protocol Requirements (MVPR). | ||
DGF MVPR refers to the specification of an algorithm that implements the governance framework described in | DGF MVPR refers to the specification of an algorithm that implements the governance framework described in<ref>Craig Calcaterra, "On-Chain Governance of Decentralized Autonomous Organizations" (May 24, 2018). Available at SSRN: https://ssrn.com/abstract=3188374 or http://dx.doi.org/10.2139/ssrn.3188374</ref> and <ref>Craig Calcaterra & Wulf Kaal & Vlad Andrei, "Blockchain Infrastructure for Measuring Domain Specific Reputation in Autonomous Decentralized and Anonymous Systems" (February 18, 2018). U of St. Thomas (Minnesota) Legal Studies Research Paper No. 18-11, Available at SSRN: https://ssrn.com/abstract=3125822 or http://dx.doi.org/10.2139/ssrn.3125822</ref>. | ||
We conceptualize an MVPR DAO as the Bench of experts who provide some service to the public, together with their Forum. Experts are members of the DAO, determined by ownership of [[Reputation|REP tokens]]. REP tokens are digital representatives of reputation | We conceptualize an MVPR DAO as the Bench of experts (or members, or workers) who provide some service to the public, together with their Forum. Experts are members of the DAO, determined by ownership of [[Reputation|REP tokens]]. REP tokens are digital representatives of reputation which signifies and valuates a worker's level and history of expertise in doing the work of the DAO. REP tokens serve as the basis of power in the DAO. The Bench is defined as the list of experts. The public (or the customers) are defined as the nonmembers of the DAO, conceived of as potential customers that the experts intend to serve for fees. (We use the symbol $ to represent the fees, which denotes generic cash money in Ether, USD, or other currencies). The [[Forum]] is the evolving history of accepted and rejected actions the experts perform. | ||
In an MVPR DAO, REP tokens confer on each expert the power to do work and governance: | In an MVPR DAO, REP tokens confer on each expert the power to do work and governance: | ||
Line 15: | Line 28: | ||
*'''[[Governance]]''' | *'''[[Governance]]''' | ||
**Executive: Automated policing of peer work | **[[Executive governance|Executive]]: Automated policing of peer work | ||
**Legislative: Debating and voting on updates to DAO operating parameters and smart contracts ([[hard protocols]]), and cultural norms ([[soft protocols]]) | **[[Legislative governance|Legislative]]: Debating and voting on updates to DAO operating parameters and smart contracts ([[Governance#Hard protocols|hard protocols]]), and cultural norms ([[Governance#Soft protocols|soft protocols]]) | ||
**Judicial: Reviewing past actions and decisions by revaluing the Forum | **[[Judicial governance|Judicial]]: Reviewing past actions and decisions by revaluing the Forum | ||
Common to all these domains is the power accounting feature of REP ownership. REP is gained by peer validation and staked upon assertions. | Common to all these domains is the power accounting feature of REP ownership. REP is gained by peer validation and staked upon assertions. | ||
=== DGF workflow === | |||
''[[DGF workflow|Main page: DGF workflow]]'' | |||
The DGF system is designed as a feedback loop consisting of three major components: 1. the Forum, 2. the collection of members of the DAO, called the Bench of experts, and 3. the public, consisting of non-member users of the system who pay fees to the DAO for work. | |||
[[File:DGFsystem.png|none|thumb|602x602px]] | |||
The basic DGF workflow is as follows: | |||
# A public customer uses the [[Front-end software|public UI]] to find the most current [[Work Smart Contract|work smart contract]] (WSC), both of which are contained in the [[Forum]]. | |||
# Customer encumbers the appropriate $ fee and selects relevant parameters to engage the WSC. | |||
# WSC randomly selects a worker from the DAO from amongst the available experts who have encumbered REP tokens in [[availability smart contract|availability smart contracts]] (ASCs). | |||
# Selected worker completes job offline, then completes the requirements of the WSC. | |||
# WSC publishes evidence of completed job to a post in the Forum, then engages an instantiation of the [[Validation Pool]].[[File:DGF flow.png|thumb|517x517px]] | |||
#* WSC sends address of post and public customer's $ fee to an instantiation of the [[Validation Pool]] (VP) | |||
#* VP mints new REP in proportion to the $ fee. | |||
#* 1/2 of new REP is staked in worker's name as an upvote. 1/2 staked as a downvote, unassigned. | |||
#* VP broadcasts voting is open to REP staking on betting pool. | |||
#* VP tallies the vote, decides the winner. | |||
#* VP publishes the result & distributes REP tokens from losing side to the winners, weighted according to stakes. | |||
# The $ fee is distributed to all DAO members in proportion to REP holdings ([[Reputation#REP Salary Mechanism|REP salary]]). | |||
=== Smart Contracts === | === Smart Contracts === | ||
*[[Availability Smart Contract|Availability smart contract]] (ASC): Enables DAO participants to declare their availability to produce work by staking REP | *[[Availability Smart Contract|Availability smart contract]] (ASC): Enables DAO participants to declare their availability to produce work by staking REP | ||
*[[Work smart contract]] (WSC): Evolving official protocol for how the DAO provides service to the public. Enables public users to request work products from the DAO. This WSC accepts certain parameters that will function to specify the proposed agreement, including the standards for fees the public pays, the mechanism for selecting the expert from the active ASCs, the standards for acceptable work, the mechanism for recording evidence of work to the Forum, and the code calling for a Validation Pool to verify successful completion of the WSC. | *[[Work Smart Contract|Work smart contract]] (WSC): Evolving official protocol for how the DAO provides service to the public. Enables public users to request work products from the DAO. This WSC accepts certain parameters that will function to specify the proposed agreement, including the standards for fees the public pays, the mechanism for selecting the expert from the active ASCs, the standards for acceptable work, the mechanism for recording evidence of work to the Forum, and the code calling for a Validation Pool to verify successful completion of the WSC. | ||
*[[Validation Pool|Validation Pool smart contract]] (VPSC): Mechanism for DAO experts to vote weighted by REP ownership in order to | *[[Validation Pool|Validation Pool smart contract]] (VPSC): Mechanism for DAO experts to vote weighted by REP ownership in order to | ||
* | *#Police experts' execution of the WSC through automated votes ([[Governance#Executive governance|executive governance]]) | ||
* | *#Register approval of proposed changes to DAO protocols through deliberate votes ([[Governance#Legislative governance|legislative governance]]) | ||
* | *#Review past actions ([[Governance#Judicial governance|judicial governance]]) | ||
:The Validation Pool is the heart of DGF as it mints all new REP tokens and performs their initial distribution. Finally the Validation Pool distributes the fee from the WSC to all members of the DAO in proportion to the ownership of REP. This is called the REP salary. | :The Validation Pool is the heart of DGF as it mints all new REP tokens and performs their initial distribution. Finally the Validation Pool distributes the fee from the WSC to all members of the DAO in proportion to the ownership of REP. This is called the REP salary. | ||
*[[Forum|Forum smart contract]] (FSC): Records the history of the DAO as a linked list of documented official DAO expert actions. Gives the context for discussion on modifications to the DAO. | *[[Forum|Forum smart contract]] (FSC): Records the history of the DAO as a linked list of documented official DAO expert actions. Links are weighted references, positive or negative, that donate or leach REP from the post referred to. Gives the context for discussion on modifications to the DAO. | ||
=== UI Software === | === UI Software === | ||
Line 44: | Line 77: | ||
This means that we must implement a separate, off-chain stateful layer. There are a variety of options for this off-chain data layer such as IPFS. For now we merely specify that such a layer must exist. | This means that we must implement a separate, off-chain stateful layer. There are a variety of options for this off-chain data layer such as IPFS. For now we merely specify that such a layer must exist. | ||
There are both formal and informal processes | There are both formal and informal processes – hard and soft protocols – associated with each of the above outlined areas of power. Hard protocols are specified by code, and enacted by running systems, whether on or off chain. Soft protocols refer to patterns of participant behaviors. | ||
== Key Concepts == | == Key Concepts == | ||
=== Reviews === | === Reviews === | ||
A goal of the DAO is to deliver quality results to its customers. To achieve this, experts submit work products for review by other experts within the DAO. | ''Main pages: [[Governance#Executive governance|Executive governance]] & [[Judicial governance]]'' | ||
A goal of the DAO is to deliver quality results to its customers. To achieve this, experts submit work products for review by other experts within the DAO. This is executive governance which is implemented through the [[Validation Pool]] mechanism. These reviews, as well as the review process itself, are subject to future review under judicial governance which is implemented primarily through [[Forum reference mechanisms]]. This ability to consciously review (judicially) the unconscious review (executive) is complicated, but is necessary to guarantee one of the key aspects of reputation are meaninfully embodied in REP tokens. That is, a member's reputation can be diminished or augmented in the future based on how well their behavior adheres to the DAO's values. | |||
=== Governance === | === Governance === | ||
The MVPR parameters are designed to allow customization of the rules that govern the operations of the DAO. | ''Main page: [[Governance]]'' | ||
The MVPR parameters are designed to allow [[Governance#Legislative governance|customization]] of the rules that govern the operations of the DAO. | |||
=== Reputation === | === Reputation === | ||
''Main page: [[Reputation]]'' | |||
DAO participants shall be awarded with reputation tokens for contributions which the other DAO members deem valuable. | |||
Reputation token types should be specific to the [[Reputation#6. Limited Domain|relevant domain]] of action. For instance, a typical primary DAO begins with three distinct kinds of reputation: | |||
*'''REP''' - Work product reputation | |||
*'''gREP''' - Governance reputation | |||
*'''cREP''' - Comment reputation | |||
REP is associated with a work product. When members do work directly with the public they receive REP tokens. Usually, REP value is minted in proportion to the fees the worker earned for the DAO. | |||
gREP is associated with proposals to modify the DAO's governance parameters. This is what we consider governance of the hard protocols in the system. gREP may be staked toward new proposals. Successful proposals shall attribute new gREP to their authors and supporters. It is likely that there will be a close relationship between gREP and REP since successful workers will likely have the best understanding about how to improve a DAOs protocols for work. In this case there is no need for a distinction in many DAOs. | |||
cREP plays an important role in the [[Governance#Soft protocols|soft protocols]] governing the organization. Fundamentally a DAO is a group of individuals. Their behavior will be shaped partly by the communication that occurs among them. Comments will be a central vehicle for this communication. Each organization may develop its own ways of associating meaning with comments. An organization may want its participants to be able to stake their own reputation toward promoting particular comments, and toward suppressing others. Our goal is to enable each community to articulate its own values, in a way that is transparent for the community as well as the public to observe. | |||
DAO | cREP is the most difficult REP token to valuate. A typical comment will likely be submitted without any associated cash fees when they are first posted in the Forum. DGF has options for DAO founders for making an initial protocol for valuing such tokens which do not have the grounding value of cash money. For instance a variation on the [[wikipedia:PageRank|PageRank algorithm]] can be used to weight the Forum's WDAG based solely on the strength of edges without requiring weights of nodes. However, before any type of REP token is grounded with the concrete meaning gained by being associated with money, the system is particularly susceptible to gaming. The basic PageRank algorithm, for instance, can be gamed by spamming the Forum with self-referential posts driven by [[wikipedia:Sock_puppet_account|sockpuppets]]. | ||
=== Distributed computing perspective === | |||
Since a primary DAO is an open permissionless decentralized network, Byzantine resistance is the primary design consideration. Any network node has the ability to spam the network with any information they choose. A Byzantine node cannot be prevented from editing any software it uses before communicating with the network. So a decentralized network's protocols must involve checking every message for consistency and integrity. The only defense against such behavior is to ignore Byzantine messages that don't accurately encumber valuable tokens or to slash the tokens encumbered in a Byzantine message which does encumber tokens. | |||
For instance, in DGF workflow, we assume every full node in the network behaves in a similar manner to a full client in the Ethereum network. In Ethereum, a full node participates in the distributed computing architecture called [https://ethereum.org/en/developers/docs/evm/ EVM] as follows. The node first downloads the entire history of the blockchain – every transaction (TX), every smart contract (SC), every record of how much ether was submitted to run each smart contract, and every output of every smart contract so engaged. A full node has its own database of the entire collection of all ERC20 (and ERC471, etc.) tokens that have ever been minted and their complete history. A full node refers to this information to determine the validity of every TX request to fulfill a new transaction on the Ethereum network. This means that any Byzantine action is ignored or punished according to protocols that have previously been established by the Ethereum network. | |||
By analogy with Ethereum's EVM flow, in DGF a full node downloads the entire history of the DAO (the Forum) and parses the value of every REP token, in order of creation, by calculating their values according to the changing rules whose history is encoded in the Forum. A record of every successful Validation Pool is required, as well as the rules for what is a successful Validation Pool at the time it was called. For instance, a Validation Pool has a quorum necessary for it to be considered a canonical instantiation that leads to its inclusion in the Forum. The quorum will change as the DAO evolves. The larger and more decentralized that the DAO becomes, the smaller the quorum needs to be in order to maintain security against Byzantine actions. | |||
This counter-intuitive perspective of maximally redundant computation is necessary to maintain the decentralized structure of the network in the inevitable presence of Byzantine actors. | |||
=== Notes about Implementation === | === Notes about Implementation === | ||
Line 81: | Line 128: | ||
The initial DAOs include applications devoted to some of the most relevant requirements for building a decentralized economy, including: | The initial DAOs include applications devoted to some of the most relevant requirements for building a decentralized economy, including: | ||
* Block production - DAO using REP to determine randomized block producer for blockchain consensus. | * [[Block producer DAO|Block production]] - DAO using REP to determine randomized block producer for blockchain consensus. | ||
* Stable coin governance | * [[Stable coin governance|Stable coin]] | ||
* [[Software Review DAO]] | * [[Arbitration DAO]] - parties may trigger 3rd party [[Judicial governance#Arbitration|arbiter power]] by adding [[Arbitration smart contract|template language]] to any smart contract - allows appeals for any smart contract | ||
* [[Decentralized news media|DeNM]] - The decentralized news media network. | * [[Roll ups]] | ||
* [[Science DAO Framework|Science Research Organizations]] | * Gig jobs | ||
** [Peer to Peer Technology](Peer-to-Peer-Technology) - The decentralized society for research, development, and sharing of P2P tools. | ** [[Software Review DAO]] | ||
** [Decentralized Governance](Decentralized-Governance) - The decentralized society for analysis and development of new approaches to the organization and guidance of decentralized networks. | * Oracles | ||
* [[ | ** [[Decentralized news media|DeNM]] - The decentralized news media network. | ||
* | * deFi | ||
* | ** Banking rollup DAO | ||
* | ** [[Underwriting]] | ||
* | ** Marketplaces | ||
* | *** ForEx | ||
** [[Scholarship DAO|Scholarships]] | *** Commodities | ||
** [[Poverty Relief DAO|Poverty relief]] | *** Equities | ||
** Community policing | *** Derivatives | ||
** Social harmony | ** [[Chit Fund DAO|Chit fund]] - A decentralized and global approach to the banking functions of investment, loans, and insurance using a generalization of the traditional chit fund scheme. | ||
* [[AI Governance DAO|AI governance]] | * Social collaboration | ||
** [[Science DAO Framework|Science Research Organizations]] | |||
*** [Peer to Peer Technology](Peer-to-Peer-Technology) - The decentralized society for research, development, and sharing of P2P tools. | |||
*** [Decentralized Governance](Decentralized-Governance) - The decentralized society for analysis and development of new approaches to the organization and guidance of decentralized networks. | |||
** [[Social DAO|Social organizations]] | |||
*** Grants | |||
**** [[Scholarship DAO|Scholarships]] | |||
**** [[Poverty Relief DAO|Poverty relief]] | |||
*** Community policing | |||
*** Social harmony | |||
** [[AI Governance DAO|AI governance]] | |||
== Resources == | == Resources == | ||
Line 104: | Line 161: | ||
This wiki is to be maintained as an introduction to the project. See [https://gitlab.com/dao-governance-framework/science-publishing-dao/-/issues/2 SD-2]. | This wiki is to be maintained as an introduction to the project. See [https://gitlab.com/dao-governance-framework/science-publishing-dao/-/issues/2 SD-2]. | ||
=== Associated Projects === | === Associated Projects === | ||
Line 118: | Line 167: | ||
* [https://ethereum.org/en/developers/docs/ Ethereum] | * [https://ethereum.org/en/developers/docs/ Ethereum] | ||
* [https://docs.ipfs.tech/ IPFS] | * [https://docs.ipfs.tech/ IPFS] | ||
We also learn from other projects working to develop P2P-enabled decentralized governance: | |||
* [https://github.com/JaredCorduan/CIPs/blob/005b80e42a27c69ba92f671c0a681905ae7b1a34/CIP-1694/README.md Cardano] | |||
== Code == | == Code == | ||
This project is a pilot implementation ([https://gitlab.com/dao-governance-framework/science-publishing-dao/-/issues/4 SD-4]) of a framework ([https://gitlab.com/dao-governance-framework/science-publishing-dao/-/issues/3 SD-3]) for dynamic self-governance of DAOs (decentralized autonomous organizations). | |||
Repo: https://gitlab.com/dao-governance-framework/ | |||
Tech specification: https://spec.dgov.io/ | |||
Prototype: https://gitea.dgov.io/DGF/dgf-prototype/ | |||
Demo: https://demo.dgov.io/ | |||
==== Platform Operations ==== | ==== Platform Operations ==== | ||
High Level Sequence Diagram | High Level Sequence Diagram | ||
Line 135: | Line 188: | ||
* [https://sequencediagram.org/index.html?presentationMode=readOnly#initialData=C4S2BsFMAIGUGMSQHbxgBQK4CNwgM4AWIyA5tACICCA8gFB0rABOAnvgA4CGiZ0ADADoAzA27NQibsmClmAe0wdoAFUhcAtnWjRxkkNNkKl0ALKRtO6EzCtoAIlN2KkRPhDzk+e9C75oACauIJY6NsB2jnZU8KCe3r7+PMCWKAEMYTK2DmqalMHu8T5+0MDqGgD6QYiWAVzAXNh+MPYASq7yzAHQ8gBmpeUAOsjVBB5exf5lmlXBFcyulsmdDjTAhJDMw9Ma0BqQGtibCSU7FcmWlnogUlwyDgBimCMn-r3PAfiMIwx017cyOSKZQAYXkGg0z1sS1iK3sAElkAA3SD4YCdSbQEgotGdK5cCQ3Ax3IzA6DtfDqZjwQjQADixg4lgAkMtmA50PDMZhKcxUj80tA-gT9IYgSZ0OB6r1OlpMqAIqsOJt6uNXj0OF95dl7GCgpj4PIgvjCQDSSZ2oaulqrHUGk1KQ52hxMA04sh6cwuBxCAAaYY0FXurjgTELDgVOTewj89I6f7E+72ABykGAAHdOgBraDJo2QTHIfMm0Uk8XKRFlZi9Hio0K6EVEwwOKiczHekJWBumxPABwAdUg2Ex6aHse+6TEjbN5egAFEAB5V5Ahyj1LglptlxnQABC4Hk8BzIMIXBI9btjWaTsgLrd4zgDSzqMx2Hg81vFTRWfHOlq64dFosFwG5yQ6a0en6dBvU2YYVDAKBfWgKhXUITp8CQkEwFVIpEl0HAP3gCdfgYWdcl2Fw3AfdAFDQfAbWSaAAB4AFoAD4BhmRiAC5oDBCEoXgeoLHjAkQygcAYT7djOMqUZoF4mj5CREAgixZA70sM5GJks55N4tYNmYfwOAUFS1JITTRK9cAJMg3otPKWZEGgXSnNGQiFLAq0418WIQCRYTZOckBCOIuhZycfIqM8aAlLom15LcmYPIWeAvJobBeRRRyUuCVyOP0swuGfQICjVdSZWYfZumwVhhg0OxlWpW93SSEZoA+Y4GhGEhSFqfKZJ4+cV1iPY7FGQovHCiKdxcFEDw4fZ7juboaGanDpp0bFUXRdlkrkuY0oyrLNhy7bkV2lYZPeF4vMRHEUh0W7PgK9THpWXjWhoeEpICoLDWNHQdI4+RNQyjaylyyoQY1fwDMhkToBe-wZLB+G4q4VhLB5TY3pRrzoOx4GxpkwGYF43dMBAcAAiQoIOAPVgkI0M8ZDZ6Byeh85YnY8nuMM45OeLHRybevSjtcLz2l6TYUDQcLZ1gdgyi0S4dHRgqACpoCLNTFLMsZPEsMWZL1inyWeP7ArKXWRd8bB5AXKBej7ZS8fNpCXWwTzuNTSBun2dYjSmeR1NIXbAnXQRoGGFjoAAVUZ+QuACYZXOgAAZEgfx0c3td8DgQC82AzqRjsC9HbAS7LyxNfYnXw0jL0fUJw2psuDJoFnMEFmQ8BSE6MBCC0Itbfd9km6jH1uMHaB0xJUow6OB2oCX3RNiq3YUWYEBehARo16E8B4EwKU2oAbmGSBh7x0c9h5PsF-AHN1hgdM0LX6faXRXQFACTAaBfDQAWPgM+wB-RFnZPfVmdhcZ4Usq6aA+BwQwHcKQZAAdfAdR3nvJA3RTIeHZIaDQd5NogNROA-AghLD51YhQiM38vIUHXPWfOMk3wfgjN+EurMJDCxkF6MaYMgxqjYfmZi8dOFNx4bxWAfC+yGkEYxS8Xc84SJklPFutJeJJztEjNI6tu47gTryaA-Zsy9APOmG0OgtHRjehXXiLCGj1grjJKuzDWFdlnLuBQNikY6FxvtDinjeIxASvWQUajjFkn4stJ6XZOpmI8UOLy8SmBRI6jE2cAA1eQUMknJLxqk6uvFERb1XEiApgSrDBLemE6ADxZRVJqfWHQjsFw9B3sU5gSFGn+0Dq4U8yACC7CqupMAB9QB8EwemaA1SyjUOGAACXkPMiOmDd7pSEh6e+ss-AgFwHYVmpU34LIKX1ZBKsDgAH4sm+R0J4oaRcvKmLxskMRXZ3EcXzuE5gXoyAwF-pABcrhXQwHqZ8+IdBmRjxgBPO2QRuJgi8KpPG5zMzMCzFY9Z-h76YKwb-MBHAOCdGAIIYY-YjLvxpuAHomB2SXmgHgFESFVrzw2MgW5VLTx9lIJgMSMhICokCGHe+pllLop5cgYYiIpmrmDpgUghAIHQGwNTWm2DEisFQKUPwOYNXLOQFTGm3QsU4usUkYwHU-C6vSg0fAOZIAohkNQh5QpDH1PYhLRAvtoCZWyhYIAA Presentation mode] | * [https://sequencediagram.org/index.html?presentationMode=readOnly#initialData=C4S2BsFMAIGUGMSQHbxgBQK4CNwgM4AWIyA5tACICCA8gFB0rABOAnvgA4CGiZ0ADADoAzA27NQibsmClmAe0wdoAFUhcAtnWjRxkkNNkKl0ALKRtO6EzCtoAIlN2KkRPhDzk+e9C75oACauIJY6NsB2jnZU8KCe3r7+PMCWKAEMYTK2DmqalMHu8T5+0MDqGgD6QYiWAVzAXNh+MPYASq7yzAHQ8gBmpeUAOsjVBB5exf5lmlXBFcyulsmdDjTAhJDMw9Ma0BqQGtibCSU7FcmWlnogUlwyDgBimCMn-r3PAfiMIwx017cyOSKZQAYXkGg0z1sS1iK3sAElkAA3SD4YCdSbQEgotGdK5cCQ3Ax3IzA6DtfDqZjwQjQADixg4lgAkMtmA50PDMZhKcxUj80tA-gT9IYgSZ0OB6r1OlpMqAIqsOJt6uNXj0OF95dl7GCgpj4PIgvjCQDSSZ2oaulqrHUGk1KQ52hxMA04sh6cwuBxCAAaYY0FXurjgTELDgVOTewj89I6f7E+72ABykGAAHdOgBraDJo2QTHIfMm0Uk8XKRFlZi9Hio0K6EVEwwOKiczHekJWBumxPABwAdUg2Ex6aHse+6TEjbN5egAFEAB5V5Ahyj1LglptlxnQABC4Hk8BzIMIXBI9btjWaTsgLrd4zgDSzqMx2Hg81vFTRWfHOlq64dFosFwG5yQ6a0en6dBvU2YYVDAKBfWgKhXUITp8CQkEwFVIpEl0HAP3gCdfgYWdcl2Fw3AfdAFDQfAbWSaAAB4AFoAD4BhmRiAC5oDBCEoXgeoLHjAkQygcAYT7djOMqUZoF4mj5CREAgixZA70sM5GJks55N4tYNmYfwOAUFS1JITTRK9cAJMg3otPKWZEGgXSnNGQiFLAq0418WIQCRYTZOckBCOIuhZycfIqM8aAlLom15LcmYPIWeAvJobBeRRRyUuCVyOP0swuGfQICjVdSZWYfZumwVhhg0OxlWpW93SSEZoA+Y4GhGEhSFqfKZJ4+cV1iPY7FGQovHCiKdxcFEDw4fZ7juboaGanDpp0bFUXRdlkrkuY0oyrLNhy7bkV2lYZPeF4vMRHEUh0W7PgK9THpWXjWhoeEpICoLDWNHQdI4+RNQyjaylyyoQY1fwDMhkToBe-wZLB+G4q4VhLB5TY3pRrzoOx4GxpkwGYF43dMBAcAAiQoIOAPVgkI0M8ZDZ6Byeh85YnY8nuMM45OeLHRybevSjtcLz2l6TYUDQcLZ1gdgyi0S4dHRgqACpoCLNTFLMsZPEsMWZL1inyWeP7ArKXWRd8bB5AXKBej7ZS8fNpCXWwTzuNTSBun2dYjSmeR1NIXbAnXQRoGGFjoAAVUZ+QuACYZXOgAAZEgfx0c3td8DgQC82AzqRjsC9HbAS7LyxNfYnXw0jL0fUJw2psuDJoFnMEFmQ8BSE6MBCC0Itbfd9km6jH1uMHaB0xJUow6OB2oCX3RNiq3YUWYEBehARo16E8B4EwKU2oAbmGSBh7x0c9h5PsF-AHN1hgdM0LX6faXRXQFACTAaBfDQAWPgM+wB-RFnZPfVmdhcZ4Usq6aA+BwQwHcKQZAAdfAdR3nvJA3RTIeHZIaDQd5NogNROA-AghLD51YhQiM38vIUHXPWfOMk3wfgjN+EurMJDCxkF6MaYMgxqjYfmZi8dOFNx4bxWAfC+yGkEYxS8Xc84SJklPFutJeJJztEjNI6tu47gTryaA-Zsy9APOmG0OgtHRjehXXiLCGj1grjJKuzDWFdlnLuBQNikY6FxvtDinjeIxASvWQUajjFkn4stJ6XZOpmI8UOLy8SmBRI6jE2cAA1eQUMknJLxqk6uvFERb1XEiApgSrDBLemE6ADxZRVJqfWHQjsFw9B3sU5gSFGn+0Dq4U8yACC7CqupMAB9QB8EwemaA1SyjUOGAACXkPMiOmDd7pSEh6e+ss-AgFwHYVmpU34LIKX1ZBKsDgAH4sm+R0J4oaRcvKmLxskMRXZ3EcXzuE5gXoyAwF-pABcrhXQwHqZ8+IdBmRjxgBPO2QRuJgi8KpPG5zMzMCzFY9Z-h76YKwb-MBHAOCdGAIIYY-YjLvxpuAHomB2SXmgHgFESFVrzw2MgW5VLTx9lIJgMSMhICokCGHe+pllLop5cgYYiIpmrmDpgUghAIHQGwNTWm2DEisFQKUPwOYNXLOQFTGm3QsU4usUkYwHU-C6vSg0fAOZIAohkNQh5QpDH1PYhLRAvtoCZWyhYIAA Presentation mode] | ||
==== | == Downloads == | ||
== See Also == | == See Also == | ||
*[[DAO Governance Framework project|DGF project]] | |||
== | *[[Glossary]] | ||
*[[Governance Philosophy|Governance philosophy]] | |||
*[[Guiding Principles|Guiding principles]] | |||
**[[Guiding principles#Individual code of conduct guidelines|Individual code of conduct]] | |||
** [[Guiding Principles#Group governance code of conduct|Group governance code of conduct]] | |||
*[[Contributors guide]] | |||
*[[Ethical Considerations|Ethical considerations]] | |||
*[[Governance Philosophy|Governance philosophy]] | |||
*[https://gitlab.com/dao-governance-framework/  See Also Gitlab Repo] | |||
*[[DGF comparisons|Comparisons with other platforms]] | |||
== Notes and references == | |||
<references /> | <references /> | ||
Latest revision as of 11:17, 23 October 2024
The DAO Governance Framework (DGF) is a software framework for building DAOs by providing a governance structure which enables decentralized organization. An essential aspect of any organization is to specify the protocols governing acceptable member behavior. In a primary DAO it is especially important that these protocols be formalized and automated with open source smart contracts processed by distributed computing. Governance is the process of specifying and updating these protocols.
DGF gives DAO founders the template structure to formally specify the protocols for 1. work flow, 2. review procedures, and 3. the process for updating the protocols, themselves. These are alternately described as 1. executive, 2. judicial, and 3. legislative governance, respectively.
The most important function of a DAO, its work flow, determines the reward mechanism. The work flow process answers the question of why anyone would ever choose to participate in a DAO. The failure to build sophisticated and balanced incentive mechanisms is the primary reason for the failure of any DAO. DGF relies on reputation tokens (called REP) for all its governance mechanism. Reputation tokenomics analyzes the meaning, value, and security of a REP token design.
Specific examples of DAO instantiations using DGF here.
System Design[edit | edit source]
The DAO Governance Framework (DGF) project uses blockchain technology to make decentralized business possible. To do this, we provide tools to build DAOs. DAOs require IT tools to facilitate their decentralized governance.
The core tool of decentralized governance is a meaningful and secure reputation token, REP. The core mechanism of REP token design in DGF is:
- REP is minted and given to the person who brings $ to the DAO.
- The $ doesn't go to the person who earned it; $ is distributed proportionally to everyone who previously has earned REP.
The pages in this wiki explain the consequences of using this type of REP token design for building DAOs. How it solves the problems with current blockchain initiatives. How DGF makes business and social collaboration more efficient. How REP-focused governance can create a system that promotes human flourishing, materially, socially, and spiritually. And how such lofty and abstract values can persist in a system that is simultaneously built from cold, hard, algorithmic execution of digitally codified business and civil contracts.
In order to optimize for collaboration and community participation, we will be focusing early on modular, sharable specifications. There are elements of the dynamic framework that are common to a wide variety of specific instantiations of DAOs. This common subset forms what we refer to as Minimum Viable Protocol Requirements (MVPR).
DGF MVPR refers to the specification of an algorithm that implements the governance framework described in[1] and [2].
We conceptualize an MVPR DAO as the Bench of experts (or members, or workers) who provide some service to the public, together with their Forum. Experts are members of the DAO, determined by ownership of REP tokens. REP tokens are digital representatives of reputation which signifies and valuates a worker's level and history of expertise in doing the work of the DAO. REP tokens serve as the basis of power in the DAO. The Bench is defined as the list of experts. The public (or the customers) are defined as the nonmembers of the DAO, conceived of as potential customers that the experts intend to serve for fees. (We use the symbol $ to represent the fees, which denotes generic cash money in Ether, USD, or other currencies). The Forum is the evolving history of accepted and rejected actions the experts perform.
In an MVPR DAO, REP tokens confer on each expert the power to do work and governance:
- Work: Providing official DAO service to the public for fees. Fees are fungible cash money, typically in the denomination of some stable coin.
- Governance
- Executive: Automated policing of peer work
- Legislative: Debating and voting on updates to DAO operating parameters and smart contracts (hard protocols), and cultural norms (soft protocols)
- Judicial: Reviewing past actions and decisions by revaluing the Forum
Common to all these domains is the power accounting feature of REP ownership. REP is gained by peer validation and staked upon assertions.
DGF workflow[edit | edit source]
The DGF system is designed as a feedback loop consisting of three major components: 1. the Forum, 2. the collection of members of the DAO, called the Bench of experts, and 3. the public, consisting of non-member users of the system who pay fees to the DAO for work.
The basic DGF workflow is as follows:
- A public customer uses the public UI to find the most current work smart contract (WSC), both of which are contained in the Forum.
- Customer encumbers the appropriate $ fee and selects relevant parameters to engage the WSC.
- WSC randomly selects a worker from the DAO from amongst the available experts who have encumbered REP tokens in availability smart contracts (ASCs).
- Selected worker completes job offline, then completes the requirements of the WSC.
- WSC publishes evidence of completed job to a post in the Forum, then engages an instantiation of the Validation Pool.
- WSC sends address of post and public customer's $ fee to an instantiation of the Validation Pool (VP)
- VP mints new REP in proportion to the $ fee.
- 1/2 of new REP is staked in worker's name as an upvote. 1/2 staked as a downvote, unassigned.
- VP broadcasts voting is open to REP staking on betting pool.
- VP tallies the vote, decides the winner.
- VP publishes the result & distributes REP tokens from losing side to the winners, weighted according to stakes.
- The $ fee is distributed to all DAO members in proportion to REP holdings (REP salary).
Smart Contracts[edit | edit source]
- Availability smart contract (ASC): Enables DAO participants to declare their availability to produce work by staking REP
- Work smart contract (WSC): Evolving official protocol for how the DAO provides service to the public. Enables public users to request work products from the DAO. This WSC accepts certain parameters that will function to specify the proposed agreement, including the standards for fees the public pays, the mechanism for selecting the expert from the active ASCs, the standards for acceptable work, the mechanism for recording evidence of work to the Forum, and the code calling for a Validation Pool to verify successful completion of the WSC.
- Validation Pool smart contract (VPSC): Mechanism for DAO experts to vote weighted by REP ownership in order to
- Police experts' execution of the WSC through automated votes (executive governance)
- Register approval of proposed changes to DAO protocols through deliberate votes (legislative governance)
- Review past actions (judicial governance)
- The Validation Pool is the heart of DGF as it mints all new REP tokens and performs their initial distribution. Finally the Validation Pool distributes the fee from the WSC to all members of the DAO in proportion to the ownership of REP. This is called the REP salary.
- Forum smart contract (FSC): Records the history of the DAO as a linked list of documented official DAO expert actions. Links are weighted references, positive or negative, that donate or leach REP from the post referred to. Gives the context for discussion on modifications to the DAO.
UI Software[edit | edit source]
Main article: Front-end software
A DAO must have software that allows the public and its experts to access its capabilities. UIs therefore have two faces. This software provide a view of the Forum that enables its respective audience to interact for their respective purpose. Primarily, experts use their UI to engage their REP holdings to secure work and to govern the DAO. Secondarily, experts use their UI to search the Forum for pressing issues in governance. The public primarily uses their UI to engage experts by encumbering fees in Work Smart Contracts. Secondarily, the public uses their UI to search the Forum to find the WSC and evaluate whether the DAO's reputation is sufficient to warrant their business.
Ideally the UI software would be formally governed by each DAO itself. However, pseudonymity and openness makes this impractical to enforce. Individuals can engage a distributed database with any UI they choose. Thus competing UIs are likely to emerge in most DAO instantiations. DGF simply provides recommended defaults on out-of-the-box UI software, and allows each DAO to choose their minimal canonical UIs.
In its purest, ideal form this system would support stateless client applications, serving all operational data reliably from blockchain storage. However, blockchain storage is currently expensive; so in practice, we can only use it in cases where we require the long-term guarantee, such as the REP ownership list.
This means that we must implement a separate, off-chain stateful layer. There are a variety of options for this off-chain data layer such as IPFS. For now we merely specify that such a layer must exist.
There are both formal and informal processes – hard and soft protocols – associated with each of the above outlined areas of power. Hard protocols are specified by code, and enacted by running systems, whether on or off chain. Soft protocols refer to patterns of participant behaviors.
Key Concepts[edit | edit source]
Reviews[edit | edit source]
Main pages: Executive governance & Judicial governance
A goal of the DAO is to deliver quality results to its customers. To achieve this, experts submit work products for review by other experts within the DAO. This is executive governance which is implemented through the Validation Pool mechanism. These reviews, as well as the review process itself, are subject to future review under judicial governance which is implemented primarily through Forum reference mechanisms. This ability to consciously review (judicially) the unconscious review (executive) is complicated, but is necessary to guarantee one of the key aspects of reputation are meaninfully embodied in REP tokens. That is, a member's reputation can be diminished or augmented in the future based on how well their behavior adheres to the DAO's values.
Governance[edit | edit source]
Main page: Governance
The MVPR parameters are designed to allow customization of the rules that govern the operations of the DAO.
Reputation[edit | edit source]
Main page: Reputation
DAO participants shall be awarded with reputation tokens for contributions which the other DAO members deem valuable.
Reputation token types should be specific to the relevant domain of action. For instance, a typical primary DAO begins with three distinct kinds of reputation:
- REP - Work product reputation
- gREP - Governance reputation
- cREP - Comment reputation
REP is associated with a work product. When members do work directly with the public they receive REP tokens. Usually, REP value is minted in proportion to the fees the worker earned for the DAO.
gREP is associated with proposals to modify the DAO's governance parameters. This is what we consider governance of the hard protocols in the system. gREP may be staked toward new proposals. Successful proposals shall attribute new gREP to their authors and supporters. It is likely that there will be a close relationship between gREP and REP since successful workers will likely have the best understanding about how to improve a DAOs protocols for work. In this case there is no need for a distinction in many DAOs.
cREP plays an important role in the soft protocols governing the organization. Fundamentally a DAO is a group of individuals. Their behavior will be shaped partly by the communication that occurs among them. Comments will be a central vehicle for this communication. Each organization may develop its own ways of associating meaning with comments. An organization may want its participants to be able to stake their own reputation toward promoting particular comments, and toward suppressing others. Our goal is to enable each community to articulate its own values, in a way that is transparent for the community as well as the public to observe.
cREP is the most difficult REP token to valuate. A typical comment will likely be submitted without any associated cash fees when they are first posted in the Forum. DGF has options for DAO founders for making an initial protocol for valuing such tokens which do not have the grounding value of cash money. For instance a variation on the PageRank algorithm can be used to weight the Forum's WDAG based solely on the strength of edges without requiring weights of nodes. However, before any type of REP token is grounded with the concrete meaning gained by being associated with money, the system is particularly susceptible to gaming. The basic PageRank algorithm, for instance, can be gamed by spamming the Forum with self-referential posts driven by sockpuppets.
Distributed computing perspective[edit | edit source]
Since a primary DAO is an open permissionless decentralized network, Byzantine resistance is the primary design consideration. Any network node has the ability to spam the network with any information they choose. A Byzantine node cannot be prevented from editing any software it uses before communicating with the network. So a decentralized network's protocols must involve checking every message for consistency and integrity. The only defense against such behavior is to ignore Byzantine messages that don't accurately encumber valuable tokens or to slash the tokens encumbered in a Byzantine message which does encumber tokens.
For instance, in DGF workflow, we assume every full node in the network behaves in a similar manner to a full client in the Ethereum network. In Ethereum, a full node participates in the distributed computing architecture called EVM as follows. The node first downloads the entire history of the blockchain – every transaction (TX), every smart contract (SC), every record of how much ether was submitted to run each smart contract, and every output of every smart contract so engaged. A full node has its own database of the entire collection of all ERC20 (and ERC471, etc.) tokens that have ever been minted and their complete history. A full node refers to this information to determine the validity of every TX request to fulfill a new transaction on the Ethereum network. This means that any Byzantine action is ignored or punished according to protocols that have previously been established by the Ethereum network.
By analogy with Ethereum's EVM flow, in DGF a full node downloads the entire history of the DAO (the Forum) and parses the value of every REP token, in order of creation, by calculating their values according to the changing rules whose history is encoded in the Forum. A record of every successful Validation Pool is required, as well as the rules for what is a successful Validation Pool at the time it was called. For instance, a Validation Pool has a quorum necessary for it to be considered a canonical instantiation that leads to its inclusion in the Forum. The quorum will change as the DAO evolves. The larger and more decentralized that the DAO becomes, the smaller the quorum needs to be in order to maintain security against Byzantine actions.
This counter-intuitive perspective of maximally redundant computation is necessary to maintain the decentralized structure of the network in the inevitable presence of Byzantine actors.
Notes about Implementation[edit | edit source]
These reputation mechanisms will be encoded as smart contracts. Such contracts run on a block chain and thus provide a resilient, distributed ledger where we can store the records of group participant activities.
It will be necessary to build software tooling that is capable of constructing a consensus view of the state of the DAO. This will need to access block-chain data encoded by the smart contract(s) as they ran at the time each block was written. The smart contracts themselves may change over time. Our goal is to encode these changes such that it is possible to reconstruct the entire computational history of the DAO. To maximize the flexibility of our initial contract, we will implement a set of hyper-parameters. In other words, the smart contract will express a dynamic algorithm; by changing the parameters of the algorithm, the behavior of the algorithm can be modified.
Broadly speaking, upgrading the underlying smart contract itself produces a hard fork. The best case for such a scenario is that the new contract is (sufficiently) compatible with the previous, and that all participants are able to upgrade to the new version in a (sufficiently) timely fashion. A design consideration for this project will be to attempt to reduce the probable costs of such a hard fork, by introducing some kind of internal versioning scheme for the blockchain code and data. TODO: Articulate the relative weight of this forward-compatibility consideration versus the competing design goal of avoiding excess complexity.
Applications[edit | edit source]
The initial DAOs include applications devoted to some of the most relevant requirements for building a decentralized economy, including:
- Block production - DAO using REP to determine randomized block producer for blockchain consensus.
- Stable coin
- Arbitration DAO - parties may trigger 3rd party arbiter power by adding template language to any smart contract - allows appeals for any smart contract
- Roll ups
- Gig jobs
- Oracles
- DeNM - The decentralized news media network.
- deFi
- Banking rollup DAO
- Underwriting
- Marketplaces
- ForEx
- Commodities
- Equities
- Derivatives
- Chit fund - A decentralized and global approach to the banking functions of investment, loans, and insurance using a generalization of the traditional chit fund scheme.
- Social collaboration
- Science Research Organizations
- [Peer to Peer Technology](Peer-to-Peer-Technology) - The decentralized society for research, development, and sharing of P2P tools.
- [Decentralized Governance](Decentralized-Governance) - The decentralized society for analysis and development of new approaches to the organization and guidance of decentralized networks.
- Social organizations
- Grants
- Community policing
- Social harmony
- AI governance
- Science Research Organizations
Resources[edit | edit source]
We are using GitLab Issues to track the concrete steps we are taking in assembling this system. For more information see SD-1.
This wiki is to be maintained as an introduction to the project. See SD-2.
Associated Projects[edit | edit source]
We rely on previous open source P2P tools such as blockchain and distributed hash tables:
We also learn from other projects working to develop P2P-enabled decentralized governance:
Code[edit | edit source]
This project is a pilot implementation (SD-4) of a framework (SD-3) for dynamic self-governance of DAOs (decentralized autonomous organizations).
Repo: https://gitlab.com/dao-governance-framework/
Tech specification: https://spec.dgov.io/
Prototype: https://gitea.dgov.io/DGF/dgf-prototype/
Demo: https://demo.dgov.io/
Platform Operations[edit | edit source]
High Level Sequence Diagram
Downloads[edit | edit source]
See Also[edit | edit source]
- DGF project
- Glossary
- Governance philosophy
- Guiding principles
- Contributors guide
- Ethical considerations
- Governance philosophy
- Gitlab Repo
- Comparisons with other platforms
Notes and references[edit | edit source]
- ↑ Craig Calcaterra, "On-Chain Governance of Decentralized Autonomous Organizations" (May 24, 2018). Available at SSRN: https://ssrn.com/abstract=3188374 or http://dx.doi.org/10.2139/ssrn.3188374
- ↑ Craig Calcaterra & Wulf Kaal & Vlad Andrei, "Blockchain Infrastructure for Measuring Domain Specific Reputation in Autonomous Decentralized and Anonymous Systems" (February 18, 2018). U of St. Thomas (Minnesota) Legal Studies Research Paper No. 18-11, Available at SSRN: https://ssrn.com/abstract=3125822 or http://dx.doi.org/10.2139/ssrn.3125822