← Back to home

Rancho Del Vote

Ranked choice delegated voting allows you to specify an ordered set of delegates, adjusting your votes down the list to an active delegate if your top choices misses a proposal.

Screenshots

Rancho Del Vote screenshot 1
Rancho Del Vote screenshot 2
Rancho Del Vote screenshot 3

Problem Statement

Delegation is a great way to extend your voting power to someone that aligns with your values. However, it’s not great if your delegate doesn’t vote on proposals! Ranked choice delegation allows you to specify an ordered set of delegates, adjusting your votes down the list to an active delegate if your top choices misses a proposal.If A delegates to B, C, and D and everyone votes on a proposal, then A’s voting power remains with A. If A and C do not vote, but B and D do vote, all voting power is given to B. This strategy could also be extended to quadratically weight the votes between active votes, if preferred.

Solution

Rancho Del Vote consists of an ERC20RankVote contract extension (https://github.com/kevinweaver/openzeppelin-contracts/pull/1/) that works similarly to OpenZeppelin's ERC20Vote contract. The difference is, instead of delegating to a single address, your tokens are delegated to an array of addresses. We then created a Delegated Ranked Choice voting strategy on Snapshot (https://github.com/kevinweaver/snapshot-strategies/pull/1/) that (once finished) could be used to determine where to weight votes based on delegate participation.

Hackathon

ETHNewYork 2022

2022

Contributors