Forum reference mechanisms
The specific reference mechanisms which support basic judicial governance under DGF are leaching and donating. Combined with an incinerator function, these primitives are complete, in the sense that any reweighting possible for any possible Forum WDAG, may be achieved.
Primitives
Leaching, donating, and incinerating are primitives of all possible reference mechanisms. This means any complicated type of revaluation mechanism can be achieved by combining these three primitives in series.
??detail the three types
Leaching
??
Leaching reference code
Main page: Leaching reference code
Donating
??
Donating reference code
Main page: Donating reference code
Incinerator
??
Incinerator code
Main page: Incinerator code
Governance examples
Transferring value from one post to another
The figure displayed illustrates a scheme for redistributing power from Post1 to Post2.
In this case we can imagine governance concluding that Post1 was bad and Post2 was good. Then governance makes Post3 with power 10 REP and validates it. Then in the displayed example the Forum WDAG has been revaluated, i.e., re-weighted. This is the primitive that allows governance to review previous judgements and correct mistakes made in the past. The incinerator is a complication that allows this re-weighting action to keep the total graph weight constant.
This isn't the only way to achieve re-weighting. Every approach has its own advantages and disadvantages. This approach encourages stability because it is particularly inefficient. E.g., it costs 10 to move 10, and 10 REP is destroyed. So conscious effort is required to reweight the Forum to correct past mistakes. This effort requires the sacrifice of 10 REP on the part of those who make the change (the 10 REP from Post3 was governance value).
However note that in this case, the 10 REP "sacrifice" will not burden any particular member to achieve the revaluation, if it is done in concert with the governance tax. In this case the governance tax is free since the total amount of REP in the DAO before and after the revaluation is unchanged, because the excess governance tax is incinerated.
Completeness
A set of reference primitives is complete if any finite WDAG can be changed into any other finite WDAG through a finite series of new posts. (Equality of WDAGs here is measured by weights. A WDAG which includes a post with 0 REP value is equal to a WDAG that deletes that post.)
The single mechanism of simultaneous donation and leaching is complete when combined with the incinerator mechanism, as we now demonstrate.
Proof of completeness:
Given post1
with weight W1
we can reweight it to any other weight W
by creating post2
which donates to post1
if W1
< W
or leaches from post1
if W1
> W
. If leaching is required, post2
simultaneously donates to the incinerator all the value it has. Thus post2
ends with 0 REP value.
This is not the end of the proof, since other posts in the sub-DAG of referenced ancestors are now changed, as well as the set of descendants affected by leaching from post1
. However, each of these changed ancestors and descendants can then be reweighted in the same manner sequentially in the order of closeness to post1
without affecting previous posts in the sequence. Since the graph is finite this sequence will end in finitely many steps.
Now, since this graph is a finite DAG, it has a finite number of roots. Pick any root and treat it as post1
was in the previous paragraph. Then continue through the sub-DAG of its descendants in order of closeness to the root. Then continue through all other roots, in any order, until the entire WDAG is reweighted.
End proof.
Alternate primitives
Absolute redistribution bounded by the value of a post
Another complete set of primitives exist which are more restrictive. For example, an even more restrictive governance protocol would only allow the sum of absolute values of redistribution to be less than the value of a post. In this case, for instance, a DAO would use Post3 to only leach 10 and incinerate it. Then a Post4 is required to donate 10 to Post2. With this restriction it would take 20 REP and two posts to achieve the same redistribution that 10 REP completes with one post as demonstrated in the previously displayed figure.
This same limitation could be enforced under the previous hard protocol primitives by instituting a soft protocol requiring it in all posts. Therefore we consider the previous primitives as a better default for DAO governance.
Governmental fiat
Consider another system that a DAO may choose is much less inefficient, but also less stable. We can alternatively program primitives that give governance complete control by fiat. Specifically, a DAO may choose to make a primitive which allows any redistribution desired without any cost in REP. In this case, as long as an arbitrary redistribution was validated it could be achieved if the DAO allowed that primitive.
In general, this is much more dangerous than the previous examples of primitives, because one validated post could put all the value of the entire WDAG into any new account the poster wishes. However, it would be extremely efficient if the DAO wishes to move quickly and trusts its governance.