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

Referenda Confirmation by Candle Mechanism #120

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

pandres95
Copy link

@pandres95 pandres95 commented Sep 17, 2024

@laboon
Copy link

laboon commented Sep 18, 2024

So this is what you are proposing - please correct me if I misunderstood.

  1. A Referendum enters the Confirmation period. It must stay above a certain threshold (support and approval) for a certain period of time. If at any point, it drops below, it is kicked out of Confirming state. This is exactly how things work now.
  2. However, there is a second stage iff the Referendum finishes the confirming period. Here, a random block from the Confirmation period is decided upon as the "true" ending point.

What I don't understand is what additional criteria will decide this. If a Ref is < support or approval, it will have already failed. So every block in the confirmation period will, by definition, already have met the criteria to stay in the Confirming period and thus pass. Will there be a higher threshold(s) necessary for this Finalization phase?

@shawntabrizi
Copy link
Member

shawntabrizi commented Sep 18, 2024

This RFC really isn't technically specific enough to implement. But i think you already made an implementation right? Can you link to that in the RFC or in this GitHub PR?

The way I view this proposal is as follows:

  • this new mechanism only aids in passing proposals that would otherwise fail
  • we should not really be creating mechanisms to make things "pass" more easily
    • I hold the belief that NAY by default is good. If it is not a "hell yes" it should be a NAY
  • if there are proposals which are on the border (51/49) which this affects, probably they should be nayed, and re-discussed to get more overall agreement from the community
  • there is also a non-negligible amount of computational and storage complexity introduced for EACH proposal, which will hopefully be on the order of tens of thousands over just the next couple of years.

There is nothing fundamentally wrong with the idea, but I don't think this is the kind of direction I would want to see OpenGov go toward.

Just my opinion. Thanks for taking the time to write down and present the idea.

@burdges
Copy link

burdges commented Sep 24, 2024

I agree with @shawntabrizi that too many proposals suck, like advertising, so you might count late no votes, but cut off late yes votes.

I'll also caution that referenda are not auctions: An auction wishes to make the sale, assuming some minimum price, but must find some compromise price. A referenda should not necessarily approve anything, so the voting theory should works out quite differently. Also, there maybe a psycological concerns if people's votes go uncounted, but which do not occur when a company buys blockspace.

@AlistairStewart saw some issue with this specific proposal, but might've some thoughts on the benefits of candle auctions, so let's see what he says.

@AlistairStewart
Copy link

So firstly I should explain why we need a change from the status quo.

It seems that many people are prepared to vote and increase their conviction only if their preferred side is losing a referendum. So sometimes if a refendum always has over 50% for yes, these people don't turnout and turnout remains low. Since turnout is often low, referenda don't confirm until near the end of the decision period. AFter the decision period annd in this confirmation period, a big enough no vote can snipe the refendum, making it fail immediately.

Other referenda tend to swing between over 50% for yes and over 50% for no, with turnout increasing theough the decision period. Accounts that don't normally vote with high convication get into a conviction auction, where those who oppose the currently winning side want to get just enough votes for their side to be winning. These referenda have multiple confirmation periods that don't last the full time. If the switching for yes to no happens after the decision period then the referendum just stops.

If we did something like this RFC or alternatives that would take longer to get a decision, then more accounts would vote with a higher conviction than right now and the result would be fairer. I would argue that this is a good thing. That people using accounts that don't normally vote or who are voting with a higher than normal conviction, locking up their tokens for a long time, are probably people that actually care about the issue voted on.

Using a candle auction is fairer and never gives a hard cutoff, when voting enough right now ensures victory. It need not extend the auction for longer than is possible now. It should result in people voting at about the end of the decision period and give a higher turnout with conviction than we have right now.

@AlistairStewart
Copy link

AlistairStewart commented Sep 27, 2024

Here's how I think this RFC should work:

If at the end of the decision period, if an auction is confirming or has been confirming recently (say in the last half a confirming period length), then the auction should enter an ending period, which always lasts for length equal to a confirmation period. After that time, voting stops, and the auction waits for the randomness to decide when in the ending period the auction stopped, which determines the winner.

I'm not sure right now how this code actually works or RFC proposes.

@burdges
Copy link

burdges commented Sep 27, 2024

I've not looked closely at the cirrent scheme, but anecdotally it extends the conformation period when votes change, but avoids allowing unending extensions, so maybe it prevents aye sniping but permits nay snipping. If it favors nay then that's already reasonable.

At present, there is a psycological strategy where you initially vote opposite your preference, which motivates voters who favor your position, and then you change your vote. It's possible a candle auction improves this, but probably not, and maybe just removing or limiting conviction helps more.

It's really unclear why the candle mechanism would increase turnout though? A priori, complex voting schemes might reduce turnout, until the voters pick up more knowlege, not necessarily about the scheme itself, but that turnout was harmless and benefited their interests.

As above, there maybe risks that not counting some late votes harms turnout. I suspect our current rules for extending conformation period provides much of the benefits of candle auctions, but without having voters votes go uncounted.

We could've a knowledge gathering phase where votes are not final, and conviction is allowed, and then a late voting phase where votes cannot be changed once cast, or can only be changed from aye to nay, and new votes cannot have conviction.

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

Successfully merging this pull request may close these issues.

5 participants