Voting becomes drastically cheaper, more decentralized and inclusive, and achieves higher quorum.
User allows a smart contract to cast his vote based on a snapshot taken at a certain time before the end of the proposal time. The snapshot is based on gasless signings. User can sign his vote in similar way as YIP interests are gathered currently in https://vote.yearn.finance/ . We can use the signing as indicator of user’s vote, and let the staking protocol which holds the tokens do the actual voting for us with much fewer transactions. Gas fees would drop to almost insignificant amounts per user and would be taken from the rewards.
Voting is too expensive for some people. For example, voting would cost more than 6 usd at the moment of writing. For smaller stakers, this is too costly and reduces voting motivation. Why vote at all, if my vote is relatively small in impact and it costs me more than a beer? This leads to a more centralized governance of big holders. It can also shut people from low income countries outside. Someone's 6 may equal to someone’s 60 $. By batching the voting transactions and using gasless signings to indicate the vote, voting becomes much more accessible.
The protocol votes for users behalf by batching votes in few transactions only. Votes are based on user’s gasless signature, e.g. https://vote.yearn.finance/. The actual voting is done in just very few transactions, perhaps one tx for each vote option. The voting is preferably triggered automatically by code before the end time of the proposal. The actual time of the snapshot and voting will be predetermined in code. The code takes a snapshot of the token owner’s vote based on his address in a signing service such as https://vote.yearn.finance/ and casts the vote of all users with same vote in one transaction. Gas fees are reduced from staking rewards.
For: Create automated voting based on gasless signatures
I’m very much for making voting cheaper for smaller users– but I know there are many who prefer to keep voting on-chain for transparency’s sake, and I’m not exactly sure how we track signatures on-chain.
If there is a good way to keep track of who has signed where (other than the vote portal) then I’m all for it. But if we need to stay on-chain the traditional way, I think allowing both delegation of votes (will help small holders still participate) and also an “abstain” option (something @DCinvestor has mentioned so users can claim but not need to vote for or against) are both positive changes.
The implementation of this proposal is still unclear and I am not a smart contract developer, so I don’t even know if this is possible at all. Waiting on someone to gauge in about the technical feasibility of this proposal. Actually, I assumed https://vote.yearn.finance/ gets the vote information from onchain. If that’s not the case, then this proposal needs to be considered even more thoroughly from the technical side.
Otherwise, I also liked the earlier conversation about abstaining and delegating. Delegating would make sense to me.
This is how HAKKA wants to achieve voting off-chain:
This is how Balancer is doing it already:
We need to fix this for Yearn, hopefully soon. If us the little guys can vote, we’ll be more engaged in the community, and we’ll contribute more to the ecosystem ourselves–with whatever we can do. Yesterday, I lost all my profits from staking in governance by paying the gas costs of voting for a proposal THAT DIDN’T EVEN REACH QUORUM. It feels horrible. We need to fix this.