Validation Pool: Difference between revisions

From DAO Governance Wiki
Jump to navigation Jump to search
Line 4: Line 4:
Suppose a DAO with a total of <math display="inline">R_T</math> reputation tokens has <math>n</math> members <math>m_k</math> for <math>0\leq k\leq n-1</math> where member <math>m_k</math> has <math>R_k</math> tokens. So <math display="inline">R_T=\sum_{k=1}^{n-1}R_k. </math>  
Suppose a DAO with a total of <math display="inline">R_T</math> reputation tokens has <math>n</math> members <math>m_k</math> for <math>0\leq k\leq n-1</math> where member <math>m_k</math> has <math>R_k</math> tokens. So <math display="inline">R_T=\sum_{k=1}^{n-1}R_k. </math>  


An instantiation of the Validation Pool Smart Contract (VPSC) takes as initial input a new post's address in the Forum and a cash fee and returns newly minted REP tokens. In addition each owner of REP tokens specific to the domain of the post may use them to vote on the post and  
An instantiation of the Validation Pool Smart Contract (VPSC) takes as initial input a new post's address in the Forum and a cash fee and returns newly minted REP tokens. In addition each owner of REP tokens specific to the domain of the post may encumber their tokens and vote up or down on the post. VPSC mints new REP of the type related to the post, and redistributes this new REP and the encumbered REP as follows.
 
????Add new REP...


Each post in the Forum includes a set (possibly empty) of weighted references to older posts. VPSC then allows each member <math>m_k</math> to encumber each of their REP tokens with an input <math>v_k</math> of upvote (<math>v_k=+1</math>) or downvote (<math>v_k=-1</math>) or default abstention (<math>v_k=0</math>). Once the timeout is reached, VPSC counts the votes by calculating <math display="inline">V_T:=\sum_{k=1}^{n-1}v_k R_k. </math> If <math>V_T\geq 0</math> that means the total REP used to upvote <math display="inline">R_U:=\sum_{ \{ i|v_i>0\}}R_{i} </math> outweighs the total REP used to downvote <math display="inline">R_U\geq R_D:=\sum_{ \{ i|v_i< 0\}}R_{i} </math>. Therefore if <math display="inline">V_T\geq 0</math> the post is validated. If <math>V_T< 0</math> then the downvote wins and the post is invalidated.
Each post in the Forum includes a set (possibly empty) of weighted references to older posts. VPSC then allows each member <math>m_k</math> to encumber each of their REP tokens with an input <math>v_k</math> of upvote (<math>v_k=+1</math>) or downvote (<math>v_k=-1</math>) or default abstention (<math>v_k=0</math>). Once the timeout is reached, VPSC counts the votes by calculating <math display="inline">V_T:=\sum_{k=1}^{n-1}v_k R_k. </math> If <math>V_T\geq 0</math> that means the total REP used to upvote <math display="inline">R_U:=\sum_{ \{ i|v_i>0\}}R_{i} </math> outweighs the total REP used to downvote <math display="inline">R_U\geq R_D:=\sum_{ \{ i|v_i< 0\}}R_{i} </math>. Therefore if <math display="inline">V_T\geq 0</math> the post is validated. If <math>V_T< 0</math> then the downvote wins and the post is invalidated.

Revision as of 10:06, 8 March 2023

The Validation Pool is the mechanism for holding REP-weighted votes on every assertion made in the DAO. It's function is roughly similar to a betting pool, in that members may register their votes with REP tokens, then, in a binding vote, those voting for the losing side have their tokens redistributed to the winners proportionally.

Specification

Suppose a DAO with a total of reputation tokens has members for where member has tokens. So

An instantiation of the Validation Pool Smart Contract (VPSC) takes as initial input a new post's address in the Forum and a cash fee and returns newly minted REP tokens. In addition each owner of REP tokens specific to the domain of the post may encumber their tokens and vote up or down on the post. VPSC mints new REP of the type related to the post, and redistributes this new REP and the encumbered REP as follows.

????Add new REP...

Each post in the Forum includes a set (possibly empty) of weighted references to older posts. VPSC then allows each member to encumber each of their REP tokens with an input of upvote () or downvote () or default abstention (). Once the timeout is reached, VPSC counts the votes by calculating If that means the total REP used to upvote outweighs the total REP used to downvote . Therefore if the post is validated. If then the downvote wins and the post is invalidated.

Binding vs. non-binding

A VPSC can be binding or non-binding. If an instantiation of the VPSC is binding, that means the REP tokens of all those who voted against winning side lose the tokens they encumbered to those who won, proportionally. E.g., if the post is validated, then all the REP used to downvote is redistributed to those who upvoted, meaning each voter with receives new tokens.

Finally, a VPSC can be -binding for any . A -binding VPSC redistributes the fraction of the losers' tokens to the winners.

Consequences

The Validation Pool can be set to binding or non-binding votes to serve the function of executive or legislative governance. A binding vote means the REP tokens are tightly-coupled with the voters' assertions about the post--if their assertion fails, the voter loses their tokens. For stability, this should only happen when the voter is violating the previously determined will of the DAO.

????

Binding Non-binding Rigid Non-contentious post & tightly-coupled (E.g., work-evidence post, mandatory plebiscite) Non-contentious post & loosely-coupled (E.g., poll of consensus on established precedent) Flexible Contentious post & tightly-coupled (E.g., forcing consensus on protocol development) Contentious post & loosely-coupled (E.g., protocol development poll, advisory referendum)