A critical but still missing element for successful implementation of DAOs and collaborative DApps is a decentralized governance system: an efficient and resilient engine for collective decision-making, at scale.

The greatest challenge of distributed consensus is to enable an efficient navigation of the collective attention: too much of collective attention on certain things conflicts scalability, but insufficient collective attention on other things conflicts with resilience.

This is the fundamental “scalability problem” appearing in any decentralized governance/consensus system.

Any resolution of this tension will allow minority decisions that are guaranteed to be in strong correlation with the majority “truth”. That can be taken to be the definition of coherence.

“Holographic consensus” is a solution of this sort (analogue to off-chain computation), which is detailed over a series of blog posts, the first of which is this:

You could have a system where initially a small number of users are picked, and in case of unanimous or near unanimous decision, the veridict is reached, otherwise of a tighter split a large group is formed.

In this case, easy decisions will be reached faster, and tighter decisions will require attention from more users.

As an example, you first pick 8 random users and let them vote for a binary decision. If you get 8 or 7 votes yes (or no) the verdict is reached. Otherwise mark the verdict as undecidedd and pick 8 more users. If out of 16 total users, say 16, 15,14, or 13 vote yes (or no) then the verdict is reached, otherwise, you randomly pick 16 more users, and so on.

What the description above informally describes is you replace global voting by small sample voting, but then require supermajority to account for statistical fluctuations on small samples. The supermajority requirement weakens as you move to large samples, so you are guaranteed to reach a verdict at some point.

This all can be defined mathematically I believe, based on probability theory. Basically, one needs to define a supermajority cutoff function

Sm = F(N, r), where N is the total size of the sample, and r is the majority vote (the minority vote is then N - r). You start with a small sample, and then double if the required level of supermajority is not reached, and stop and issue a verdict if you achieve the supermajority as defined at the current sample size.

As an example, you first pick 8 random users and let them vote for a binary decision. If you get 8 or 7 votes yes (or no) the verdict is reached. Otherwise mark the verdict as undecidedd and pick 8 more users. If out of 16 total users, say 16, 15,14, or 13 vote yes (or no) then the verdict is reached, otherwise, you randomly pick 16 more users, and so on.

In that case, it would be important to use a selection algorithm where nobody knows who was selected but only the selected should be able to proove that they are allowed to vote .
if this is not guaranteed bribing attacks are very easy.

There is an under-the-radar project in development I’ve been following over the years called Tau, a collaboratively self-amending program designed to scale human collaboration and knowledge building. IMO it’s the best approach I’ve seen to scalable governance, and it introduces some very interesting concepts: http://www.idni.org/blog/the-new-tau

Generally any effective large-scale governance needs to have certain mechanism to allow for small-group decisions on behalf of the greater majority, that are guaranteed to be in good correlation with it.

The first mechanism that I’m aware of is analogous to off-chain computations (where agents can stake tokens against the outcome of a certain proposal), on which I will expand in the 2nd coming blog post.

The second way that I’m aware of is indeed the one you mention, which is analogous to dynamic sharding, where random sets are chosen and supermajority is required accordingly, just as you describe.

However, let me point to two weaknesses of the second approach (and thus my current focus on the first, although I believe eventually we might have both in conjunction):

As mentioned above, randomness is subtle, and, while I’m not claiming it’s unsolvable, I would at least say that randomness here is critical, and is not a trivial issue (although perhaps solvable, as argued).

More importantly, note that this second approach relies on proposal-agnostic statistics, which is problematic. Let me try to explain:

If there’s a certain fixed probability to “attack the system” (= succeed in passing a proposal that is not in correlation with the greater-majority will), and there’s a certain fixed price for submitting a proposal, then I can easily submit enough proposals that are benefitting enough (i.e. enough money sent to me) to make it profitable / attackable.

The point is that in a fully decentralized governance system you cannot allow for a “small probability” to make “very large mistakes”. You may be ok with a “small probability” for “small mistakes”. The problem/subtlety is to programmatically weigh the “size of a mistake”. In terms of transactions of tokens it’s perhaps easier, but what if the contracts can do other things, such as assigning reputation (what is “small”? depending on some factors), or changing the protocol (this is potentially definitely not small), etc.

Not unsolvable, but just pointing out the subtlety.

The advantage of the first method (to be expanded over next time) is that you use cryptoeconomics to bound mistakes. In other words, whenever there exists a potential for a mistake / attack to take place, there is a clear and well defined potential to make profit for whoever identifies the mistake. That guarantees a market-like, dynamic resistance to attacks (so that people weigh the criticality of mistakes rather than programs).

Thanks @miles2045. I know Ohad (the founder and scientist of Tau) for years.

I wasn’t aware about a solid achievement on general, decentralized and scalable governance systems, but I will definitely check in again with him and hope to learn new things.

To my best knowledge, a scalable governance system has not been implemented yet, not even on paper. I think we’ve finally got all ingredients in place (on paper and in code: https://github.com/daostack/arc ).

I’ll release the 2nd post describing the protocol in the coming weeks and would hope to get the feedbacks of the community. Working DApps/DAO using this protocol will follow soon.

@fmatan I am about halfway through the Democracy Earth white paper. They are offering a solution for governance on the blockchain with organisations of any size. The governance is set accordingly by the organisation, but there are a range of voting and other methods. I haven’t had time to read your post yet.

From a very (very) quick look at the Deomcracy Earth white paper it seems to me that we have a slightly different focus then them.

Firstly, if I grasp it correctly (by a few sec look) they’re focusing on vote-per-identity paradigm => and then the need to verify identities. This is a very legitimate use case, though I’m more interested in general DAOs whereby an agent can be a group of people, and vice versa, a person can have 10 identities. What matters for an agent is only its “voting/impact power”, or reputation (though DE use this word for something else).

Secondly, it seems that their main method for scaling governance is Delegation. While it is very legitimate and useful, again, I’m focused on a much more flexible method. Delegation would generally lead to semi-centralization (although voluntarily) and degradation of the collective intelligence. Holographic Consensus actually allows decision making take place at the edges (which is quite different from classic delegation), and I would argue it induces the collective intelligence significantly.

Nevertheless, let me just note that I’ve met before the people of Democracy Earth and that they’re very talented and impressive. They’re just working on a slightly different direction, designed more towards “classical systems” on the blockchain (more efficient and scalable) rather than DAOs in sense of completely new form of organizations.

@fmatan, thanks for your comments. I need to prioritise looking for work, but if I get a chance to read your posts I’ll let you know my thoughts on them, but it might be a while until I find some time to set aside.