Author Topic: Negative Votes Coming back in Next Dry Run  (Read 12699 times)

0 Members and 1 Guest are viewing this topic.

Offline bitmeat

  • Hero Member
  • *****
  • Posts: 1116
    • View Profile
I agree. I think negative votes will open another can of worms - people will pay for negative votes. There are times where they seem much needed though.

Offline bytemaster

Any system that allows delegates to be removed by any method other than shareholder action opens the network up for attack because the "attack chain" could simply use that same logic to boot all the good guys.   A large part of our security comes from the fact that shareholders must vote to change out the delegate pool.  This forces the longest chain to always be the chain with the most shareholder participation.

For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline liondani

  • Hero Member
  • *****
  • Posts: 3737
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani
Considere something else:
Maybe deppended  on % delegate participation to remove the last active delegates on every round... (NOT RANDOM)

if 80% participation, remove the last 20% of active delegates and replace them with the first delegates in the standby list...
if 95% participation, remove the last 5% of active delegates and replace them with the first delegates in the standby list...
if 60% participation, remove the last 40% of active delegates and replace them with the first delegates in the standby list...
etc. etc.

normaly the participation % will go up until it reach a equillibrium point that is the highest possible depended on delegates average accuracy...
and you give oportunitys for potential better delegates to get active !!!

Can you define % participation? Is it for the last round of 101 blocks, is it per candidate? Do you mean reliability for each delegate?

I agree a system which gives a delegate who fails to produce block a time out for awhile would be best.

e.g. if there are 5 consecutive missed blocks - that could be anything, could be that their network is just down, even if they have a bad ass equipment, why should they continue to get bad statistics, when they could be removed temporarily, say for an hour or two.

I mean % participation for the last round of 101 blocks...
but you are right it makes better  sense that the system removes temporary only delegates that missed blocks in a row
or even better if it removes delegates  which reliability % for the last x blocks they produced, (compared with their  average reliability) drops to much (for example 30%)

Offline GaltReport

After doing much thinking and learning from experience with recent dry runs I have concluded that we need to have negative votes. 

A negative vote is morally equivalent to a vote of approval for "everyone but X" like a positive vote is the moral equivalent as a vote of disapproval for everyone but Y. 

In a world where the squeaky wheal gets the grease, it is far more likely that the average user will know more about who they are against than who they are for.  When there is a bad actor it is far more difficult to get people to up-vote 101 other candidates than down vote the guy causing the problem.  For automated voting it is also far easier to down vote delegates that are not producing blocks than to decide who to up vote.

The average user is lazy and unlikely to evaluate 101 different individuals.  We must factor in this laziness in our designs.

Lastly in a world with 1000 candidates, it takes a lot of work to concentrate the approval consensus.   Suppose Bad Actor has 25% approval, everyone else has to find someone they can agree to give 26% approval to bump the Bad Actor.... there are 2 solid candidates and they each split the vote 13% / 13% and thus neither is able to bump the Bad Actor.    Everyone can agree the Bad Actor should go, so they simply vote against him.   

Negative voting is effectively an easy way to compress a "vote for all, but 1" which in a way helps simulate the ability to approve more than 101 delegates.

 +5%

Offline bitmeat

  • Hero Member
  • *****
  • Posts: 1116
    • View Profile
Considere something else:
Maybe deppended  on % delegate participation to remove the last active delegates on every round... (NOT RANDOM)

if 80% participation, remove the last 20% of active delegates and replace them with the first delegates in the standby list...
if 95% participation, remove the last 5% of active delegates and replace them with the first delegates in the standby list...
if 60% participation, remove the last 40% of active delegates and replace them with the first delegates in the standby list...
etc. etc.

normaly the participation % will go up until it reach a equillibrium point that is the highest possible depended on delegates average accuracy...
and you give oportunitys for potential better delegates to get active !!!

Can you define % participation? Is it for the last round of 101 blocks, is it per candidate? Do you mean reliability for each delegate?

I agree a system which gives a delegate who fails to produce block a time out for awhile would be best.

e.g. if there are 5 consecutive missed blocks - that could be anything, could be that their network is just down, even if they have a bad ass equipment, why should they continue to get bad statistics, when they could be removed temporarily, say for an hour or two.

Offline puppies

  • Hero Member
  • *****
  • Posts: 1659
    • View Profile
  • BitShares: puppies
Agent86 is very persistent and talked with me on Skype last night to argue against negative votes.

The primary argument he made was that abstaining is the responsible thing to do for uninterested users and that large stake holders will be very pro-active.

Small stake holders collectively do not have much influence.

I have decided to make it an option that is easy to turn on in the future with a hard-fork, but off by default.  If it becomes a problem then the delegates can vote to support it.
I do not get the reasoning behind turning it off by default.
All the above-listed arguments look like speculations for me.
Perhaps there was something more meaningful in your private chat ?

I'm with Emski on this.

I also think that automatic voting based upon performance/shady behavior should be implemented in the client.  If someone wants to manually manage their votes, they should be free to turn this off.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
Agent86 is very persistent and talked with me on Skype last night to argue against negative votes.

The primary argument he made was that abstaining is the responsible thing to do for uninterested users and that large stake holders will be very pro-active.

Small stake holders collectively do not have much influence.

I have decided to make it an option that is easy to turn on in the future with a hard-fork, but off by default.  If it becomes a problem then the delegates can vote to support it.
I do not get the reasoning behind turning it off by default.
All the above-listed arguments look like speculations for me.
Perhaps there was something more meaningful in your private chat ?

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Quote
Suppose Bad Actor has 25% approval, everyone else has to find someone they can agree to give 26% approval to bump the Bad Actor.... there are 2 solid candidates and they each split the vote 13% / 13% and thus neither is able to bump the Bad Actor.

With approval voting this only happens if everyone has already maxed out their 101 votes, no?
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline hadrian

  • Sr. Member
  • ****
  • Posts: 467
    • View Profile
  • BitShares: hadrian
Suppose Bad Actor has 25% approval, everyone else has to find someone they can agree to give 26% approval to bump the Bad Actor.... there are 2 solid candidates and they each split the vote 13% / 13% and thus neither is able to bump the Bad Actor.    Everyone can agree the Bad Actor should go, so they simply vote against him.

Should this point be overlooked? How important is it in real world terms?

It is possible for there to be a candidate who would receive 40% support for a role as delegate, but 60% strong opposition. Should it be possible for this candidate to become a delegate?
If people have the option to vote against, the candidate would be unsuccessful. Without "vote against" the candidate would probably become a delegate, and I propose this to be undesirable. In order for the candidate to be partially unsuccessful, the opposing 60% would likely have to agree to collaborate. They would have organize their "votes for" in a way which they may find unsatisfactory, thus compromising their REAL preferences.

Importantly, even if the 60% managed to use their votes to get another candidate in front of the one they oppose, BOTH candidates would likely still end up being delegates. Now we would still have a delegate who 60% STRONGLY OPPOSE!

Bear in mind that this needn't be a polarized case of a candidate being either a good or bad actor, or processing transactions well or poorly. What if the candidate is proposing to use transaction fees for a certain controversial purpose? It is easy to imagine a scenario whereby the candidate incentivizes 40% to vote for him/her by some means, and this 40% are not opposed to the way the fees will be used. But what if the other 60% are fundamentally against the proposed use of the fees? Should they not be given the chance to voice their concerns?

Could not "vote against" potentially be a useful, if not necessary, tool? If the majority opposes something in principle, shouldn't there be a proper way for them to oppose it in practice?

I admit I haven't thought much about this, and also haven't followed closely enough the way voting works with DPOS, so I may be mistaken.
However, I thought I should post this in case it is useful, or in case it may act as a catalyst in some way.

My previous post was attempting to argue that we should be allowed to vote against a candidate. This is to avoid a situation where a candidate strongly opposed by the majority can be more highly ranked than one who is not. I haven't seen a clear argument against the case which I made above. Was my reasoning wrong? Are there proposed benefits of NOT allowing votes "against"?

Editing to add:
This is the reason I'm making these posts:

Agent86 is very persistent and talked with me on Skype last night to argue against negative votes.

The primary argument he made was that abstaining is the responsible thing to do for uninterested users and that large stake holders will be very pro-active.

Small stake holders collectively do not have much influence.

I have decided to make it an option that is easy to turn on in the future with a hard-fork, but off by default.  If it becomes a problem then the delegates can vote to support it.
« Last Edit: July 13, 2014, 09:06:07 pm by Hadrian »
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG


Great!

So I'll recap once again to make sure I understand:
If I make a transaction I'll be able to do ONE of the following:

1 vote positive for up to 101 different delegates
2 vote negative for up to 101 different delegates
3 vote positive for x delegates and vote negative for up to 101 - x delegates (x<101 obviously)

Each 101 blocks votes will be counted like this:
For each delegate candidate the result "vote" will be positive - negative votes for that delegate.
Order candidates by vote and appoint top 101 as next round delegates.

Is this correct?

That was the proposal.

Seems like this is solving most of the issues I see.
I think this is the best system so far for this case.

Offline gamey

  • Hero Member
  • *****
  • Posts: 2253
    • View Profile
Ok, so we are limited to 101 votes either positive or negative.  So I retract my previous post about this regressing into the same thing as approval voting by rational voters because blanket negative voting is not allowed.

I still think the rational move is to initially utilize all your negative votes to reinforce your positive votes.

I suppose the expectation here is that the negative votes will be shifted around to actual poor performing delegates at some point, and not negative votes used to reinforce your positive votes.  SO in that way it seems like an improvement, but the additional options allow more gaming of the system which will introduce things I can't immediately comprehend.

It would be interesting to write little voting sim scripts and try to figure out how this actually changes the balance of power, because I think it is beyond my immediate intellectual capability.  :(
I speak for myself and only myself.

Offline bytemaster


What about limiting the total amount of votes to max 101 different delegates?
Both positive and negative votes limited like this will prevent 51% monopolising all the delegates.

I think negative votes are good addition to approval voting as it gives more flexibility.
I still believe that owners of 51% stake should not get all the delegates!

limiting to 101 ok but really different is practical not possible...

We already limit it to 101 votes. 


Sent from my iPhone using Tapatalk

Great!

So I'll recap once again to make sure I understand:
If I make a transaction I'll be able to do ONE of the following:

1 vote positive for up to 101 different delegates
2 vote negative for up to 101 different delegates
3 vote positive for x delegates and vote negative for up to 101 - x delegates (x<101 obviously)

Each 101 blocks votes will be counted like this:
For each delegate candidate the result "vote" will be positive - negative votes for that delegate.
Order candidates by vote and appoint top 101 as next round delegates.

Is this correct?

That was the proposal.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline Empirical1

  • Hero Member
  • *****
  • Posts: 884
    • View Profile
What about negative votes but that are only equal to 0.4 of a positive vote?
   

While I have no idea how this plays out with the ability to vote for multiple candidates with multiple votes ??? but...

If you are given only 3 candidates & one positive vote. With one candidate clearly being a bad actor - Darth Vader

          Yes Vote

20%   Darth Vader 
20%   Darth Vader

20%   Mila Kunis 
20%   Eva Mendez
20%   Mila Kunis



Then a minority who controlled 41% of the shares could win an election against an undecided majority.
(This could also be a minority of 20.5% in a company where only 50% were actively voting etc.)

However the majority can agree that Darth Vader should not be a delegate. So if you gave everybody one negative vote too...

          Yes Vote                     No Vote

20%   Darth Vader                Mila Kunis
20%   Darth Vader                Mila Kunis
20%   Mila Kunis                   Darth Vader
20%   Eva Mendez                Darth Vader
20%   Mila Kunis                   Darth Vader


With negative votes that are equally weighted, the bad actor, Darth Vader doesn't win the election  :)

The new problem it creates is that Eva Mendez wins the election  (Eva=1, Mila=0, Vader=-1)  :( (When really Mila Kunis is the favourite of the good majority)

But if you made Negative votes worth only 0.4 of a Yes vote then the results above would now be  Mila=1.2; Eva=1; Vader=0.8

So Mila Kunis wins the election. (This is fair she is the most popular choice of the good majority) Eva Mendez would come second and the Bad Actor would come last. The best result.

However the Bad Actor group would then change their No vote to Eva Mendez, so that their Bad Actor, Darth Vader at least comes second   Mila=2; Vader=0.8, Eva=0.2 :(

Still including negative votes that are lower weighted than positive votes

A) Makes it very hard for bad actors supported by a minority to win delegate positions if the majority are strongly opposed. 
B) While at the same time also make it very hard for a minority to stop the most popular choice of the majority from winning the election.   
« Last Edit: July 13, 2014, 03:46:45 pm by Empirical1 »

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG

What about limiting the total amount of votes to max 101 different delegates?
Both positive and negative votes limited like this will prevent 51% monopolising all the delegates.

I think negative votes are good addition to approval voting as it gives more flexibility.
I still believe that owners of 51% stake should not get all the delegates!

limiting to 101 ok but really different is practical not possible...

We already limit it to 101 votes. 


Sent from my iPhone using Tapatalk

Great!

So I'll recap once again to make sure I understand:
If I make a transaction I'll be able to do ONE of the following:

1 vote positive for up to 101 different delegates
2 vote negative for up to 101 different delegates
3 vote positive for x delegates and vote negative for up to 101 - x delegates (x<101 obviously)

Each 101 blocks votes will be counted like this:
For each delegate candidate the result "vote" will be positive - negative votes for that delegate.
Order candidates by vote and appoint top 101 as next round delegates.

Is this correct?

Offline Empirical1

  • Hero Member
  • *****
  • Posts: 884
    • View Profile
What about limiting the total amount of votes to max 101 different delegates?
Both positive and negative votes limited like this will prevent 51% monopolising all the delegates.

I think negative votes are good addition to approval voting as it gives more flexibility.
I still believe that owners of 51% stake should not get all the delegates!

I was thinking this too. But I think most companies with shareholders work on 'majority rule' & considering we especially need to keep out minorities that would try to bring 'bad actors' into the system. My thinking now is that majority rule (The majority dictating the majority of the delegates) is probably best.
1 delegate cant do much harm
101 could
giving single group (even if that group owns 51% of the stake) is against "decentralisation".
In the current implementation (at least the way I understand it) the majority will dictate the majority of the delegates.

I don't think so, the 51% stake could be owned by a mixture of 5 Million people, while the remaining 49% stake could be owned by 1 person, so I don't think majority rule affects the decentralisation argument too much. I could be wrong, it's just what popped into my head now.