Author Topic: Are delegates really a good proxy for proposals? Let's find out.  (Read 7126 times)

0 Members and 1 Guest are viewing this topic.

Offline vikram

1. What happens to votes for a delegate when the delegate is retracted?
2. Can you still vote for a delegate that has rectracted, even though it will not result in this delegate being elected?

If 1 is "Votes are still counted, but they don't matter toward the election" and 2 is "Votes for these delegates are still valid transactions, even though they do not count toward the election", then we have a functioning proposal system. All you would need to do is create a 0% delegate, immediately retract it, and now you have something in the system you can use to vote with without any consequences on the security of the network.

This is correct.

Ohhhhh.... finally this makes sense to me. So they aren't "arbitrary ints" like I thought. They need to refer to the ID of a retracted delegate?  (By the way that is way less flexible than I thought it would be since it doesn't allow you to vote using a number, rather than simply approve, for a specific ballot. But, baby steps ...)

No, they actually are arbitrary ints, vikram must have not seen that change

You can vote for an arbitrary set of ints, and if any of them is a delegate ID at the time of voting, then the votes are applied to the delegate ranking. If any of those delegate accounts are retracted, then they are still automatically ranked by the current client but will never become active, as in the OP.

Btw I think this thread made me realize a bug that I am fixing right now: https://github.com/BitShares/bitshares/issues/1358

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
This needs an "explain it to me like I'm 5" version

You're right, I'm locking this until I can think of a better way to go about this, this thread was a bit impulsive and probably wasting time.

Probably off-chain stake-polling with support directly in the GUI is the way to start working towards this.
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 lil_jay890

  • Hero Member
  • *****
  • Posts: 1197
    • View Profile
This needs an "explain it to me like I'm 5" version

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
1. What happens to votes for a delegate when the delegate is retracted?
2. Can you still vote for a delegate that has rectracted, even though it will not result in this delegate being elected?

If 1 is "Votes are still counted, but they don't matter toward the election" and 2 is "Votes for these delegates are still valid transactions, even though they do not count toward the election", then we have a functioning proposal system. All you would need to do is create a 0% delegate, immediately retract it, and now you have something in the system you can use to vote with without any consequences on the security of the network.

This is correct.

Ohhhhh.... finally this makes sense to me. So they aren't "arbitrary ints" like I thought. They need to refer to the ID of a retracted delegate?  (By the way that is way less flexible than I thought it would be since it doesn't allow you to vote using a number, rather than simply approve, for a specific ballot. But, baby steps ...)

No, they actually are arbitrary ints, vikram must have not seen that change
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 VoR0220

Are you saying that delegate voting should instead change to each independent proposal voting?   Or the Bitshares user interface should be expanded so that delegate's proposals are shown and with great detail?

No, I'm saying we should have proposals with voting done separately from voting for delegates because they are distinct concepts we shouldn't be hacking together

Your separating proposals plans from the delegates.  If this happens, you've diminished the role of a delegate, and they wouldn't need to ever get paid a 100% inflation.  Am I understanding this right?

That assumes that proposals would be binding (which I hope they eventually would be), meaning that the blockchain reacts to a proposal getting enough support from stakeholders by doing something in response (like inflating a certain amount of BTS within the allowed inflation budget and paying it to some specific account). At the start, I believe the discussion is simply for non-binding proposal so we can simply understand what is the collective desire of the BTS shareholders. Then, for example, we could have 100% delegates move their money to support that cause if they want to stay elected.

excellent sequential approach arhag. I like it.  +5%
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Are you saying that delegate voting should instead change to each independent proposal voting?   Or the Bitshares user interface should be expanded so that delegate's proposals are shown and with great detail?

No, I'm saying we should have proposals with voting done separately from voting for delegates because they are distinct concepts we shouldn't be hacking together

Your separating proposals plans from the delegates.  If this happens, you've diminished the role of a delegate, and they wouldn't need to ever get paid a 100% inflation.  Am I understanding this right?

That assumes that proposals would be binding (which I hope they eventually would be), meaning that the blockchain reacts to a proposal getting enough support from stakeholders by doing something in response (like inflating a certain amount of BTS within the allowed inflation budget and paying it to some specific account). At the start, I believe the discussion is simply for non-binding proposal so we can simply understand what is the collective desire of the BTS shareholders. Then, for example, we could have 100% delegates move their money to support that cause if they want to stay elected.

Offline Bitcoinfan

  • Sr. Member
  • ****
  • Posts: 240
    • View Profile
Are you saying that delegate voting should instead change to each independent proposal voting?   Or the Bitshares user interface should be expanded so that delegate's proposals are shown and with great detail?

