I’ve long been a proponent of Liquid Democracy as means of scaling more direct governance by allowing the creating of a dynamic/bottom-up hierarchy. It is my first choice for allocating authority within a large organization that is faced with a wide range of decisions because it ensures that individuals always have the option to wield their authority directly or delegate it, and can switch between the two seamlessly. However, a persistent challenge we have identified as we have pursued development of an ethereum implementation of liquid democracy, is the computational costs associated with keeping track of delegation chains have proven challenging to overcome while ensuring a solution which is both secure and practical. For a summary of these issues I recommend reviewing the Open Challenges for on-chain Liquid Democracy. These costs must be paid in order to delegate or un-delegate, and in order to transfer the asset it must be un-delegated. If we want the asset to be used as currency/collateral as well as governance its important that transaction costs are minimized.
Due to these concerns about scalability and cost, its worth exploring some alternative approaches to delegative voting that might provide some of the same advantages of Liquid Democracy while minimizing the complexity and cost of tabulation. Hopefully in the future, things like secure off-chain computation oracles will make cost less of a concern.
Simple Proxy Voting
Allowing one-hop delegation removes the need to manage a delegation chain, this means that the costs to delegate or un-delegate for a given topic is both constant and relatively small. The cost O(N) where N is the number of topics that can be delegated on.
This offers many of the same benefits of Liquid Democracy, it allows users to delegate and un-delegate their authority to users they trust at any time. It does not allow for the formation of bottom up chains of trust. For example, If I don’t have a personal trusted relationship with someone I consider a direct authority, I cannot delegate to someone I trust to pick an authority on my behalf. Instead I must either vote directly on a topic I may not consider myself qualified to assess, or delegate directly to someone I know only loosely act on my behalf.
Another approach is to delegate topics based on elected councils. These councils can be used to represent passive participants in the process.
When an issue is presented for a vote, both the results of the council’s vote as well as the results of the general vote can be considered. This process can be used to represent the intent of passive participants, by biasing how “absentee” votes depending on the result of both the general vote and the council vote. The following diagram summarizes how this works for a given proposal:
The amount of bias can be absolute (eg all absentee votes are counted as ‘nay’ in a ‘nay’-bias vote, or can be a function of voter turnout, so the greater the turnout in the stakeholder vote, the less bias (and therefore power) the council has on the issue.
A specific approach following this pattern is being implemented for governance of the polkadot network.
Compared to Liquid Democracy, this voting procedure does not allow individuals to delegate their voting authority to an individual, but instead passive voters as a whole have their interests represented by a council. Unlike traditional representative democracy, all issues still must pass a vote consisting of all stakeholders, but the council has significant influence on how easily certain proposals pass, particularly in cases where proposals are either unpopular or broadly accepted among the council.
The big advantage over proxy voting and Liquid democracy is that from a cost perspective this allows users to vote for councils, and vote on any number of topics with the cost to un-stake remaining constant.
I’m really interested to understand what people thoughts are on the tradeoffs between these different approaches and their implementations should be prioritized.