Author Topic: Voters are more mobilized when they are preventing something  (Read 1602 times)

0 Members and 1 Guest are viewing this topic.

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
I have been trying to push the "delegate proposal ratified by shareholder vote" model for a while now that has similar features to what you describe here.

The idea is to make delegates basic block producers only. They also produce price feeds and they put proposals up to be voted on by the shareholders. They each get paid the same basic salary for doing these tasks.

If at least 51 delegates agree to put up a proposal to be ratified by shareholders, the proposal shows up in the users' clients. Users can then either approve or disapprove the proposal (or they can just take the default neutral position). Define S = (percentage of stake approving of proposal) - (percentage of stake disapproving of proposal), and V = (percentage of stake that is not neutral on the proposal) = (percentage of stake approving of proposal) + (percentage of stake disapproving of proposal).

We define some function f(S, V). For example, f(S,V) = S - 0.15*(1-V). If N blocks have passed since the proposal was put up for ratification (say N = 8640, or 24 hours), AND f(S,V) ever becomes positive for the proposal, then that proposal becomes ratified and goes into effect.

The proposals could change many things in the way the DAC/blockchain operates. The changes to the DAC most relevant to this discussion would be paying a salary to a specific worker (any BTS account; they wouldn't have to be delegates). The proposals could hire, fire, and change the salary of workers. So there would be no need to keep the proposals active to check if the number of vetos grows above the number of votes. If people want to fire someone because they are doing a bad job, the delegates just create a fire proposal for the specific worker, and the voters are motivated to vote on that proposal to get rid of the bad worker. The dilution caps that limit how much of a salary the workers could be paid in aggregate would of course still be in place and could only be changed by majority approval.

A proper choice of the f(S, V) function will create the incentive structure similar to the one you desire where things happen unless there is clear opposition against it. With the example function I gave above, the demands on voter participation might be too strict: there would need to be 12.4 yeas to every nay with 15% voter participation. The function could be adjusted to account for larger voter apathy.  For example, with f(S,V) = S - 0.02*(1-V), the proposal could pass with just 3.9% voter participation as long as there were at least three times as many approval votes as there were disapproval votes.
« Last Edit: November 24, 2014, 09:36:55 pm by arhag »

zerosum

  • Guest
I believe this is the 4th proposal to address what is currently a flawed system.  IMO any of the 4 proposals I'm aware of are an improvement.  Yours included. 

arhag/agent86/myself are the other 3, btw.

btw, arhag has like 3 or 4 of them, each consecutive one requiring less and less changes to the current system...just saying.

Offline gamey

  • Hero Member
  • *****
  • Posts: 2253
    • View Profile
I believe this is the 4th proposal to address what is currently a flawed system.  IMO any of the 4 proposals I'm aware of are an improvement.  Yours included. 

arhag/agent86/myself are the other 3, btw.
I speak for myself and only myself.

Offline fluxer555

  • Hero Member
  • *****
  • Posts: 749
    • View Profile
Is there any way to structure the voting to incentivize stakeholders to vote to prevent things, rather than allow things?

The binary candidate structure of the US presidential elections mobilizes voters not only because they want 'their side' to win, but also because they don't want the agenda of the opposing side to be forced upon them. I think it is possible to utilize this voting motive without the binary structure.

Allowing voters to vote IN delegates, while simultaneously allowing voters to VETO their dilution proposals, seems to be the way to do this.

Example (open to suggestions):

1. Stakeholders vote in delegates into a basic 'block producer' that by default gets 3% max dilution.
2. After 2 weeks of producing blocks, delegates are able to submit a proposal for increased dilution pay. (They can be campaigning for these two weeks before the official proposal is submitted on the blockchain.)
3. During a 2 week period after the proposal is made, stakeholders can vote to veto this proposal, as long as they are not voting for the delegate as a 'block producer'.
4. After this 2 week period, the delegate starts getting his proposed pay, UNLESS the number of votes to veto is greater than the number of votes for the delegate.
5a. After the delegate starts getting pay, if the number of votes to veto ever exceeds the number of votes for the delegate for longer than a period of 2 weeks, then the delegate stops getting dilution pay.
5b. After the delegate stops getting pay, if the number of votes for the delegate ever exceeds votes to veto for longer than a period of 2 weeks, then the delegate starts getting dilution pay again.

This essentially takes the advantages of what we used to have with 'down votes', without any of the disadvantages.

- You no longer have to vote for other delegates to 'vote someone out' of their dilution pay, as you can take it away directly.
- Voting out delegates as said above also leads to uninformed votes, and this veto structure avoids that
- Delegates that are not obviously bad actors will get their pay, as long as they have enough support
- 'Watchdog' groups will form to assess dilution proposals, and will be able to quickly and efficiently keep the group of paid delegates immaculate.

Thoughts?