No, I'm saying we should have proposals with voting done separately from voting for delegates because they are distinct concepts we shouldn't be hacking together

Your separating proposals plans from the delegates.  If this happens, you've diminished the role of a delegate, and they wouldn't need to ever get paid a 100% inflation.  Am I understanding this right?

Offline VoR0220

I like the idea a lot. Quick question. Would there be any way, or plan, to tie proposals from specific delegates to the voting popularity of that delegate? Say that a proposal is rejected, could that delegate also be rejected? It would make for an interesting network.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
1. What happens to votes for a delegate when the delegate is retracted?
2. Can you still vote for a delegate that has rectracted, even though it will not result in this delegate being elected?

If 1 is "Votes are still counted, but they don't matter toward the election" and 2 is "Votes for these delegates are still valid transactions, even though they do not count toward the election", then we have a functioning proposal system. All you would need to do is create a 0% delegate, immediately retract it, and now you have something in the system you can use to vote with without any consequences on the security of the network.

This is correct.

Ohhhhh.... finally this makes sense to me. So they aren't "arbitrary ints" like I thought. They need to refer to the ID of a retracted delegate?  (By the way that is way less flexible than I thought it would be since it doesn't allow you to vote using a number, rather than simply approve, for a specific ballot. But, baby steps ...)

Offline hpenvy2

  • Sr. Member
  • ****
  • Posts: 217
    • View Profile
BM and I have gone back and forth, with me claiming we need to get proposal-based governance online ASAP and him arguing that delegates provide a good-enough proxy since shareholders can always use a "poll" delegate. BM claims it would add voter complexity, but I think that's wrong. It is much much easier to analyze self-contained proposals with their own UX than it is to find and analyze various delegate bids. It is also qualitatively different to think about a proposal when it is presented as "shareholders need your input on this yes/no question right now".

Yes, yes, yes! Thanks for fighting for this, toast.

NuBits has the same problem. As more and more diverse holders become absent voters, it becomes more and more difficult to approve anything (which requires 51%). With delegates, at least, you don't need 51% of stake voting "yes" to be approved -- you just need more votes than the other candidates receive.

The idea in this thread is called "motions" in NuBits, and already exists on that blockchain, but with the above-mentioned issue. I would recommend "yes, no, abstain" as three distinct voting states, though then it's not clear how to determine final approval. 3% yes, 1% no, 96% abstain does not sound like the final will of the voters.

Yes, as you mentioned, requiring 51% for all proposals is problematic and leads to grid lock because of voter apathy. I agree with the three option system (approve, disapprove, neutral by default). I proposed such a system for deciding whether proposals become ratified.

Thanks to both of you. 100% agree.

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
BM and I have gone back and forth, with me claiming we need to get proposal-based governance online ASAP and him arguing that delegates provide a good-enough proxy since shareholders can always use a "poll" delegate. BM claims it would add voter complexity, but I think that's wrong. It is much much easier to analyze self-contained proposals with their own UX than it is to find and analyze various delegate bids. It is also qualitatively different to think about a proposal when it is presented as "shareholders need your input on this yes/no question right now".

Yes, yes, yes! Thanks for fighting for this, toast.

NuBits has the same problem. As more and more diverse holders become absent voters, it becomes more and more difficult to approve anything (which requires 51%). With delegates, at least, you don't need 51% of stake voting "yes" to be approved -- you just need more votes than the other candidates receive.

The idea in this thread is called "motions" in NuBits, and already exists on that blockchain, but with the above-mentioned issue. I would recommend "yes, no, abstain" as three distinct voting states, though then it's not clear how to determine final approval. 3% yes, 1% no, 96% abstain does not sound like the final will of the voters.

Yes, as you mentioned, requiring 51% for all proposals is problematic and leads to grid lock because of voter apathy. I agree with the three option system (approve, disapprove, neutral by default). I proposed such a system for deciding whether proposals become ratified.

Offline vikram

1. What happens to votes for a delegate when the delegate is retracted?
2. Can you still vote for a delegate that has rectracted, even though it will not result in this delegate being elected?

If 1 is "Votes are still counted, but they don't matter toward the election" and 2 is "Votes for these delegates are still valid transactions, even though they do not count toward the election", then we have a functioning proposal system. All you would need to do is create a 0% delegate, immediately retract it, and now you have something in the system you can use to vote with without any consequences on the security of the network.

This is correct.

Offline inarizushi

  • Sr. Member
  • ****
  • Posts: 316
    • View Profile
Delegates already have an unclear double role, adding proposal voting might be quite hard to swallow for many people.

