Validation Pool: Difference between revisions
(Created page with "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 <math display="inline">R_T</math> reputation tokens has <math>n</math> members <math>m_k...") |
m (→Specification) |
||
Line 2: | Line 2: | ||
== Specification == | == Specification == | ||
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 input a new post's address in the Forum and a cash fee. 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 | 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 | |||
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. | |||
=== Binding vs. non-binding === | === 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 | 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 <math display="inline">R_D </math> is redistributed to those who upvoted, meaning each voter <math>m_j</math> with <math>v_j>0</math> receives <math display="inline">\frac{R_j}{R_U} R_D</math> new tokens. | ||
Finally, a VPSC can be <math>p</math>-binding for any <math>0 \leq p \leq 1</math>. A <math>p</math>-binding VPSC redistributes the fraction <math>p</math> of the losers' tokens to the winners. | Finally, a VPSC can be <math>p</math>-binding for any <math>0 \leq p \leq 1</math>. A <math>p</math>-binding VPSC redistributes the fraction <math>p</math> of the losers' tokens to the winners. | ||
== Consequences == | == Consequences == | ||
The Validation Pool can be set to binding or non-binding votes to serve executive or legislative governance. A binding vote means the REP tokens | The Validation Pool can be set to binding or non-binding votes to serve the function of [[Governance#Executive governance|executive]] or [[Governance#Legislative governance|legislative governance]]. A binding vote means the REP tokens are [https://vitalik.ca/general/2017/12/17/voting.html 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) |
Revision as of 10:03, 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 use them to vote on the post and
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)