# Idea: Move to gasless voting

**URL:** https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039
**Category:** Technical Discussion
**Created:** [26 July 2020 15:18 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039 "2020-07-26T15:18:32Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![barry](https://avatars.discourse-cdn.com/v4/letter/b/958977/32.png) [@barry](https://gov.yearn.fi/u/barry)
#### Post date: [26 July 2020 15:18 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/1 "2020-07-26T15:18:32Z")

</div>

With voting currently being a signaling mechanism I’m floating the idea of using gasless voting.

In such a design the cost of voting would be significantly less then the current on-chain mechanism and should bring in more participation from YFI holders assuming YIP-10 passes.

In the simplest form it could involve taking the current voting UI and instead of submitting a vote to the chain, it could be sent to a chat room or discussion thread as a signed messages. The votes can then be validated by anyone and individual multisig holders would be able to use the same tool to determine the outcome of a vote.

**Using Fraud Proofs:**  
A step up from that in complexity could be when a voting period ends there is a tabulation period (ie: 24 hours) in which anyone can aggregate all the votes into a merkle proof and submit the root hash for the vote along with the vote FORs and AGINSTs. If the submitter has misrepresented the vote outcome in the submission, anyone can submit a the full merkle proof to nullify the submission and a slashing mechanism can be implemented here as well. A ZK fraud proof can be used here as well. Such a design could work with onchain consequences where at the end of the tabulation period a transaction gets executed.

**Using Validity Proofs:**  
In this design only valid proofs can be submitted to the contract which eliminates the need for the tabulation period above. Given that staking is linked to the voting contract this design maybe possible.

If there is enough interest we can research further to determine feasibility of the different approaches and as a starting point building a prototype soft consensus polling that could be used in before voting to determine interest and likely outcome of proposed votes.

More on Validity vs Fraud proofs: [https://medium.com/starkware/validity-proofs-vs-fraud-proofs-4ef8b4d3d87a](https://medium.com/starkware/validity-proofs-vs-fraud-proofs-4ef8b4d3d87a)

---

<div class="post-metadata">

### Author: ![devops199fan](https://dub1.discourse-cdn.com/flex013/user_avatar/gov.yearn.fi/devops199fan/32/15_2.png) [@devops199fan](https://gov.yearn.fi/u/devops199fan)
#### Post date: [26 July 2020 16:31 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/2 "2020-07-26T16:31:16Z")

</div>

Good idea, I’m sure some folks aren’t voting because of the gas cost 🙏

---

<div class="post-metadata">

### Author: ![YieldBouncer](https://dub1.discourse-cdn.com/flex013/user_avatar/gov.yearn.fi/yieldbouncer/32/62_2.png) [@YieldBouncer](https://gov.yearn.fi/u/YieldBouncer)
#### Post date: [26 July 2020 16:54 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/3 "2020-07-26T16:54:29Z")

</div>

+1 here. With gas and eth price increases, it’s hard to justify spending a few dollars to vote if you are a small stake holder.

---

<div class="post-metadata">

### Author: ![amaz\_ng](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@amaz\_ng](https://gov.yearn.fi/u/amaz_ng)
#### Post date: [26 July 2020 17:59 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/4 "2020-07-26T17:59:55Z")

</div>

Maybe we could use wallet signatures to vote.

---

<div class="post-metadata">

### Author: ![hc.link](https://dub1.discourse-cdn.com/flex013/user_avatar/gov.yearn.fi/hc.link/32/181_2.png) [@hc.link](https://gov.yearn.fi/u/hc.link)
#### Post date: [27 July 2020 00:05 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/6 "2020-07-27T00:05:29Z")

</div>

I am strongly **AGAINST** this. Voting should be done on chain for transparency. If you want to vote, pay the gas costs. It has not been a problem thus far, and while it is important to be inclusive, gas costs will not matter when significant voting blocks are in action.

Do not fix what is not broken.

Of course contracts should be optimized to minimize gas costs. You are already getting rewarded by staking your YFI in the governance pool. Don’t get greedy.

---

<div class="post-metadata">

### Author: ![barry](https://avatars.discourse-cdn.com/v4/letter/b/958977/32.png) [@barry](https://gov.yearn.fi/u/barry)
#### Post date: [27 July 2020 11:20 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/7 "2020-07-27T11:20:31Z")

</div>

With that logic why not store the YIP information on chain so it’s visible on the proposal vote? Using the same logic the transaction to execute should be stored along with the proposal and executed or denied when the vote ends.

Instead a message board is used for YIP descriptions and a multisig takes the outcome and creates a transaction.

I agree there should be a permanent record of the votes for transparency but there are other decentralized mediums better suited for data storage such as IPFS. Storing the votes in such a medium and a root hash onchain will allow anyone to verify that those are all the ballots cast of a vote.

---

<div class="post-metadata">

### Author: ![hc.link](https://dub1.discourse-cdn.com/flex013/user_avatar/gov.yearn.fi/hc.link/32/181_2.png) [@hc.link](https://gov.yearn.fi/u/hc.link)
#### Post date: [27 July 2020 11:26 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/8 "2020-07-27T11:26:50Z")

</div>

Do not fix what isn’t broken. Don’t get greedy.

Trying to skimp a couple of bucks with convoluted gasless voting mechanisms. Sheesh.

---

<div class="post-metadata">

### Author: ![barry](https://avatars.discourse-cdn.com/v4/letter/b/958977/32.png) [@barry](https://gov.yearn.fi/u/barry)
#### Post date: [27 July 2020 11:31 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/9 "2020-07-27T11:31:54Z")

</div>

I was suggesting to consider using it first for soft consensus polling on what should actually get moved to a vote as a way to try it without disrupting the current process.

---

<div class="post-metadata">

### Author: ![guyi](https://avatars.discourse-cdn.com/v4/letter/g/ac8455/32.png) [@guyi](https://gov.yearn.fi/u/guyi)
#### Post date: [27 July 2020 11:35 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/10 "2020-07-27T11:35:52Z")

</div>

There’s two stages of voting, the first stage is from idea to a proposal. This can be done with normal polling on this forum.

The second stage is a formal vote, this should be done onchain. The solution to gas fees is delegation.

---

<div class="post-metadata">

### Author: ![hc.link](https://dub1.discourse-cdn.com/flex013/user_avatar/gov.yearn.fi/hc.link/32/181_2.png) [@hc.link](https://gov.yearn.fi/u/hc.link)
#### Post date: [27 July 2020 12:03 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/11 "2020-07-27T12:03:47Z")

</div>

Also, gas costs for voting introduce an interesting and valuable game theory element to governance via quoroms.

If people propose some garbage on chain, then nobody will vote because there is a gas cost for doing so. Having a gas cost for voting ensures that people will only vote for things they really care about. Thus, the quorom concept has a financial implication.

Even though the gas cost to vote is low, it is still enough to disincentivize spam voting.

---

<div class="post-metadata">

### Author: ![napoleon](https://avatars.discourse-cdn.com/v4/letter/n/58956e/32.png) [@napoleon](https://gov.yearn.fi/u/napoleon)
#### Post date: [27 July 2020 15:27 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/12 "2020-07-27T15:27:31Z")

</div>

Hi hc.link  
In voting, sometimes full transparency is not the best thing. Why?  
If someone can confirm how someone else voted, then it enables an opportunity for bribery. i.e I’ll pay you x if you vote y.  
If they cannot see how someone voted then they cannot be bribed easily, because the voter could be bribed, but they could vote whatever way they like.  
So ideally, the best system would be if we could verify that someone voted, but not see their vote.  
Gassless voting would be a step in the right direction.

---

<div class="post-metadata">

### Author: ![hc.link](https://dub1.discourse-cdn.com/flex013/user_avatar/gov.yearn.fi/hc.link/32/181_2.png) [@hc.link](https://gov.yearn.fi/u/hc.link)
#### Post date: [27 July 2020 15:51 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/13 "2020-07-27T15:51:13Z")

</div>

@napoleon I think this is highly unlikely. The tokens have been decentralised in a very robust fashion, so even at current relatively small market cap, I don’t think it would be possible to influence the outcome of a proposition in this fashion.

---

<div class="post-metadata">

### Author: ![barry](https://avatars.discourse-cdn.com/v4/letter/b/958977/32.png) [@barry](https://gov.yearn.fi/u/barry)
#### Post date: [28 July 2020 12:32 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/14 "2020-07-28T12:32:54Z")

</div>

> [@hc.link](#):
>
> Do not fix what isn’t broken.

This does seem like a tragedy of the commons type problem because the main chain has limited transactional throughput capacity and once that capacity is hit some transactions will not make it in to a block and die in the mempool.

If the only users of the Ethereum are Yearn stakeholders and transactional capacity is hit then Yearn stakeholders will start to crowd out other stakeholders by bidding up gas fees and I’ll concede there might be an argument for this being a filtering mechanism so that high conviction votes get in but it also could just mean to whales where the extra cost is marginal to them will only end up voting. ie: The cost of paying $100 in gas is marginal when you have $1mm in YFI but significant to $1,000 YFI holder.

This contrived scenario above is not the reality. The reality is more perverse. YFI stakeholders not only compete with each other to vote but with users of other protocols running on Ethereum. To now say a vote paying high gas is a signaling mechanism is to say that a YFI vote is more or less valuable than a MakerDAO vote or a Compound vote or even a Cryptokitty hatching or any of the other various types of transactions being done.

The flipside is that if these different protocols can start to offload voting from the main chain than the stakeholders of all these protocols collectively benefit.

---

<div class="post-metadata">

### Author: ![Jolly](https://dub1.discourse-cdn.com/flex013/user_avatar/gov.yearn.fi/jolly/32/264_2.png) [@Jolly](https://gov.yearn.fi/u/Jolly)
#### Post date: [28 July 2020 21:40 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/15 "2020-07-28T21:40:52Z")

</div>

I’d like to see delegated voting supported, I think it’ll take a little bit of the pressure off.  
It would let users both batch votes up, as well as have that process done during times of lower gas fees.

---

<div class="post-metadata">

### Author: ![banteg](https://dub1.discourse-cdn.com/flex013/user_avatar/gov.yearn.fi/banteg/32/3608_2.png) [@banteg](https://gov.yearn.fi/u/banteg)
#### Post date: [29 July 2020 04:33 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/16 "2020-07-29T04:33:18Z")

</div>

Few approaches that may be viable:

1. Use lightweight on-chain polling which only emits events that are later tallied off-chain. We can have the result pre-computed via thegraph or fall back to in-browser tallying if it’s unavailable.
2. Collect signatures and batch relay them. Someone has to pay for putting them on-chain and it’s susceptible to censorship on the relayer’s side.
3. Forum plugin that allows coin voting.
4. Vote delegation might be a good middle ground.

---

<div class="post-metadata">

### Author: ![zirs3d](https://avatars.discourse-cdn.com/v4/letter/z/c5a1d2/32.png) [@zirs3d](https://gov.yearn.fi/u/zirs3d)
#### Post date: [29 July 2020 17:23 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/17 "2020-07-29T17:23:49Z")

</div>

Great discussion going on here about an hour ago, and ct chipped in with some cool implementation ideas on signaling with wallet signatures.

> …defi way better than using discord emojis ☑

> <https://twitter.com/PingChenTW/status/1288502678553636870>

---

<div class="post-metadata">

### Author: ![heyneel](https://avatars.discourse-cdn.com/v4/letter/h/4bbf92/32.png) [@heyneel](https://gov.yearn.fi/u/heyneel)
#### Post date: [22 August 2020 11:30 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/18 "2020-08-22T11:30:42Z")

</div>

Gas-less polling DApp with the same crypto economic guarantees as onchain voting using Whisper.

> **[Status Chat API proof of concept demo](https://discuss.status.im/t/status-chat-api-proof-of-concept-demo/1908)**
>
> There has been discussion about the Status chat api in recent months and what kind of DApps it enables but sometimes a simple demo can better explain it. This video is a demo of a gasless polling DApp that uses a fork of the status mobile client...

---

<div class="post-metadata">

### Author: ![banteg](https://dub1.discourse-cdn.com/flex013/user_avatar/gov.yearn.fi/banteg/32/3608_2.png) [@banteg](https://gov.yearn.fi/u/banteg)
#### Post date: [22 August 2020 17:02 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/19 "2020-08-22T17:02:36Z")

</div>

Soft-launched at [https://vote.yearn.finance](https://vote.yearn.finance). Now we need to refactor the current governance/reward contract. Ideas welcome.

---

<div class="post-metadata">

### Author: ![DefiDuck](https://avatars.discourse-cdn.com/v4/letter/d/7ea924/32.png) [@DefiDuck](https://gov.yearn.fi/u/DefiDuck)
#### Post date: [22 August 2020 17:24 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/20 "2020-08-22T17:24:07Z")

</div>

While off-chain voting is controversial, an easy way to move at least some of the votes off-chain is to create UI that matches opposers and supporters off-chain.

Before you vote on-chain and pay the gas, you look for token holders with the opposite vote on this UI. Once found, the tool verifies signatures and creates a match. Now both sides don’t vote on-chain and cancel each other. If your counter-party decides to vote on-chain eventually you get notified so you can vote on-chain as well.

---

<div class="post-metadata">

### Author: ![barry](https://avatars.discourse-cdn.com/v4/letter/b/958977/32.png) [@barry](https://gov.yearn.fi/u/barry)
#### Post date: [22 August 2020 18:21 UTC](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039/21 "2020-08-22T18:21:16Z")

</div>

Looks nice. Can you give an explanation of how it works?

[Next page](https://gov.yearn.fi/t/idea-move-to-gasless-voting/1039.md?page=2)
