Let the DAO decide “how much”
By: Pietro Speroni D. F.
Tags: Voting Methods, Dao, Dapps, Dash, Blockchain

Abstract

A technique to let a community speak with one voice

I present a technique to make decisions in an online community. The technique is simple to use, trivial to understand, and can be applied to a well defined wide range class of questions. The result is both representatives of the desire of the community as well as it approximates an expert’s decision.

Introduction

Right now there is a lot of excitement over the possibility to take decisions together. We have a vague sense that it is possible to take decisions together, and those decisions are bound to be better than the ones taken by policymakers. After all, given any question, we might have among “us” there is always an expert on that field. You need to fix a house, there is a plumber among us. You need to buy stocks, there is someone who is able to evaluate the fundamentals of a company, and so on. To say that this trust is misplaced would be incorrect. But surely the difficulty of realising what is the correct answer among a cacophony of wrong ones is greatly underrated. Voting can be a solution, but voting itself is not a simple process. There are many ways of voting, many ways of counting the votes, resulting in hundreds of possible processes. Each with its own properties. In this confusing context, it is important to start with the “low hanging fruits”. The simple solution that offers mathematically certain results.

Maybe the most simple form of voting is among two options. Do you prefer A or B? And if the majority of people chooses A we go with A and if the majority of people chooses B we go with B. Simple enough, right? This actually hides a lot of complexity. Who decides what are the two options? Who phrases them? And what if there are multiple options, like A, B or C? Now, this opens a conundrum of possible forms of voting. We are not going to explore this because this article wants to suggest that the lowest hanging fruit is in fact another. Not choosing among multiple, distinct, options (which then opens the question of who chooses the options), but choosing among a continuity of options as long as they lie (or can be placed) on a 1-dimensional line. Not only the voting will be more simple, but the result will be both more representative of the community and with a higher probability closer to the optimal solution. Sounds good enough, eh?

Now we need to explain how to do it, why does it work, when to apply it. And once we have all this we need to discuss how to integrate it in the DAO spaces that are been programmed right now.

How

Before explaining the whole mathematics of why does it work, I want to explain how does it work. Let us suppose we need to decide a number among us. Maybe we want to invest in a company and need to decide how much to invest in it. Or we need to decide how much to pay someone working for us. Or maybe we are taking a break from work, and need to decide how many days of vacation to take. The context does not matter much. The process is simple. Each person must vote their favourite number, and then we pick the median of all the voted numbers. It’s very important that we pick the median and not the average (also known as the mean), the reason will be clear after. If you order all the votes from the lowest to the highest one, the median will be the vote in the middle (if the number of votes is odd) or halfway between the two middle votes (if the number of votes is even). The standard voting procedures apply: you should not be allowed to see what others have voted before the end of the voting period… but in this case, it does not really matter; voting should be anonymous… but the system works also if it is not anonymous. In short, it is a very robust decision-making system.

Now that we clarified how to vote, let us dig into why this system works.

Why

Before describing how to vote when deciding a 1-dimensional value, let us take a detour through a more traditional voting scenario. Suppose we need to choose a result among several distinct possibilities (or candidates). As I mentioned before there are multiple ways to vote in this situation. And each system has different properties. One of those properties is the ability to pick the “Condorcet Winner” as the winner; if it exists.

What is a Condorcet Winner? It is a candidate that would win all pairwise comparisons.

What is a pairwise comparison? It is a simple voting event among two candidates.

So let us suppose we have three candidates, A, B and C. We would then have to make three comparisons, A to B, A to C and B to C. And if the majority would rather have A over B (we would write A>B), and the majority would rather have A over C (this A>C), then we can say that A is the Condorcet Winner. It should be noted that in this case, we do not need the result of the B to C comparison since we are interested in one winner (thus those systems are called “single-winner voting systems”). Also, ça va sans dire, the majority of people that voted A over B do not need to be the same majority of people that voted A over C. Some people will prefer A over B and C, but some people will prefer A over B but not C, and others will prefer A over C but not B. Yet when we compare A vs B, and A vs C, A wins in both cases. The A is a Condorcet Winner.

Now let us clarify one thing. Not always there is a Condorcet Winner. It is possible to have a situation where the majority of people prefers A to B, prefers C to A, but then counterintuitively prefers B to C. Thus we would have to write A>B>C>A. This would say that {A, B, C} form a cycle. A Condorcet Voting system (and there are multiple) would pick the Condorcet winner when it exists. And if it does not exist… different systems will act differently. Some systems for example pick a completely different procedure in this case. Others compare by how much A is preferred to B, B to C and C to A to decide which preference is weaker and ignore that preference. And so on.

Calculating the Condorcet Winner is also not always easy. Usually, it requires asking all participants to order all proposals from the one they like most to the one they like least. And then the counting algorithm will extract the information on what would happen if we were to run all the necessary pairwise comparisons. But this process can be cumbersome if done by hand.

Now let us move back to our 1-dimensional problem. We want to extract one value out of a continuum. And (secondary important requirement) each participant will have one value they prefer, and their preference will decrease as we move away from this favourite value. This secondary requirement is called being “single-peaked”. Suppose we are evaluating how much to invest in a company, and I would like that we invest 10% of our working capital. Let us associate to each percentage a number between 0 and 1 that associates how much do I like it. We associate 1 to 10% because that is my preferred value, and then it goes down in both directions. The result might look something like this:

Example of a single peak preference. The voter prefers a result. Any other result will be liked less and less as it moves away from its favourite result.

It does not matter at what value the peak is, it does not matter how steep the side of the peak is, it does not matter if it is symmetric, nor if it decreases always in by the same speed, or it changes steepness. It only matters that there is a single peak, and the value decreases monotonically as we move away from it. Then we can say that my preference in this system is “single-peaked”. Now let us suppose that not only is my preference single-peaked, but everybody’s preference is single-peaked, too. Everybody has their own favourite value. For each will be different, for each the steepness will be different. It does not matter. This is why I like mathematics, it cuts away the irrelevant element letting you focus on what is important. And what is important is… that in this case… (drum rolls) there is a Condorcet winner among all the possible values. Yes, we could make all infinite pairwise comparisons among all values and we would find one value that wins over all others. Not just between 5% and 15% but between 3.544587% and 4.457547%, and so on. Can’t you see the incredible importance of this result? Out of an infinity of results, it extracts the single value, the single winner, that is preferred by the majority over all others. How incredible is this? And how is it done? In the simplest way: each participant votes for their favourite value. No other information is necessary. No information over how steep the two sides of the peak are. Most people would not even know it. Instead, just the value with the highest preference and that’s it. Then once the voting algorithm has all the favourites values it can easily extract the Condorcet Winner. This is done by extracting the median of all the voted values. How simple is that?!

This was proven in 1948 by a British mathematician called Duncan Black. And it is thus called Duncan Black’ Single Peakedness Theorem, or simply Black’s Theorem.