Editing
DGF Smart Contract Specs
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Version 1: Collaboration with Odra == === Background: === DAOs don't exist, but they should. DGF intends to build the first DAO. While code can implement the letter of the law, and DAO solutions thus far have focused on this aspect of governance, the question of how to create sustainable revenue generating (both for-profit and non-profit) DAOs is essentially a question of how the spirit of the law can persist amidst an ever-changing situational landscape. DGF proposes to answer this question by combining the forces of funding, publishing, and governance in a reputation system that allows values to be showcased based on hyperparameter choices. The solution uses hyperinflationary, non-tradeable, evolutionary, (non-negative real valued) reputation NFTs embedded in a tunable, clonable, appendable system that outlines the requirements for a sustainable DAO. In short DGF is a citation system in a forum with a validation pool (VP) using the idea of non-tradeable reputation as the primary incentive over money. The forum will be organized by a weighted directed acyclic graph (WDAG) wherein publishing, citing, and reviewing work requires staking reputation up or down - requiring different identity and data storage strategies. Reputation percolates through the graph and is governed by a number of voting typologies (in order to better address Arrow’s Theorem). Facets of the voting typologies and WDAG are hyperparameterized, which allows the system to shift fluidly between incentivizing innovation and validation (which addresses Goodhart’s Law). === Basics: === A consensus mechanism is the easiest way to describe the utility of the system - please refer to the [[Block producer DAO]] page. To populate this WDAG, there are different user types and post types that will cite each other with various weights to earn reputation that can later be used to earn money and or voting power. The basic user types are people that in or out of the DAO. The basic post types include posts, and proposals where proposal types can be specified (work, review, governance etc.). The primitives for a multi-REP DAO are: # chat REP (CREP) class # work REP (WREP) class[[File:DGF Core.png|center|thumb|634x634px|Sequence diagram showcasing the Core mechanism of DGF.]][[File:DGF-Reference-Mechanism.png|center|thumb|700x700px|Sequence diagram showcasing that DGF is basically a WDAG with a percolating citation structure managed by a validation pool. ]] === Specifications: === See [https://docs.google.com/document/d/1nJRHwyqH70YICHMWckVhbOaZh2aue8wyH78Av8X8W6o/edit#heading=h.3b6jaofcxreh <nowiki>Google Doc [2]</nowiki>]. ==== Terms ==== * Decentralized Autonomous Organization (DAO) * Work Reputation (WREP) * Validation Pool (VP) * Work Smart Contract (WSC) * Work Evidence (WEV) ==== Overview ==== There are three ways to earn Work Reputation (WREP). # Contribute to defining a Work Smart Contract (WSC) ## as the author of a WSC, or ## as the author of a post cited by a WSC, or ## as the author of a post cited by a post cited by a WSC, etc. (depth limited by Reference Chain Limit parameter). # Contribute to performing work that fulfills a WSC ## as the author of a Work Evidence post (WEV), or ## as the author of a post cited by a WEV, or ## as the author of a post cited by a post cited by a WEV, etc. (depth limited by Reference Chain Limit parameter). # Staking WREP in a Validation Pool (VP), ## to validate a VP, ## or to police a VP. Note that WREP is ONLY minted in proportion to fungible tokens submitted to a Validation Pool (VP). ==== When fungible tokens are submitted to a WSC ==== The WSC must select a worker to whom the work is assigned. The recommended way to select a worker is as follows: * DAO members (a.k.a. WREP holders) indicate their availability by staking their WREP toward the WSC. * WSC selects a worker randomly, with probability of selection for each worker weighted by that worker’s staked WREP. * To handle the initial case when no WREP has yet been minted, the WSC can accept an availability stake of 0 WREP, and all such stakes should be given equal weight in the random selection. ===== When WEV is submitted to a WSC ===== # The WSC initiates a VP targeting the WEV. # The fungible tokens are transferred to the VP. # The WREP staked by the worker toward availability is transferred to stake in favor of the VP. # All WREP holders have an opportunity to stake for or against the VP. ===== When VP is initiated ===== # WREP is minted in proportion to the fungible tokens received. The proportion is determined by the WREP Minting Ratio parameter. ===== When VP is approved ===== # Minted WREP is transferred to the WEV post, and propagated to its authors and citations, up to the depth specified by the Reference Chain Limit parameter. # Fungible tokens are distributed to all WREP holders in proportion to their WREP. ===== When VP is rejected ===== # Minted WREP is transferred to the DAO members who staked against the WEV. # Fungible tokens are distributed to all WREP holders in proportion to their WREP. Note that there may be multiple alternative WSC in play at a given time. In order to promote a healthy culture, WSC and WEV SHOULD cite contributions of other DAO members. Members SHOULD vote against WEV that violates the community’s standards. Members SHOULD vote against WEV that is submitted to an improper WSC. ==== Smart Contracts ==== ===== Forum ===== * Contains Posts ** Each post may have one or more authors *** If a post has multiple authors, each author may have a weight *** Author weights sum must equal 1 ** Each post may cite zero or more other posts *** Each citation has a weight between -1 and 1 *** Sum of all positive weights must not be greater than 1 *** Sum of all negative weights must not be less than -1 * Propagates WREP ** To cited posts, recursively up to Reference Chain Limit ** To post authors ===== Validation Pool ===== * Accepts fungible tokens to initiate a VP targeting a given Post * Mints WREP in proportion to fungible tokens ** Parameter: Minting Ratio * Accepts WREP stakes for or against the targeted Post * Awards WREP to winning voters, whether for or against * If the VP is approved, awards WREP to the targeted post ===== Reputation ===== * Extends ERC 721 (Non-fungible token) * Associates a floating point value with each token * Allows VP and Forum to transfer value from one token to another, as specified above ===== Work ===== * Accepts WREP stakes for worker availability * Accepts fungible token fees from customers * Assigns work to workers * Accepts WEV submissions * Initiates VP to approve WEV === User Scenarios: === * Here is DGF's repository of [https://www.dgov.io <nowiki>use-cases [3]</nowiki>]. * Here is a [https://sequencediagram.org/index.html#initialData=C4S2BsFMAIBEHEBiAHAhgJ1AYxGgdsNAFID2ARtAAokDOwk6A9HiXgLQCuND0AogB7IGwAIwAoMWkwgc+YAHN0JDsmgBicCHkALYGXAcYACS3a2AGUgA3SODhJoAZUgBHQ3iyRJGbLlQFoLgZvaVl-QkQSdA4AWxDfOWgANVRNABNUUFYqEhJwMUg8NIkpBPDFZVUBVBjkKDFoaFKZPwIKlXVNHQV0VABPaAB5ADNhtgBhbVQQPEZHKbSSAHcGpp8WxKD0aHgSKwEhTAAGeI3w6AB1ajoTxuawgK2+QWFxO-WHwiulZFpUt+ghWKjVW91aPUqQ3Yk2meBKH3BgW421IFAASq5DHQGMxWGwDq8JO9QoiLoNkMhxGDEtQ8uIiWsSZtkc9DsAAEyghGJb4kX40VKc4llAK08BCxkiwhigDMqyB0AKRQkamgJh00EsNjsjmA0SwwA46C8WzYAD5ItEYgAuY2oYpPc3QS2xa38whiU0WqKulRWEj0RiLJZ4f30aB0VAAa0gNE9yPNLptxqsIEgS2gAAphuBUPJGECotwAJTxhiJn025A-P7gGhZmJcQg4egAOiaNYFdegWH8PbAkAAOnhoCm00saAAaJq0YBTjt82v1mbQfxpaDD5SEEjDHskGKNvBgAZYVj0AilpMAHjYKXSmRA2TF1tPB44R+AAysqRAGXo9ZYNJY1XIpATSeRgM3XcLlgABBeBARoIQcFScABiWbRCmgGJWEgAZCnodB62HYBMIjPpsRiVsVR2PZWWES5HHGHs7SyEdMxoBZljRXhKFLdpVEoTtUmgI5rVomx0DwVBPFWRonl2fYXmOaBzTNS5rmAI5oHEmgODIGIwBnOhoGAEgWMgTIYAuJjFSBMRVQJTBoBERjxjEASqGEuwRHEi4oijJEZnkaB5D2BhpI8LxGnklknNEVSzXU3l+X+HSI30wzCHdEEWHDcLthS2tXPErhgrcuSNO81y1I02dtPEltY0zI5WyOERSyVYEQVVVEcmxdAPKUDohMXLtoHZPyAugDE3FjYAxDFEQ1LJClfNgxRIGAszjMIAArcgxBk0Bv3DVbKTEPKYAKy5yUpa0yrwEKbPcmKkR4eL2US5K7t8iNgGjYDUG-EBczIUHj0qp54pqpLbrW9LIxjetgemMGIc-MsUXIGbMXmnEWHYGGVt+609IMoyABIRCOWnoGGKJoCWab7Uk0AAC9IHXMgBjgwYJCu6AbqW60ADk8XiiNbEgA160ZpJKClqBZeHIChCKcrsherNeiKfclZltjOqx4gcdmrFCNxInlNEEm1utPr3R4LBtFybh62GJQYlXClNF7Ag40q87YfU6Gba+8SlhmetSJgA6KHB7rGk80bUrsGVxMl2CsFfOoQE44D-PQQLzfmpmwG0S5pt4VMgKiqG4vD76qrGwVEcysB63dIPU9rL7aqKrsSv7f8WtbGVSzewe24HzSGpH5rWvayeYrDtl+7hsUI+gGYwBAKzkh-P9HxHMUs2GLbxKOYtFWOkBTpgLfKq35uX-EwyAkzGnaZ4vjFUF4WuRxTpQuDMBkjQX6z28tvasfI8wH0zAANgAJxHAuL-G+PdoHNzXsIGBPx4HhiQag9BvEV6NGnsAqBrdwDD1gb8eQCCZS01IXxMQlD2Q3iflPXuQ8cGNzZHQmsjCiHMLQRgxUHDzTcJipAuGVx6rpXoSQERkAv7iLIT3RRtUFJ7HivPZRqj1GsMnpdAM11JJ1RuDpY0yAOAAzYtAAAvC5DRlAzH5UsQo6x4lvwGBgC46m2kPEWJ4LgzAw9bH2IfNkFxYjWEhKFpY8JCVxJkFSP4TwzjoCU3ZMggA7A3D6NsQ5WK0ko4RCDcmtgKZ1ABySBF4JsZAOxDiT7ZJQW4xJN0UkR3SbmKK2TKaIIAByFIFuYpJPBvHlNtC06JjiXEiHZDU-JCT6nTLnulPxhghnLNWXJMQQE74PxyHkTkxyDT3wPsHBo9lATKiGpCVh0BxisDZjHcy8Bf4xXAe9bYil9GvyATKdKu9QAHzvL+GJp8gHn0vi5FZtTb5XNObKZ+ILgV5FBe-GYhAv5IvyZgjZ2xZQgLAW9Mls9FHiXoYQmABLVmYJ4douGuilJsgMQQ1RWZ9nIu6Q0nggKbbzyiW02JiLVnfN4gKsJLJhWcvSv0zJATJUFKOZZVFB90USHshIIAA sequence diagram] that showcases how CREP turns into GREP. * TODO: ** Changing parameters: [TBD] ** Storage: [TBD] ** Corner cases: [TBD] ** Rethink redistribution mechanism: [TBD] Uniswap? Scaling issues already exist.
Summary:
Please note that all contributions to DAO Governance Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
DAO Governance Wiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
Edit source
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information