I propose the following idea. Not sure if it is new, but to be sure I will say.

Voting on a certain payment value may be stuck, when several parties insist on $100 and several on $200 and they don’t compromise on $150. I propose a solution:

We could allow every user to specify a value and take some average. It can’t be the arithmetic or geometric average, because if one user of 20 specifies septillion dollars the average would be near septillion.

So before taking the average, convert the (nonnegetive) value v to a value in the range 0…1: w = 1-(1/(v+1)) then take an average (say arithmetic of geometric) and then convert back by the reverse formula v = (1/(1-w)) - 1.

Good idea? We could try to improve it by experimenting with such things as logarithms.

Let us discuss and write an Aragon app for such real numbers voting.

Another alternative to consider is to replace w with w’ = 1-w and take an average (such as the arithmetic one or the geometric one) on w’ instead of w.

If the average is arithmetic, there is not change in the end result when we replace w with w’, however this replacement would somehow decrease gas expenses of the contract implementing these calculations.

So, we also should consider to replace v with ln v (natural logarithm of v) before applying the first formula and the replace it with exp v after applying the second formula. That is work with ln v instead of v.

However, I have no idea how is it better with or without this logarithmic scale. The trouble is that up to the moment I invented no criteria to decide which of these two variants is better.

Please brainstorm to decide the criteria of deciding what is better, to apply the above formulas directly or to v replaced with ln v and then decide which of the two variants (or something other?) to choose for my proposed app.

Maybe the app should have the option to decide whether we use or not the logarithmic scale?

“Use logarithm” sub-idea should be rejected for the following reason:

First, it should be not v -> ln v but v -> ln(v+1) to eliminate negative logarithm values (I remind that v or v’ should be in 0…1 range). But the formula v -> ln(v+1) is also wrong, because v may be an amount of money and +1 makes no sense for money because of the dimension issues (1 token makes no sense, it depends on the token value and makes no absolute sense).

So, I remind my idea as stated initially:

For voting about a numeric value (such as the size of a payment) allow every voter to specify any nonnegative number and take the average.

But before taking the average, convert the value v to a value in the range 0…1: w = 1-(1/(v+1)) then take an average (say arithmetic of geometric) and then convert back by the reverse formula v = (1/(1-w)) - 1.

If we multiply v by a constant, the outcome of such a voting would change not proportionally to that constant. That makes no sense as it means that results depend on the price of a single token, not just on the price of the decision, that’s a bad dependency.

Let us try to make this “mathematically correct” (I mean not depending on the price of a single token).

Let w = f(v) where f is a strictly increasing continuous function. Let A(w1,…,wn) is some average. Then we want f^{-1}(A(f(cv1),…,f(cvn))) = c*f^{-1}(A(f(v1),…,f(vn))) for every positive constant c.