Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an optional Quiet Ending period to the Voting app #836

Closed
john-light opened this issue Jun 12, 2019 · 5 comments
Closed

Add an optional Quiet Ending period to the Voting app #836

john-light opened this issue Jun 12, 2019 · 5 comments

Comments

@john-light
Copy link
Contributor

john-light commented Jun 12, 2019

Note: this has been closed to be tracked in the "wishlist for future upgrades".


Is your feature request related to a problem? Please describe.

It has been pointed out that a voter with a large amount of stake can sway a vote last minute, leaving voters on the sideline little time to react and thus giving large holders a potentially disproportionate amount of influence.

One suggested remedy is to have a "quiet ending" rule which states that if the vote outcome is flipped within some amount of time before the scheduled end of a vote, then the vote will be extended some additional amount of time. For example, if a vote outcome flips from 51% approve to 51% reject within the last 12 hours of a vote, then the vote is extended for another 12 hours.

Describe the solution you'd like

A feature in the Aragon Voting app that implements a quiet ending period:

  • Add the ability to set the amount of time required for the quiet ending period and the amount of time a vote will be extended if the expected vote outcome is flipped from pass to fail or vice versa during the quiet ending period e.g. 12 hour long quiet ending period with 24 hour extension.
  • Remove the ability for voters to change their votes, so that voters cannot continually change their vote and flip it last minute, thereby exhausting the supply of voters who could flip the vote within a few quiet ending periods.

Describe alternatives you've considered
A PLCR Voting app that prevents anyone from seeing the outcome a vote until after all of the votes are already locked in, preventing a large tokenholder from knowingly flipping a vote last minute. This solution requires a voter to submit two transactions at different periods of time, changing the voting UX significantly, so I am suggesting a feature that would not significantly change the voting UX first so we can test and see if this assuages some of the concerns about last minute vote flipping by large tokenholders.

@luisivan
Copy link
Contributor

Good one. What's the advantage if there is a limit to the number of times that it can be extended?

@john-light
Copy link
Contributor Author

@luisivan: What's the advantage if there is a limit to the number of times that it can be extended?

The problem this aims to solve is that if voters can change their vote (which they currently can) then a whale or coordinated group could just keep flipping the vote back and forth and extend the vote indefinitely. So the suggested solution here is to either limit the number of extensions possible or remove the ability to change a vote (or both).

@john-light
Copy link
Contributor Author

john-light commented Jul 5, 2019

We discussed in person that it is good enough to remove the ability to change a vote, no limit on the number of extensions necessary as the supply of voters who could flip the vote will likely be exhausted within a the first few extensions. I have updated the OP to reflect this.

I should also note that it appears someone has already developed a proof of concept of this feature, at least at the smart contract level:
https://www.reddit.com/r/ethereum/comments/bkaive/aragon_vote_shows_the_perils_of_onchain_governance/emfdb0h/

@luisivan
Copy link
Contributor

luisivan commented Jul 9, 2019

Scheduled this for 0.9 -- the next release with smart contract changes

@stale stale bot added the abandoned label Jan 5, 2020
@aragon aragon deleted a comment from stale bot Jan 6, 2020
@stale stale bot removed the abandoned label Jan 6, 2020
@sohkai
Copy link
Contributor

sohkai commented Mar 18, 2020

Closing for now; we will re-evaluate when we re-release contracts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants