0 Members and 1 Guest are viewing this topic.
Quote from: liondani on July 11, 2014, 12:40:46 pmConsidere 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.
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 !!!
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.
Quote from: bytemaster on July 11, 2014, 02:52:10 pmAgent86 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 ?
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.
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.
Quote from: bytemaster on July 11, 2014, 02:42:10 amSuppose 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.
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.
Quote from: emski on July 13, 2014, 03:31:51 pmGreat!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 delegates2 vote negative for up to 101 different delegates3 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.
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 delegates2 vote negative for up to 101 different delegates3 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?
Quote from: bytemaster on July 13, 2014, 12:23:17 pmQuote from: liondani on July 13, 2014, 07:57:46 amQuote from: emski on July 13, 2014, 05:36:50 amWhat 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 TapatalkGreat!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 delegates2 vote negative for up to 101 different delegates3 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?
Quote from: liondani on July 13, 2014, 07:57:46 amQuote from: emski on July 13, 2014, 05:36:50 amWhat 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
Quote from: emski on July 13, 2014, 05:36:50 amWhat 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...
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!
Quote from: Empirical1 on July 13, 2014, 03:03:36 pmQuote from: emski on July 13, 2014, 05:36:50 amWhat 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 harm101 couldgiving 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.
Quote from: emski on July 13, 2014, 05:36:50 amWhat 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.
Quote from: bnoble1206 on July 13, 2014, 12:58:19 amQuote from: GregGozzo on July 12, 2014, 08:15:46 pmMaybe time should be involved. Kind of like in Reddit's up voting/down voting algorithm. I believe it works something like this: if a post starts to get many up votes within a few seconds or minutes it becomes weighted and starts rising to the front faster. So a post that gets 100 up votes in 2 minutes will be rising faster and surpass a post that has had 2000 up votes over the last 10 hours.You just do this in reverse. That way if a delegate is truly a good delegate but gets down votes overtime just because someone wants their position, it doesn't boot them out. Only the truly bad delegates will get booted when something goes wrong and there is an influx of some amount of down votes really close in succession. This is the best idea I've heard yet. Sent from my iPhone using TapatalkIncredibly difficult to implement idea.
Quote from: GregGozzo on July 12, 2014, 08:15:46 pmMaybe time should be involved. Kind of like in Reddit's up voting/down voting algorithm. I believe it works something like this: if a post starts to get many up votes within a few seconds or minutes it becomes weighted and starts rising to the front faster. So a post that gets 100 up votes in 2 minutes will be rising faster and surpass a post that has had 2000 up votes over the last 10 hours.You just do this in reverse. That way if a delegate is truly a good delegate but gets down votes overtime just because someone wants their position, it doesn't boot them out. Only the truly bad delegates will get booted when something goes wrong and there is an influx of some amount of down votes really close in succession. This is the best idea I've heard yet. Sent from my iPhone using Tapatalk
Maybe time should be involved. Kind of like in Reddit's up voting/down voting algorithm. I believe it works something like this: if a post starts to get many up votes within a few seconds or minutes it becomes weighted and starts rising to the front faster. So a post that gets 100 up votes in 2 minutes will be rising faster and surpass a post that has had 2000 up votes over the last 10 hours.You just do this in reverse. That way if a delegate is truly a good delegate but gets down votes overtime just because someone wants their position, it doesn't boot them out. Only the truly bad delegates will get booted when something goes wrong and there is an influx of some amount of down votes really close in succession.
Quote from: bytemaster on July 13, 2014, 01:23:22 amQuote from: bnoble1206 on July 13, 2014, 12:58:19 amQuote from: GregGozzo on July 12, 2014, 08:15:46 pmMaybe time should be involved. Kind of like in Reddit's up voting/down voting algorithm. I believe it works something like this: if a post starts to get many up votes within a few seconds or minutes it becomes weighted and starts rising to the front faster. So a post that gets 100 up votes in 2 minutes will be rising faster and surpass a post that has had 2000 up votes over the last 10 hours.You just do this in reverse. That way if a delegate is truly a good delegate but gets down votes overtime just because someone wants their position, it doesn't boot them out. Only the truly bad delegates will get booted when something goes wrong and there is an influx of some amount of down votes really close in succession. This is the best idea I've heard yet. Sent from my iPhone using TapatalkIncredibly difficult to implement idea.But it will stay for ever and it possibly makes a huge positive difference...Can you implement this idea in the near future so you "waste" not time right now?It's seems worth to think about it seriously...
What's true at each single point in time must also be true at all times, literally.
I have some bad news for you:http://en.wikipedia.org/wiki/Voting_paradoxhttp://en.wikipedia.org/wiki/Arrow%27s_impossibility_theorem
Quote from: bytemaster on July 11, 2014, 02:42:10 amSuppose 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.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!
Quote from: bytemaster on July 11, 2014, 02:52:10 pmAgent86 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.Agent86 is bytemaster's alter ego
Quote from: liondani on July 11, 2014, 01:27:46 pmQuote from: Empirical1 on July 11, 2014, 01:16:22 pmIsn't the risk of downvotes that a powerful group of shareholders, either large/active, will have both the power to vote in a large portion of policies (via delegates) they want and effectively vote out the type of policies (via delegates) that they don't. - Like the Democrats would not only be able to vote themselves into a majority position but also vote out all of the Republicans from the remaining positions too?I can see the very important need for downvotes to rapidly remove bad actors though.If only the system can downvote delegates that not produce blocks (or acting bad) and replace them automatically with stand-by delegates?No such thing as something "only the system" can do.
Quote from: Empirical1 on July 11, 2014, 01:16:22 pmIsn't the risk of downvotes that a powerful group of shareholders, either large/active, will have both the power to vote in a large portion of policies (via delegates) they want and effectively vote out the type of policies (via delegates) that they don't. - Like the Democrats would not only be able to vote themselves into a majority position but also vote out all of the Republicans from the remaining positions too?I can see the very important need for downvotes to rapidly remove bad actors though.If only the system can downvote delegates that not produce blocks (or acting bad) and replace them automatically with stand-by delegates?
Isn't the risk of downvotes that a powerful group of shareholders, either large/active, will have both the power to vote in a large portion of policies (via delegates) they want and effectively vote out the type of policies (via delegates) that they don't. - Like the Democrats would not only be able to vote themselves into a majority position but also vote out all of the Republicans from the remaining positions too?I can see the very important need for downvotes to rapidly remove bad actors though.
Quote from: emski on July 11, 2014, 10:42:59 amI will suggest something a little different:1 Keep approval voting with no downvotes2 Apply X% vote weight decrease after Y blocks. ( I suggest X to be approx 1%, Y ~101)Using this a delegate need to have continuous support in order to stay in top 101.Any vote will not matter once enough rotations have passed.Those who use the system (making transaction) will dictate who will be delegate IN SHORT TERM.Of course one could just transfer stake between own wallets and routing votes through his own delegates so he is not paying taxes. (and this is one more reason for restrictions for delegates to burn at least some % of the transactions)interesting...
I will suggest something a little different:1 Keep approval voting with no downvotes2 Apply X% vote weight decrease after Y blocks. ( I suggest X to be approx 1%, Y ~101)Using this a delegate need to have continuous support in order to stay in top 101.Any vote will not matter once enough rotations have passed.Those who use the system (making transaction) will dictate who will be delegate IN SHORT TERM.Of course one could just transfer stake between own wallets and routing votes through his own delegates so he is not paying taxes. (and this is one more reason for restrictions for delegates to burn at least some % of the transactions)
The average user is lazy and unlikely to evaluate 101 different individuals. We must factor in this laziness in our designs.
I will suggest something a little different:1 Keep approval voting with no downvotes2 Apply X% vote weight decrease after Y blocks. ( I suggest X to be approx 1%, Y ~101)Using this a delegate need to have continuous support in order to stay in top 101.Any vote will not matter once enough rotations have passed.Those who use the system (making transaction) will dictate who will be delegate IN SHORT TERM.Ofcourse one could just transfer stake between own wallets and routing votes through his own delegates so he is not paying taxes. (and this is one more reason for restrictions for delegates to burn at least some % of the transactions)
Quote from: krabbypatty on July 11, 2014, 03:10:21 amIt may be too late for this. But I was thinking that you could have this as a perpetual auction. And have it so becoming a delegate is only for a limited term.That way it will be easy for positions to be filled at any point based on demand. And it takes care of the constant inflation when new delegates want to come in.Let's say it's a quarterly thing (people in finance would appreciate that).So every 3 months positions are auctioned. And people have the ability to look at stats from prior 3 months to decide who to vote for.Also wanted to ask - if I wanted to be a super reliable delegate - is it possible to run the same client on multiple nodes with same user ID? that way if one of my machines goes down, I am still up and running and providing service. Or would that create unnecessary forks?Sorry for the run on sentences and going all over the place, about to leave, and wanted to get all those in before I go.You can run on multiple nodes, so long as you don't produce 2 blocks at once with the same key.
It may be too late for this. But I was thinking that you could have this as a perpetual auction. And have it so becoming a delegate is only for a limited term.That way it will be easy for positions to be filled at any point based on demand. And it takes care of the constant inflation when new delegates want to come in.Let's say it's a quarterly thing (people in finance would appreciate that).So every 3 months positions are auctioned. And people have the ability to look at stats from prior 3 months to decide who to vote for.Also wanted to ask - if I wanted to be a super reliable delegate - is it possible to run the same client on multiple nodes with same user ID? that way if one of my machines goes down, I am still up and running and providing service. Or would that create unnecessary forks?Sorry for the run on sentences and going all over the place, about to leave, and wanted to get all those in before I go.
super frustrated... Down votes are not the answer. There should be no down voting. There is also no need for "random" voting. All people need are network statistics and no random voting and people will happily remove support for under-performing delegates. Down voting destroys the integrity of the election process. You are thinking about "users" all wrong. These are shares with shareholders. Shareholders are not lazy. Shareholders care. Look how active this community is and try to help. A new user with a tiny stake won't have an impact anyway. Now if I want my votes to have a bigger impact I have to waste time voting down everyone else. There also is no need for automated voting, it is not a good thing.
Quote from: gamey on July 11, 2014, 03:55:32 amQuote from: Agent86 on July 11, 2014, 03:42:51 am Now if I want my votes to have a bigger impact I have to waste time voting down everyone else. There also is no need for automated voting, it is not a good thing.My understanding was previously you had 1 vote. The above implies something like approval/disapproval voting. Where every candidate gets a yay/nay. I'm not sure I understand your position or what you are advocating for. Originally a share could only vote for 1 delegate at a time up/down. Now it seems he is keeping ability to vote for multiple delegates but can vote for or against. Either way is wrong. Pure approval voting with only up votes and no random votes or automated voting is perfect (just provide network statistics for warnings/recommendations).
Quote from: Agent86 on July 11, 2014, 03:42:51 am Now if I want my votes to have a bigger impact I have to waste time voting down everyone else. There also is no need for automated voting, it is not a good thing.My understanding was previously you had 1 vote. The above implies something like approval/disapproval voting. Where every candidate gets a yay/nay.
Now if I want my votes to have a bigger impact I have to waste time voting down everyone else. There also is no need for automated voting, it is not a good thing.
Delegates can still see what addresses are voting for them. Do you think something has changed?
Approval voting made a lot more sense when there was talk of delegates being able to give back to those who vote for them. If delegates can see who voted for them and can utilize kickbacks then that is when approval voting would become useful.