Won't vote, +5% for toast proposal
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline fluxer555

  • Hero Member
  • *****
  • Posts: 749
    • View Profile
You would miss blocks until you are voted out if you take it offline. Doesn't this cause problems? Security, forking, transaction times... Etc.? If we had this happening frequently and with multiple delegates, this couldn't be a good thing, right?

After 0.6.x, active delegates can retract their accounts in order to instantly (at the start of the next round) be removed from the active 101.

Depending on how this is implemented, this could effectively give the functionality that toast wants for a proposal system. The important details:

1. What happens to votes for a delegate when the delegate is retracted?
2. Can you still vote for a delegate that has rectracted, even though it will not result in this delegate being elected?

If 1 is "Votes are still counted, but they don't matter toward the election" and 2 is "Votes for these delegates are still valid transactions, even though they do not count toward the election", then we have a functioning proposal system. All you would need to do is create a 0% delegate, immediately retract it, and now you have something in the system you can use to vote with without any consequences on the security of the network.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Are you saying that delegate voting should instead change to each independent proposal voting?   Or the Bitshares user interface should be expanded so that delegate's proposals are shown and with great detail?

No, I'm saying we should have proposals with voting done separately from voting for delegates because they are distinct concepts we shouldn't be hacking together
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 Bitcoinfan

  • Sr. Member
  • ****
  • Posts: 240
    • View Profile
Are you saying that delegate voting should instead change to each independent proposal voting?   Or the Bitshares user interface should be expanded so that delegate's proposals are shown and with great detail?

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Should I add an explicit "no" option?
The point is I'm trying to demonstrate that delegates fail as a proposal proxy, so I want it to both be fair and still support my point when we fail to reach a conclusion
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 emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
You would miss blocks until you are voted out if you take it offline. Doesn't this cause problems? Security, forking, transaction times... Etc.? If we had this happening frequently and with multiple delegates, this couldn't be a good thing, right?

After 0.6.x, active delegates can retract their accounts in order to instantly (at the start of the next round) be removed from the active 101.

Marvelous!

Offline vikram

You would miss blocks until you are voted out if you take it offline. Doesn't this cause problems? Security, forking, transaction times... Etc.? If we had this happening frequently and with multiple delegates, this couldn't be a good thing, right?

After 0.6.x, active delegates can retract their accounts in order to instantly (at the start of the next round) be removed from the active 101.

Offline Ander

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
  • BitShares: Ander
If this delegate "delegate-proposal-proxy-test.misc.nikolai" is not voted in, no differentiation is made between people who completely missed the memo, and active members like Ander who explicitly abstained.

Well, I'm pretty sure that a delegate 'proposal' like this is not going to get voted in, because this would all have to get translated into chinese, and then get a campaign going to vote it in in chinese, before it would get enough votes.  (I'm pretty sure the chinese community actually outnumbers us). 

As you said, it would be nice to distinguish between not just 'yes' and 'no', but also 'didnt vote'.  Critical community issues shouldnt be decided by a small number of votes that couldnt elect a delegate.


Voting is a feature that several of our competitors already have, and thus should be a mid term priority once the high priority targets of light wallets, stable release, etc are done. 
I would put prediction markets in the same tier of priority as well.  But if voting would be faster to implement then prediction markets it would probably come first.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline fluxer555

  • Hero Member
  • *****
  • Posts: 749
    • View Profile
We're using a delegate to stand in as a proposal to propose proposal voting!  :P


Offline Chronos

If this delegate "delegate-proposal-proxy-test.misc.nikolai" is not voted in, no differentiation is made between people who completely missed the memo, and active members like Ander who explicitly abstained.

NuBits has the same problem. As more and more diverse holders become absent voters, it becomes more and more difficult to approve anything (which requires 51%). With delegates, at least, you don't need 51% of stake voting "yes" to be approved -- you just need more votes than the other candidates receive.

The idea in this thread is called "motions" in NuBits, and already exists on that blockchain, but with the above-mentioned issue. I would recommend "yes, no, abstain" as three distinct voting states, though then it's not clear how to determine final approval. 3% yes, 1% no, 96% abstain does not sound like the final will of the voters.

That said, the simple fact that this thread exists shows that proposal voting is needed. We're using a delegate to stand in as a proposal to propose proposal voting!  :P

Offline Ander

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
  • BitShares: Ander
I like that we are testing things by doing them and seeing what happens.


To me, voting on proposals seems like an excellent feature to work on during the next round of features, after 1.0 release.  Given that this is where you would prioritize it, I agree with you and thus won't vote for this delegate.

