DemocracyEarth / wallet

Censorship resistant democracies.
https://democracy.earth
MIT License
1.5k stars 286 forks source link

Proposal : new votes allocation #100

Closed virgile-dev closed 6 years ago

virgile-dev commented 7 years ago

This proposal aims at finding a response to the question "What do I do when I used all my votes?"

Some of the system design behind our first release of Sovereign is directly inspired by the Satoshi Nakamoto's economics of Bitcoin. One example is vote scarcity, when a collective start its collective it can parameter the number of votes allocated to each user when they signup. Votes are not tied to a particular proposal and a user can cast more than one vote on them (intensity voting).

In such condition members of the collective not only have to position themselves according to the proposal but also be smart on how they allocate their voting resources. (Game theory, cost opportunity).

As we've been experimenting in this particular environment really interesting member behaviors have emerged and the feeling we have is that this setting makes voting much more interesting and dynamic for the users as it becomes more complex (not binary).

The problem with this is that it doesn't work in the long run because people will eventually run out of votes. We've been thinking of ways to allocate new votes :

We even starting doubting about users being able to allocate multiple votes on a single ballot. At one point we started thinking, "why don't we fully embrace Satoshi Nakomoto's design principles of Bitcoin for our governance system". And that's how we think we might have cracked it, here is how.

Bitcoin economics are very simple its basically the same as gold extraction. There is finite amount of gold on earth and to benefit from it you have to extract it form the soil mining. There are is finite amount of Bitcoin and to create Bitcoins miners have to solve complex cryptographic problems use computational power. A number of Bitcoins (plus transaction fees) (12,5 BTC currently, halves every four years) are allocated for them miners who solve the complex cryptographic problem and installs and brings consensus to the rest to the networks allowing to create a new block that is link to the rest of the chain. One particular thing that is interesting with the Bitcoin protocal is that the complexity of cryptographic problem it gives for solving to the miner is bound to the numbers of computers competing to solve it, so if less people mine Bitcoin it will give easier problems to solve to make Bitcoin mining interesting again and vice versa.

So how can we apply this to Sovereign's votes allocation system?

Feedback is most welcome :)

We started discussing this on a sovereign instance a few weeks ago : https://sovereign.opensourcepolitics.eu/vote/votes-allocations-in-the-long-run-for-sovereign-satoshi-nakamotos-way

Goutte commented 7 years ago

This is brillant. How would new votes be allocated fairly to users ? Would mining votes be a thing ?

brylie commented 7 years ago

Admittedly, I don't understand much about cryptocurrency. However, mining votes might favor people with computing power, e.g. server farms, botnets, etc., creating a technological elite that could undermine the democratic process.

See, for example:

LucasIsasmendi commented 7 years ago

@brylie I think in this case, mining vote is not related with computer power, is related with voter consensus among one proposal. The missed piece here is that this scenario is for "open discussions", which means that at the beginning there is not a list of proposals to vote.The main idea is to have a topic to get a collective decision. Example: user A creates a new proposal A, 65% of all users agree with proposal A, all users get 65 extra votes (mining), user B creates a new proposal B, 75% of all users agree with proposal B, all users get 75 extra votes (mining), user C creates a new proposal C, 35% of all users agree with proposal C, no consensus, no mining, no new votes.

herbstephens commented 7 years ago

Thanks, Virgile. Good puzzle. Santi is back in SF Sunday .. and we will be meeting Mon/Tue and will discuss this. Meanwhile .. have you considered sending out a block of shares to each voter .. and limiting the ‘spend’ to (let’s say) 10%? For a ‘YES’ vote, one would send 10% back to the sending address. (others would do the same…so when 5% of voting round total is his…have a majority) Otherwise, to propose an alternative, one would generate a PK and send 10% to that new address. Others in the voting registry can do the same. [send 10% to either 1) original or 2) new.] And so forth. Something like this possibly work for the issue? -Herb

On Dec 28, 2016, at 10:06 AM, virgile-dev notifications@github.com wrote:

This proposal aims at finding a response to the question "What do I do when I used all my votes?"

Some of the system design behind our first release of Sovereign is directly inspired by the Satoshi Nakamoto's economics of Bitcoin. One example is vote scarcity, when a collective start its collective it can parameter the number of votes allocated to each user when they signup. Votes are not tied to a particular proposal and a user can cast more than one vote on them (intensity voting).

In such condition members of the collective not only have to position themselves according to the proposal but also be smart on how they allocate their voting resources. (Game theory, cost opportunity).

