Executive governance: Difference between revisions
m (→See also) |
|||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Executive [[governance]] in [[DAO Governance Framework|DGF]] consists of automated policing of peer actions. The primary mechanism for executive governance is the [[Work smart contract]] (WSC), which sets the protocols for successful participation in the profit-making aspect of the [[DAO]]. The secondary executive governance mechanism is the [[Validation Pool]], which is used to validate the completion of every WSC, using [[Validation Pool#Redistribution: binding vs. non-binding|binding votes]] (voting against the majority results in loss of tokens) on the acceptability of all actions that affect the DAO. | |||
Executive governance in a DAO is the active, direct control of ownership in the organization. Executive governance consists of policing who is allowed inside the group, how much power insiders have, and how outsiders can interact with the group. Executive governance is therefore the accounting of the lists of owners of the various types of tokens that have power to engage the DAO’s smart contracts, whether those owners are using their tokens according to previously established protocols, and whether outsiders who engage with the DAO are engaging properly. Inasmuch as a DAO is truly decentralized, this policing control must be ultimately democratic. Therefore, some sort of token-weighted voting is necessary. Inasmuch as executive governance is the process of executing the regulations that the organization has already agreed to follow, executive governance should be automated as much as possible. In a DAO this means algorithmic enforcement using smart contracts run on a decentralized computing platform. | |||
== Policing | == Policing motivation == | ||
The most basic and strongest direct incentive a DAO member has for participating in the policing process is that they are rewarded with new REP tokens when they participate in the Validation Pool. Based on the [[Validation Pool#Vote|policing parameter <math>c_3</math>]] (which has default value <math>c_3=1/2</math>) and the rate of total fees [[Validation Pool#Vote|<math>f'</math>]] the DAO earns, we can determine how valuable it is to participate in executive governance. | |||
An indirect motivation for an individual to police is that it keeps the DAO, and therefore the individual's REP tokens, secure and valuable. A higher policing parameter motivates more participation, but it also makes it more difficult and expensive to achieve a 51% attack arbitrage. | |||
However, a higher policing parameter makes finite lifetime REP tokens last longer, as new REP is automatically minted with fresh tenure. This leads to | |||
Such motivations need to be weighed carefully when a DAO decides how to set policing parameter. The decision is clarified with a rigorous valuation of policing tokens. | |||
It is assumed most members will not leave their reputation tokens unused, merely passively earning the reputation salary. At a minimum, most members can be expected to also use their REP for executive governance, that is, to automatedly police all actions in the DAO by participating in each Validation Pool. This will be typical when the reward for policing is sufficient to motivate members to participate in policing. This means the reward is more than the price to run the machines needed to participate. | |||
'''Proper Policing''' means continually using the most recent version of the canonical front end, which runs the automated algorithms that vote in accordance with governmentally established soft protocols. We distinguish Proper Policing from general policing, because in a decentralized system Byzantine behaviors are possible. Anyone can choose to directly vote in any way, e.g., against the accepted standards of the DAO. | '''Proper Policing''' means continually using the most recent version of the canonical front end, which runs the automated algorithms that vote in accordance with governmentally established soft protocols. We distinguish Proper Policing from general policing, because in a decentralized system Byzantine behaviors are possible. Anyone can choose to directly vote in any way, e.g., against the accepted standards of the DAO. | ||
Line 13: | Line 21: | ||
How much is policing rewarded? In the Bitcoin network, there is no immediate incentive for policing. In more sophisticated PoS (proof of stake) consensus algorithms, such as Ethereum’s LMD-GHOST, policing rewards are built into the protocol. When a DAO implements a reputation mechanism, we need to account for policing rewards explicitly, so we can optimize the incentive. The formulas given previously show how much a token is worth for passively collecting the reputation-weighted salary. But in this section, we need to determine how much more a token gains by policing. Specifically, how much extra REP is gained automatically by participating in the non-contentious, binding validation pools that should result in unanimous decisions? If this value is not more than the price of running the machines necessary to execute the full version, then most users will eventually opt to execute simplified versions, which is a security threat. | How much is policing rewarded? In the Bitcoin network, there is no immediate incentive for policing. In more sophisticated PoS (proof of stake) consensus algorithms, such as Ethereum’s LMD-GHOST, policing rewards are built into the protocol. When a DAO implements a reputation mechanism, we need to account for policing rewards explicitly, so we can optimize the incentive. The formulas given previously show how much a token is worth for passively collecting the reputation-weighted salary. But in this section, we need to determine how much more a token gains by policing. Specifically, how much extra REP is gained automatically by participating in the non-contentious, binding validation pools that should result in unanimous decisions? If this value is not more than the price of running the machines necessary to execute the full version, then most users will eventually opt to execute simplified versions, which is a security threat. | ||
== | == Policing valuation == | ||
[ | In this section we use [[Reputation tokenomics|tokenomics]] formulas to find the [[present value]] of automated policing, based on the work-to-policing ratio set in the validation pool. This will help guide DAO governance decisions for how to decide this parameter’s value to motivate more or less policing. | ||
=== Infinite lifetime REP === | |||
Whenever a validation pool is opened with a fee of [[Validation Pool#Vote|<math>f</math>]] in fungible currency units, then [[Validation Pool#Vote|<math>mf</math>]] reputation tokens are minted, and [[Validation Pool#Vote|<math>c_3mf</math>]] tokens are staked in the poster’s name and [[Validation Pool#Vote|<math>(1-c_3)mf</math>]] tokens are given to the bench for policing. Here [[Validation Pool#Vote|<math>0\leq c_3\leq 1</math>]] gives the '''work-to-policing reward ratio''' of [[Validation Pool#Vote|<math>c_3/(1-c_3)</math>]]. Default is [[Validation Pool#Vote|<math>c_3=1/2</math>]] when work and policing are equal. When [[Validation Pool#Vote|<math>c_3<1/2</math>]] policing is augmented. When [[Validation Pool#Vote|<math>c_3>1/2</math>]] work is encouraged. The term “policing” may give the wrong impression, since automated policing may have a greater effect on how much entrenched power is protected, with [[Validation Pool#Vote|<math>c_3\approx 1</math>]] encouraging new members to join and earn REP through work, and [[Validation Pool#Vote|<math>c_3\approx 0</math>]] favoring older members who run the automated policing algorithms to protect their power. These claims will become more specific and obvious from the mathematical analysis that follows. In the end, these calculations will dictate how to set the policing reward parameter to motivate optimal policing and also whether to encourage new members to participate or to protect established members’ power. | |||
== 1. | As in the previous calculations, the rate of fees [[Validation Pool#Vote|<math>f'</math>]] determines the present value of a policing token. The total number of tokens in a DAO is again given by [[Validation Pool#Vote|<math display="block">R(t)=\int_{-\infty}^{t} m*f' (s)ds=R_0+\int_{0}^t m*f' (s)ds</math>]]<nowiki/>where [[Validation Pool#Vote|''<math>R_0=R(0)</math>'']]. Assuming a single token was minted at time [[Validation Pool#Vote|<math>t=0</math>]] the fees it earns is again given by[[Validation Pool#Vote|<math display="block">f_0^1 (t)=\int_0^t\frac{f'(s)}{R(s)} ds.</math>]]The [[present value]] at time [[Validation Pool#Vote|<math>t_0=0</math>]] when 1 token was minted is[[Validation Pool#Vote|<math display="block">PVf_0^1=\int_0^\infty e^{-rt} \frac{d}{dt} f_0^1 (t)dt=\int_0^\infty e^{-rt}\frac{f'(t)}{R(t)}dt.</math>]] | ||
But the new REP tokens the single token earns by policing is governed by the parameter [[Validation Pool#Vote|<math>c_3</math>]]. For each fee that enters the DAO, the first REP token earns the fraction [[Validation Pool#Vote|<math>p_31/R^p(t)</math>]] of the [[Validation Pool#Vote|<math>mf'</math>]] newly minted REP tokens, where the policing parameter is simply [[Validation Pool#Vote|<math>p_3:=1-c_3</math>]] and [[Validation Pool#Vote|<math>R^p</math>]] is the number of tokens that participate in the policing actions. So [[Validation Pool#Vote|<math>R^p\leq R</math>]]. For simplicity, we will conservatively assume [[Validation Pool#Vote|<math>R^p=R</math>]] which is reasonable if [[Validation Pool#Vote|<math>p_3</math>]] is large enough to justify participation. However, this means our estimates will undervalue reliably active tokens, since all DAO members’ continual participation is not likely. | |||
Now each token that the first token earns by policing will also earn further policing tokens at the same rate, ''ad infinitum''. The tokens that result from this policing process from a single initial REP token is denoted by [[Validation Pool#Vote|<math display="inline">P_0^1(t)</math>]] which satisfies the initial condition [[Validation Pool#Vote|<math display="inline">P_0^1(0)=1</math>]]. So [[Validation Pool#Vote|<math display="inline">P_0^1(t)</math>]] grows according to the ODE[[Validation Pool#Vote|<math display="block">\frac{dP_0^1(t)}{dt} =p_3mf'(t)\frac{P_0^1(t)}{R(t)} .</math>]]''<small>Equation 10</small>'' | |||
which is separable and can be explicitly solved as[[Validation Pool#Vote|<math display="block">\int \frac{dP}{P} =p_3m\int \frac{f'(t)}{R(t)} .</math>]]<nowiki/>assuming [[Validation Pool#Vote|<math>p_3</math>]] and [[Validation Pool#Vote|<math>m</math>]] are constant. Then[[Validation Pool#Vote|<math display="block">P_0^1(t) =exp\Biggl( p_3m\int _0^t \frac{f'(t)}{R(t)}\Biggr) .</math>]]''<small>Equation 11</small>'' | |||
1 token which is actively policing then produces [[Validation Pool#Vote|<math display="inline">P_0^1</math>]] coins which together have the reputational salary [[Validation Pool#Vote|<math display="inline">f_0^{1,P}</math>]] given by the formula[[Validation Pool#Vote|<math display="block">f_0^{1,P}(t)=\int_0^t f'(s)\frac{P_0^1(s)}{R(s)}ds.</math>]]1 token which is actively policing then has present value[[Validation Pool#Vote|<math display="block">PVf_0^{1,P}=\int_0^\infty e^{-rt} \frac{d}{dt} f_0^{1,P} (t)dt</math>]]<nowiki/>similar to the present value of a passive token. | |||
To improve our intuition for these formulas and gain some mathematical perspective about how important policing is, next we make simplifying assumptions, such as constant or exponential fee rates [[Validation Pool#Vote|<math>f'</math>]]. | |||
==== Constant fees ==== | |||
For constant fees [[Validation Pool#Vote|<math>f'(t):=f_0'</math>]] we get[[Validation Pool#Vote|<math display="block">R(t)=R_0+\int_{0}^t m*f' (s)ds=R_0+mf_0't </math>]]<nowiki/>and so Equation 11 gives[[Validation Pool#Vote|<math display="block">P_0^1(t) =exp\Biggl( p_3m\int _0^t \frac{f_0'}{R_0+mf_0's}\Biggr)ds=exp\Biggl( p_3 \biggl(ln(R_0+mf_0's)-ln(R_0)\biggr)\Biggr) =\biggl(1+\frac{mf_0'}{R_0}t\biggr)^{p_3}.</math>]]If (as we are assuming) all members police all the time, then[[Validation Pool#Vote|<math display="block">P_0^{R_0}(t)=R_0 \biggl(1+\frac{mf_0'}{R_0}t\biggr)^{p_3}.</math>]]<nowiki/>gives the formula for the collection of all policing tokens [[Validation Pool#Vote|<math display="inline">P_0^{R_0}</math>]] generated from the original tokens [[Validation Pool#Vote|<math display="inline">R_0</math>]] from time [[Validation Pool#Vote|<math display="inline">t=0</math>]]. The policing tokens from a single token grow without bound, however the relative power that all original tokens [[Validation Pool#Vote|<math display="inline">R_0</math>]] maintain under automated policing is[[Validation Pool#Vote|<math display="block">\frac{P_0^{R_0}(t)}{R(t)}=\frac{R_0 \biggl(1+\frac{mf_0'}{R_0}t\biggr)^{p_3}}{R_0+mf_0t}=\biggl(1+\frac{mf_0'}{R_0}t\biggr)^{p_3-1}\rightarrow 0</math>]]<nowiki/>as <math>t\rightarrow \infty</math> anytime [[Validation Pool#Vote|<math>p_3<1</math>]]. This proves policing alone cannot maintain your relative power in the DAO, nor the power of the original cohort . The inflationary minting mechanism will dilute your power if you don’t continue to contribute to the DAO with further work. So the entire starting DAO members will eventually be usurped if they don’t add more original contributions beyond automated policing. | |||
We also can calculate the income stream [[Validation Pool#Vote|<math display="inline">f_0^{1,P}(t)</math>]] of 1 token with policing [[Validation Pool#Vote|<math display="inline">P_0^1(t)</math>]] and its present value under the assumption of constant fees:[[Validation Pool#Vote|<math display="block">f_0^{1,P}(t)=\int_0^t f'(s)\frac{P_0^1(s)}{R(s)}ds=\int_0^t f_0'\frac{\biggl(1+\frac{mf_0'}{R_0}s\biggr)^{p_3}}{R_0+mf_0's}ds=\frac{f_0'}{R_0}\int_0^t \biggl(1+\frac{mf_0'}{R_0}s\biggr)^{p_3-1}ds=\frac{1}{mp_3}\Biggl(\biggl(1+\frac{mf_0'}{R_0}t\biggr)^{p_3}-1\Biggr).</math>]]<nowiki/>and<math display="block">PVf_0^{1,P}=\int_0^\infty e^{-rt} \frac{d}{dt} f_0^{1,P} (t)dt=\frac{f_0'}{R_0}\int_0^\infty e^{-rt}\biggl(1+\frac{mf_0'}{R_0}t\biggr)^{p_3-1}dt</math>This last expression is finite, but not expressible using elementary functions. This is common for any expression that derives from a complicated continuous process—most elementary functions lack elementary antiderivatives. Technically it is an incomplete gamma function. When necessary, we can make tables of values for any relevant parameters we happen to be using in order to gain intuition for how it behaves. | |||
== | ==== Exponential fees ==== | ||
Now we assume, as above, the fees follow an exponential rate [[Validation Pool#Vote|<math display="inline">f'(t):=f_0'e^{ct}</math>]] | |||
This gives[[Validation Pool#Vote|<math display="block">R(t)=R_0+\int_{0}^t m*f' (s)ds=R_0+mf_0'\frac{e^{ct}-1}{c} </math>]]Using Equation 11 we get[[Validation Pool#Vote|<math display="block">P_0^1(t) =exp\Biggl( p_3m\int _0^t \frac{f'(t)}{R(t)}\Biggr)=\Biggl(1+\frac{mf_0'}{R_0}\frac{e^{ct}-1}{c} \Biggr)^{p_3}</math>]]The single policing token gives the reputational salary[[Validation Pool#Vote|<math display="block">f_0^{1,P}(t)=\int_0^t f'(s)\frac{P_0^1(s)}{R(s)}ds=\frac{1}{mp_3}\Biggl(\biggl(1+\frac{mf_0'}{R_0}\frac{e^{ct}-1}{c}\biggr)^{p_3}-1\Biggr).</math>]] | |||
Notice policing makes a qualitative difference under exponential fees, since a passive token had salary [[Validation Pool#Vote|<math display="inline">f_0^1(t) \sim \frac {1}{m}ct </math>]] asymptotically linear, whereas policing gives [[Validation Pool#Vote|<math display="inline">f_0^{1,P}(t) \sim e^{cp_3t}</math>]] asymptotically exponential salary. | |||
This salary’s present value is<math display="block">PVf_0^{1,P}=\int_0^\infty e^{-rt} \frac{d}{dt} f_0^{1,P} (t)dt</math>which is not expressible using elementary functions, but is given by the hypergeometric function <math>2F_1</math>. Notice <math display="inline">PVf_0^{1,P}</math> is finite when <math>cp_3<r</math> and infinite otherwise. Therefore, we see that when the policing ratio <math>p_3</math> and the exponential growth rate <math>c</math> overcome the interest rate <math>r</math> we can expect explosive returns, which is a threat to the stability of the DAO since it is likely a hype cycle would form, generating unreasonable expectations of future earnings. | |||
Even though exponentially growing fees gives an exponentially growing salary, notice that the <math>R_0</math> original tokens, even if they all participate reliably in policing will be diluted in relative power according to <math display="block">\frac{R_0P_0^1(t)}{R(t)}=\frac{R_0\Biggl(1+\frac{mf_0'}{R_0}\frac{e^{ct}-1}{c} \Biggr)^{p_3}}{R_0+mf_0'\frac{e^{ct}-1}{c}}=\Biggl(1+\frac{mf_0'}{R_0}\frac{e^{ct}-1}{c} \Biggr)^{p_3-1}\rightarrow0</math> | |||
as <math>t\rightarrow \infty</math> so the DAO will predictably decentralize, even if the founders continually police the newcomers. The only way founders can maintain majority power is by bring the majority of new fees to the DAO by continually performing the majority of productive work. | |||
=== Finite lifetime automated policing === | |||
For the case of REP tokens with finite lifetime, the ODE of Equation 7 becomes a delay differential equation (DDE)[[Validation Pool#Vote|<math display="block">\frac{dP_0^1}{dt}(t) =p_3mf'(t)\frac{P_0^1(t)}{R(t)} - \frac{dP_0^1}{dt}(t-L) .</math>]]''<small>Equation 12</small>'' | |||
with initial condition [[Validation Pool#Vote|<math display="block">\frac{dP_0^1}{dt}(t) = \begin{cases} 0 & \text{if} \quad -L\leq t<0 \\ 1 & \text{if } \quad t=0. \end{cases}</math>]]As before, <math>R</math> represents the total number of tokens in a DAO with finite lifetime <math>L</math> and is given by [[Validation Pool#Vote|<math display="block">R(t)=\int_{t-L}^t m*f' (s)ds </math>]] | |||
Again, [[Validation Pool#Vote|<math>p_3:=1-c_3</math>]] is the policing parameter, and the tokens that result from this policing process from one REP token is denoted [[Validation Pool#Vote|<math display="inline">P_0^1(t)</math>]] with [[Validation Pool#Vote|<math display="inline">P_0^1(0)=1</math>]] which have the reputational salary [[Validation Pool#Vote|<math display="inline">f_0^{1,P}</math>]] given by the formula[[Validation Pool#Vote|<math display="block">f_0^{1,P}(t)=\int_0^t f'(s)\frac{P_0^1(s)}{R(s)}ds</math>]]<nowiki/>which has present value[[Validation Pool#Vote|<math display="block">PVf_0^{1,P}=\int_0^\infty e^{-rt} \frac{d}{dt} f_0^{1,P} (t)dt</math>]] | |||
To explain why the policing token holdings [[Validation Pool#Vote|<math display="inline">P_0^1</math>]] evolve according to the DDE of Equation 12, we focus on the two terms on the right-hand side. The first term [[Validation Pool#Vote|<math display="inline">p_3mf'(t)\frac{P_0^1(t)}{R(t)}</math>]] is the same as Equation 10, coming from the fact that the rate [[Validation Pool#Vote|<math display="inline">dP_0^1/dt</math>]] of newly generated policing tokens is proportional to the newly minted tokens as a fraction of the total active policing tokens [[Validation Pool#Vote|<math display="inline">R(t)</math>]]. These new tokens are minted in proportion to fees [[Validation Pool#Vote|<math display="inline">f'</math>]] and the minting ratio [[Validation Pool#Vote|<math display="inline">m</math>]] and the amount policing is rewarded [[Validation Pool#Vote|<math display="inline">p_3</math>]]. The second term [[Validation Pool#Vote|<math display="inline"> - \frac{dP_0^1}{dt}(t-L)</math>]] comes from the fact that tokens [[Validation Pool#Vote|<math display="inline">L</math>]] units of time old are expiring at the same rate they were added [[Validation Pool#Vote|<math display="inline">L</math>]] units in the past. | |||
The term [[Validation Pool#Vote|<math display="inline"> - \frac{dP_0^1}{dt}(t-L)</math>]] makes Equation 12 a delay differential equation<ref>Technically this is a '''neutral delay differential equation''' (NDDE), since the delay comes from the function’s past derivative, not directly from the function itself.</ref>, because the way [[Validation Pool#Vote|<math display="inline">P_0^1</math>]] changes at time [[Validation Pool#Vote|<math display="inline">t</math>]] depends on the moment [[Validation Pool#Vote|<math display="inline">L</math>]] units before the present. Such DDEs can be solved numerically for any practical choice of parameters [[Validation Pool#Vote|<math display="inline">p_3</math>]], [[Validation Pool#Vote|<math display="inline">m</math>]], and [[Validation Pool#Vote|<math display="inline">f'</math>]]. | |||
=== Attenuation function & policing === | |||
In this section we detail the formulas for a more complex tool that DAOs have at their disposal. The tokens can be programmed to diminish in value in much more complicated ways than merely programming an expiration date. We can instead design the DAO so that the tokens’ power shrinks (or grows) in value as time goes on. To do this we specify an attenuation function <math>L:\Bbb R \rightarrow \Bbb R</math> which means that a token minted at time <math>0</math> will have potency <math>L(t)</math> at time <math>t</math>. So <math>L(t)</math> is a multiplier for the value of any token minted at time <math>0</math>. This means that one token minted at time <math>0</math> pays out the fraction <math>L(t)/R(t)</math> of the fees the DAO earns at time <math>t</math> instead of the usual fraction <math>1/R(t)</math>. Typically <math>L</math> will naturally be constrained <math>0 \leq L(t) \leq 1</math>, but the formulas are valid for more general functions. In particular, these formulas can be used by a DAO’s governing body to account for the reputation tokenomics consequences from diminishing or enhancing older power according to any chosen design, which amounts to choosing a time formula for <math>L</math>. | |||
Here as before, <math>R(t)</math> represents the total amount of token power that exists in the DAO at time <math>t</math>. This is different from <math>R^T(t)</math> which is defined to be the total number of tokens ever minted (ignoring attenuation). As before <math>R^T(t)</math> satisfies[[Validation Pool#Vote|<math display="block">R^T(t)=R^T_0+\int_{0}^t m*f' (s)ds </math>]]<nowiki/>where [[Validation Pool#Vote|<math display="inline">R^T(0)=:R^T_0 </math>]] which gives[[Validation Pool#Vote|<math display="block">\frac{dR^T}{dt}(t)= m*f' (t). </math>]]This time, however, we have [[Validation Pool#Vote|<math display="block">R(t)=\int_{-\infty}^t L(t-s)\frac{dR^T}{dt}(s)ds. </math>]]''<small>Equation 13</small>'' | |||
To justify the form of <math>R(t)</math> in Equation 13, consider how at time <math>t</math> the term <math>L(t-s)</math> attenuates the tokens that have aged <math>t-s</math> units of time. The integral in Equation 13 sums all the tokens ever minted, with the term <math>dR^T/dt</math> over all times <math>s</math> before time <math>t</math> modified by how much they have attenuated in their current age <math>L(t-s)</math>. | |||
Assuming a single token was minted at time <math>t=0</math> the fees it earns is given by [[Validation Pool#Vote|<math display="block">f_0^{1,L}(t)=\int_0^t f'(s)\frac{L(s)}{R(s)}ds</math>]]Then as before, the present value of a single token with attenuation (but without policing) has present value [[Validation Pool#Vote|<math display="block">PVf_0^{1,L}=\int_0^\infty e^{-rt} \frac{d}{dt} f_0^{1,L} (t)dt</math>]] | |||
This is a DDE since depends on the past of for . | Finally, we add automated policing with parameter [[Validation Pool#Vote|<math display="inline">p_3</math>]] and the analogous quantity of active tokens under attenuation <math>L</math> is now denoted by [[Validation Pool#Vote|<math display="inline">P_0^{1,L}</math>]]. It is easier to keep track of all policing tokens earned from one token [[Validation Pool#Vote|<math display="inline">P_0^{1,U}=P_0^1</math>]] unadjusted by <math>L</math> which evolve according to the DDE[[Validation Pool#Vote|<math display="block">\frac{dP_0^{1,U}(t)}{dt} =p_3mf'(t)\frac{P_0^{1,L}(t)}{R(t)} .</math><math display="block">P_0^{1,L}(t) =L(t)P_0^1(0)+\int_{0}^{t}L(t-s)\frac{dP_0^{1,U}}{ds}(s)ds</math>]][[Validation Pool#Vote|<math display="block">P_0^1(0)=1</math>]]This is a DDE since <math>\frac{dP_0^{1,U}}{dt}(t)</math> depends on the past of <math>P_0^{1,U}(t)</math> for <math>s<t</math>. | ||
Using an attenuation function with non-zero derivative will improve the non-fungibility of the REP tokens. Technically two tokens minted at the exact same moment will be fungible if you ignore the possibility of slashing from review. However, similar to financial derivatives, any token minted at a different time is non-fungible with any token minted at any other time. This makes the market for REP tokens much shallower, which would result in REP tokens being more closely tied to its owner, decreasing the need for | Using an attenuation function with non-zero derivative will improve the non-fungibility of the REP tokens. Technically two tokens minted at the exact same moment will be fungible if you ignore the possibility of slashing from review. However, similar to financial derivatives, any token minted at a different time is non-fungible with any token minted at any other time. This makes the market for REP tokens much shallower, which would result in REP tokens being more closely tied to its owner, decreasing the need for KYC protocols. | ||
== | === Policing conclusion === | ||
The policing parameter determines the reward for policing, which motivates members to participate in the automated function or not. If it is high enough, then we can expect everyone in the DAO to participate, because it will | The policing parameter determines the reward for policing, which motivates members to participate in the automated function or not. If it is set high enough, then we can expect everyone in the DAO to participate, because it will be profitable. If it is on the edge of profitability, some will drop off, which will give greater reward to those who remain. | ||
Secondly, | Secondly, the higher the policing parameter is set, the more expensive it is to pay for a 51% attack arbitrage, which diminishes the arbitrage possibilities. | ||
Thirdly, the higher the policing parameter, the more old REP remains in the DAO, even with | Thirdly, the higher the policing parameter, the more old REP remains in the DAO, even with REP with bounded lifetime, because policing creates new REP from old REP. Even though policing REP diminishes in time, some subsequently generated policing REP will persist for all time, even though individual REP tokens have a finite lifetime. | ||
This leads to the problems identified with infinite life-time tokens, albeit in a diminished form. Older members have some advantage over younger members. However, in this respect it is more justified. Older members only have the minor advantage as long as they continue policing. If they ever turn off their machines, then all their REP eventually will be extinguished. | This leads to the problems identified with infinite life-time tokens, albeit in a diminished form. Older members have some advantage over younger members. However, in this respect it is more justified. Older members only have the minor advantage as long as they continue policing. If they ever turn off their machines, then all their REP eventually will be extinguished. | ||
== Applications == | |||
==Code== | |||
==See also== | |||
* [[Reputation tokenomics]] | |||
* [[Governance]] | |||
** [[Legislative governance]] | |||
** [[Judicial governance]] | |||
==Notes & references== | |||
<references /> |
Latest revision as of 14:51, 18 June 2023
Executive governance in DGF consists of automated policing of peer actions. The primary mechanism for executive governance is the Work smart contract (WSC), which sets the protocols for successful participation in the profit-making aspect of the DAO. The secondary executive governance mechanism is the Validation Pool, which is used to validate the completion of every WSC, using binding votes (voting against the majority results in loss of tokens) on the acceptability of all actions that affect the DAO.
Executive governance in a DAO is the active, direct control of ownership in the organization. Executive governance consists of policing who is allowed inside the group, how much power insiders have, and how outsiders can interact with the group. Executive governance is therefore the accounting of the lists of owners of the various types of tokens that have power to engage the DAO’s smart contracts, whether those owners are using their tokens according to previously established protocols, and whether outsiders who engage with the DAO are engaging properly. Inasmuch as a DAO is truly decentralized, this policing control must be ultimately democratic. Therefore, some sort of token-weighted voting is necessary. Inasmuch as executive governance is the process of executing the regulations that the organization has already agreed to follow, executive governance should be automated as much as possible. In a DAO this means algorithmic enforcement using smart contracts run on a decentralized computing platform.
Policing motivation[edit | edit source]
The most basic and strongest direct incentive a DAO member has for participating in the policing process is that they are rewarded with new REP tokens when they participate in the Validation Pool. Based on the policing parameter (which has default value ) and the rate of total fees the DAO earns, we can determine how valuable it is to participate in executive governance.
An indirect motivation for an individual to police is that it keeps the DAO, and therefore the individual's REP tokens, secure and valuable. A higher policing parameter motivates more participation, but it also makes it more difficult and expensive to achieve a 51% attack arbitrage.
However, a higher policing parameter makes finite lifetime REP tokens last longer, as new REP is automatically minted with fresh tenure. This leads to
Such motivations need to be weighed carefully when a DAO decides how to set policing parameter. The decision is clarified with a rigorous valuation of policing tokens.
It is assumed most members will not leave their reputation tokens unused, merely passively earning the reputation salary. At a minimum, most members can be expected to also use their REP for executive governance, that is, to automatedly police all actions in the DAO by participating in each Validation Pool. This will be typical when the reward for policing is sufficient to motivate members to participate in policing. This means the reward is more than the price to run the machines needed to participate.
Proper Policing means continually using the most recent version of the canonical front end, which runs the automated algorithms that vote in accordance with governmentally established soft protocols. We distinguish Proper Policing from general policing, because in a decentralized system Byzantine behaviors are possible. Anyone can choose to directly vote in any way, e.g., against the accepted standards of the DAO.
An example of policing is given in the first Bitcoin node software. Running a full node means your computer will store the entire information of every transaction on the blockchain and run the full software package for participating in blockchain consensus. This software package runs automatically and deploys the following protocol: Listen for new users’ proposed transactions (TXs), send those TXs to the network (this is the gossip network), collect all known TXs for the last 10 minutes into a block, calculate hashes to try to win the hash lottery for PoW (hash mining), submit your block for approval if you win the lottery, or check the other submitted block(s) are made according to protocol if you lose. The vast majority of participants in the Bitcoin blockchain skip most of these steps. They instead choose to run an edited version of a full node which limits their computing resources to the task of has mining so they can maximize their chances of winning the bitcoin reward. Policing, in this context, means the other steps in the process, which secure the network—participating in the gossip network and especially checking that the proposed blocks are formed correctly according to protocol.
How much is policing rewarded? In the Bitcoin network, there is no immediate incentive for policing. In more sophisticated PoS (proof of stake) consensus algorithms, such as Ethereum’s LMD-GHOST, policing rewards are built into the protocol. When a DAO implements a reputation mechanism, we need to account for policing rewards explicitly, so we can optimize the incentive. The formulas given previously show how much a token is worth for passively collecting the reputation-weighted salary. But in this section, we need to determine how much more a token gains by policing. Specifically, how much extra REP is gained automatically by participating in the non-contentious, binding validation pools that should result in unanimous decisions? If this value is not more than the price of running the machines necessary to execute the full version, then most users will eventually opt to execute simplified versions, which is a security threat.
Policing valuation[edit | edit source]
In this section we use tokenomics formulas to find the present value of automated policing, based on the work-to-policing ratio set in the validation pool. This will help guide DAO governance decisions for how to decide this parameter’s value to motivate more or less policing.
Infinite lifetime REP[edit | edit source]
Whenever a validation pool is opened with a fee of in fungible currency units, then reputation tokens are minted, and tokens are staked in the poster’s name and tokens are given to the bench for policing. Here gives the work-to-policing reward ratio of . Default is when work and policing are equal. When policing is augmented. When work is encouraged. The term “policing” may give the wrong impression, since automated policing may have a greater effect on how much entrenched power is protected, with encouraging new members to join and earn REP through work, and favoring older members who run the automated policing algorithms to protect their power. These claims will become more specific and obvious from the mathematical analysis that follows. In the end, these calculations will dictate how to set the policing reward parameter to motivate optimal policing and also whether to encourage new members to participate or to protect established members’ power.
As in the previous calculations, the rate of fees determines the present value of a policing token. The total number of tokens in a DAO is again given by
But the new REP tokens the single token earns by policing is governed by the parameter . For each fee that enters the DAO, the first REP token earns the fraction of the newly minted REP tokens, where the policing parameter is simply and is the number of tokens that participate in the policing actions. So . For simplicity, we will conservatively assume which is reasonable if is large enough to justify participation. However, this means our estimates will undervalue reliably active tokens, since all DAO members’ continual participation is not likely.
Now each token that the first token earns by policing will also earn further policing tokens at the same rate, ad infinitum. The tokens that result from this policing process from a single initial REP token is denoted by which satisfies the initial condition . So grows according to the ODE
which is separable and can be explicitly solved as
1 token which is actively policing then produces coins which together have the reputational salary given by the formula
To improve our intuition for these formulas and gain some mathematical perspective about how important policing is, next we make simplifying assumptions, such as constant or exponential fee rates .
Constant fees[edit | edit source]
For constant fees we get
We also can calculate the income stream of 1 token with policing and its present value under the assumption of constant fees:
Exponential fees[edit | edit source]
Now we assume, as above, the fees follow an exponential rate
This gives
Notice policing makes a qualitative difference under exponential fees, since a passive token had salary asymptotically linear, whereas policing gives asymptotically exponential salary.
This salary’s present value is
Even though exponentially growing fees gives an exponentially growing salary, notice that the original tokens, even if they all participate reliably in policing will be diluted in relative power according to
as so the DAO will predictably decentralize, even if the founders continually police the newcomers. The only way founders can maintain majority power is by bring the majority of new fees to the DAO by continually performing the majority of productive work.
Finite lifetime automated policing[edit | edit source]
For the case of REP tokens with finite lifetime, the ODE of Equation 7 becomes a delay differential equation (DDE)
with initial condition
Again, is the policing parameter, and the tokens that result from this policing process from one REP token is denoted with which have the reputational salary given by the formula
To explain why the policing token holdings evolve according to the DDE of Equation 12, we focus on the two terms on the right-hand side. The first term is the same as Equation 10, coming from the fact that the rate of newly generated policing tokens is proportional to the newly minted tokens as a fraction of the total active policing tokens . These new tokens are minted in proportion to fees and the minting ratio and the amount policing is rewarded . The second term comes from the fact that tokens units of time old are expiring at the same rate they were added units in the past.
The term makes Equation 12 a delay differential equation[1], because the way changes at time depends on the moment units before the present. Such DDEs can be solved numerically for any practical choice of parameters , , and .
Attenuation function & policing[edit | edit source]
In this section we detail the formulas for a more complex tool that DAOs have at their disposal. The tokens can be programmed to diminish in value in much more complicated ways than merely programming an expiration date. We can instead design the DAO so that the tokens’ power shrinks (or grows) in value as time goes on. To do this we specify an attenuation function which means that a token minted at time will have potency at time . So is a multiplier for the value of any token minted at time . This means that one token minted at time pays out the fraction of the fees the DAO earns at time instead of the usual fraction . Typically will naturally be constrained , but the formulas are valid for more general functions. In particular, these formulas can be used by a DAO’s governing body to account for the reputation tokenomics consequences from diminishing or enhancing older power according to any chosen design, which amounts to choosing a time formula for .
Here as before, represents the total amount of token power that exists in the DAO at time . This is different from which is defined to be the total number of tokens ever minted (ignoring attenuation). As before satisfies
To justify the form of in Equation 13, consider how at time the term attenuates the tokens that have aged units of time. The integral in Equation 13 sums all the tokens ever minted, with the term over all times before time modified by how much they have attenuated in their current age .
Assuming a single token was minted at time the fees it earns is given by
Finally, we add automated policing with parameter and the analogous quantity of active tokens under attenuation is now denoted by . It is easier to keep track of all policing tokens earned from one token unadjusted by which evolve according to the DDE
Using an attenuation function with non-zero derivative will improve the non-fungibility of the REP tokens. Technically two tokens minted at the exact same moment will be fungible if you ignore the possibility of slashing from review. However, similar to financial derivatives, any token minted at a different time is non-fungible with any token minted at any other time. This makes the market for REP tokens much shallower, which would result in REP tokens being more closely tied to its owner, decreasing the need for KYC protocols.
Policing conclusion[edit | edit source]
The policing parameter determines the reward for policing, which motivates members to participate in the automated function or not. If it is set high enough, then we can expect everyone in the DAO to participate, because it will be profitable. If it is on the edge of profitability, some will drop off, which will give greater reward to those who remain.
Secondly, the higher the policing parameter is set, the more expensive it is to pay for a 51% attack arbitrage, which diminishes the arbitrage possibilities.
Thirdly, the higher the policing parameter, the more old REP remains in the DAO, even with REP with bounded lifetime, because policing creates new REP from old REP. Even though policing REP diminishes in time, some subsequently generated policing REP will persist for all time, even though individual REP tokens have a finite lifetime.
This leads to the problems identified with infinite life-time tokens, albeit in a diminished form. Older members have some advantage over younger members. However, in this respect it is more justified. Older members only have the minor advantage as long as they continue policing. If they ever turn off their machines, then all their REP eventually will be extinguished.
Applications[edit | edit source]
Code[edit | edit source]
See also[edit | edit source]
Notes & references[edit | edit source]
- ↑ Technically this is a neutral delay differential equation (NDDE), since the delay comes from the function’s past derivative, not directly from the function itself.