I also like the prediction market ideas and think we should add that in time as well.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
So you want shareholders to vote this del. in if they think delegate based polls are adequate and not vote him in if the want  proposal-based governance?

Many, like me, probably didn't follow the discussion so it is not completely obvious from what you wrote.

Correct
And when does this poll then count as successful (pro delegate based polls) and why? It should be more than half of all voting stake (more than half of all stake is not practical). How can this be measured?

Great question, can you first answer how that is supposed to work for the more general case of delegates-as-proposals? My guess is the best way is "if it's not voted in within X days, that's a no".
Those questions referred to the delegates-as-proposals :) I do not know the final answer. If we knew how much stake is voting in total (and if we knew how much stake voted for the proposal delegate which we do) then we can say how much % of "active shareholders" voted for the proposal.

With non delegate based polls there could be another voting mechanism: Counts votes for the proposal and against it. This is different from the delegate based polls because with del. based polls we don't know how many are against the proposal and how many just didn't see the proposal or have no opinion.

Ggozzo

  • Guest
So you want shareholders to vote this del. in if they think delegate based polls are adequate and not vote him in if the want  proposal-based governance?

Many, like me, probably didn't follow the discussion so it is not completely obvious from what you wrote.

Correct
And when does this poll then count as successful (pro delegate based polls) and why? It should be more than half of all voting stake (more than half of all stake is not practical). How can this be measured?

Great question, can you first answer how that is supposed to work for the more general case of delegates-as-proposals? My guess is the best way is "if it's not voted in within X days, that's a no".
It's flawed in the sense that non participation is assumed as a no vote. The "no"s would always outweigh the yes vote. You would need a "yes"delegate and a "no" delegate and whatever is voted in is the consensus. But you are then splitting the vote between those participating making it even harder to get actually voted in as a delegate.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
So you want shareholders to vote this del. in if they think delegate based polls are adequate and not vote him in if the want  proposal-based governance?

Many, like me, probably didn't follow the discussion so it is not completely obvious from what you wrote.

Correct
And when does this poll then count as successful (pro delegate based polls) and why? It should be more than half of all voting stake (more than half of all stake is not practical). How can this be measured?

Great question, can you first answer how that is supposed to work for the more general case of delegates-as-proposals? My guess is the best way is "if it's not voted in within X days, that's a 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 santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
So you want shareholders to vote this del. in if they think delegate based polls are adequate and not vote him in if the want  proposal-based governance?

Many, like me, probably didn't follow the discussion so it is not completely obvious from what you wrote.

Correct
And when does this poll then count as successful (pro delegate based polls) and why? It should be more than half of all voting stake (more than half of all stake is not practical). How can this be measured?

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
So you want shareholders to vote this del. in if they think delegate based polls are adequate and not vote him in if the want  proposal-based governance?

Many, like me, probably didn't follow the discussion so it is not completely obvious from what you wrote.

Correct
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 santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
So you want shareholders to vote this del. in if they think delegate based polls are adequate and not vote him in if the want  proposal-based governance?

Many, like me, probably didn't follow the discussion so it is not completely obvious from what you wrote.


Ggozzo

  • Guest
You would miss blocks until you are voted out if you take it offline. Doesn't this cause problems? Security, forking, transaction times... Etc.? If we had this happening frequently and with multiple delegates, this couldn't be a good thing, right?

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
If this delegate does not get voted in within, say, 2 weeks, we'll know that the current governance model does not represent shareholder intent.

delegate-proposal-proxy-test.misc.nikolai
(1% pay, but I'll take him offline as soon as he is voted in)

BM and I have gone back and forth, with me claiming we need to get proposal-based governance online ASAP and him arguing that delegates provide a good-enough proxy since shareholders can always use a "poll" delegate. BM claims it would add voter complexity, but I think that's wrong. It is much much easier to analyze self-contained proposals with their own UX than it is to find and analyze various delegate bids. It is also qualitatively different to think about a proposal when it is presented as "shareholders need your input on this yes/no question right now".

It would require no changes to the protocol (it can be hacked in using non-delegate-accounts + burn features, more on this when it's relevant) and minimal changes to the user interface. It can and should wait for after 1.0 even though it could be offloaded entirely to someone like svk if we really wanted and BM probably could have done it in the time he's been working on prediction market stuff.

If you think I'm wrong, arguing in this thread is meaningless, PROVE IT by voting that guy in.

edit:
"So you want shareholders to vote this del. in if they think delegate based polls are adequate and not vote him in if the want  proposal-based governance? "
Yes, this is what I meant. IF delegate-based proposals are "good enough" then shareholders should confirm that they think so.
« Last Edit: February 05, 2015, 08:45:31 pm by toast »
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.