As we've been experimenting in this particular environment really interesting member behaviors have emerged and the feeling we have is that this setting makes voting much more interesting and dynamic for the users as it becomes more complex (not binary).

The problem with this is that it doesn't work in the long run because people will eventually run out of votes. We've been thinking of ways to allocate new votes :

New votes are issued as new proposals are created

New votes are issued periodically (d/w/m/y)

We even starting doubting about users being able to allocate multiple votes on a single ballot. At one point we started thinking, "why don't we fully embrace Satoshi Nakomoto's design principles of Bitcoin for our governance system". And that's how we think we might have cracked it, here is how.

Bitcoin economics are very simple its basically the same as gold extraction. There is finite amount of gold on earth and to benefit from it you have to extract it form the soil mining. There are is finite amount of Bitcoin and to create Bitcoins miners have to solve complex cryptographic problems use computational power. A number of Bitcoins (plus transaction fees) (12,5 BTC currently, halves every four years) are allocated for them miners who solve the complex cryptographic problem and installs and brings consensus to the rest to the networks allowing to create a new block that is link to the rest of the chain. One particular thing that is interesting with the Bitcoin protocal is that the complexity of cryptographic problem it gives for solving to the miner is bound to the numbers of computers competing to solve it, so if less people mine Bitcoin it will give easier problems to solve to make Bitcoin mining interesting again and vice versa.

So how can we apply this to Sovereign's votes allocation system?

When a collective creates an instance a finite number of votes are available in the system, votes are thus made a scarce resource that has to be used carefully by the users.

Just like with Bitcoin new votes are created when a problem is solved, hence a decision is made, consensus is reached.

When vote get scarce more consensual proposals can be made by members of the group so decision can be made, leading to the creation of new votes (forcing the group to come together on smaller issues to later tackle more controversial ones).

The limited number of votes in the system guarantees that members abuse (overuse) this easy vote creation features.

Feedback is most welcome :)

We started discussing this on a sovereign instance a few weeks ago : https://sovereign.opensourcepolitics.eu/vote/votes-allocations-in-the-long-run-for-sovereign-satoshi-nakamotos-way https://sovereign.opensourcepolitics.eu/vote/votes-allocations-in-the-long-run-for-sovereign-satoshi-nakamotos-way — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/DemocracyEarth/sovereign/issues/100, or mute the thread https://github.com/notifications/unsubscribe-auth/AKjRVrlATiW7rmBjyE9_yEI7UE62hOYzks5rMqUggaJpZM4LXFzN.

santisiri commented 7 years ago

Great thread, I've been thinking along this direction.

@brylie regarding mining it all varies on the kind of algorithm being used. Proof of Work rewards computing power while Proof of Stake is less intensive as it uses current stakeholders to act as validators. PoW is core to Bitcoin while PoS is being transitioned into in Ethereum.

But within Proof of Work you can implement the hashing using scrypt that will use memory rather than processing to perform the proof. This is the implementation made by Litecoin (hence its name and the reason that can be easily mined with average computers).

virgile-dev commented 7 years ago

Hey @herbstephens, I'm not sure I get the "10% of a share block idea". Could you try to break it down for me?

Also very glad that this was our 100th issue!

herbstephens commented 7 years ago

= Basic Income

On Fri, Jan 6, 2017 at 3:08 AM virgile-dev notifications@github.com wrote:

Hey @herbstephens https://github.com/herbstephens, I'm not sure I get the "10% of a share block idea". Could you try to break it down for me?

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/DemocracyEarth/sovereign/issues/100#issuecomment-270882801, or mute the thread https://github.com/notifications/unsubscribe-auth/AKjRVqMwGf1iv0A57R9DwRgwaGyIZYUpks5rPiCqgaJpZM4LXFzN .

herbstephens commented 7 years ago

Hey Virgile .. sorry, I misunderstood the 10% question .. when I answered with ‘basic income’. Ha .. probably best to chat through what I was thinking…

On Jan 6, 2017, at 3:08 AM, virgile-dev notifications@github.com wrote:

Hey @herbstephens https://github.com/herbstephens, I'm not sure I get the "10% of a share block idea". Could you try to break it down for me?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/DemocracyEarth/sovereign/issues/100#issuecomment-270882801, or mute the thread https://github.com/notifications/unsubscribe-auth/AKjRVqMwGf1iv0A57R9DwRgwaGyIZYUpks5rPiCqgaJpZM4LXFzN.

virgile-dev commented 6 years ago

This has been largely discussed in the paper https://github.com/democracyEarth/paper hence closing