neo icon indicating copy to clipboard operation
neo copied to clipboard

Allow votes do be divided in up to N candidates

Open lock9 opened this issue 4 years ago • 2 comments

Summary or problem description Committee members can update the network policy if they submit a multi-sig transaction with N/2 + 1 signatures. If holders only vote for one candidate and have incentives to vote for the winners, there is no incentive to vote for the least voted candidates since there are fewer chances to win. This will cause votes to accumulate in the most popular candidates and leave the last N/2 + 1 seats more open to malicious agents that could affect the network by changing the network policy values (there are maximum values).

Do you have any solution you want to propose? If we support votes to be divided into multiple candidates (N), people could vote for both those they think it will win and those they want to win (since there is a clear incentive to vote for the winner). A simple approach would be to divide votes evenly between the selected candidates.

Neo Version

  • Neo 3

Where in the software does this update applies to?

  • Ledger
  • Network Policy

lock9 avatar Feb 25 '21 19:02 lock9

Maybe you can transfer neo to multiply addresses?

erikzhang avatar Feb 26 '21 05:02 erikzhang

Hello hello,

Yes. using different addresses is one option; however, it doesn't solve the user problems. In fact, you are just creating another problem: maintain another wallet. This is riskier for people holding many NEOs and more complicated for those using hardware wallets. Another solution is to use smart contracts to vote. The problem I'm looking to solve is the conflict of interests between voting for the winner and the best of the network. Many people will just vote to get the GAS and to ensure they are paid, these people will likely vote for the 1st place without even checking who that candidate is.

There is another issue with voting. The problem is: Exchanges want GAS, but may not feel comfortable voting/influencing elections. The solution for this problem is to allow blank votes. We can distribute these votes proportionally to the current voting results or use the quadratic formula to distribute votes*.

If we support blank votes we could potentially solve both issues.

*Note: this is not the current best option because people could just create new addresses and influence the vote distribution.

lock9 avatar Feb 26 '21 12:02 lock9

I propose closing this one. It's not trivial to implement and with 2+ years of N3 network operation now I think it's safe to say that it's not a huge issue, people vote, contracts vote, bNEO votes, it all works good enough.

roman-khimov avatar Nov 14 '23 20:11 roman-khimov

I agree. I'll close it

lock9 avatar Nov 14 '23 20:11 lock9