No funded issue found.
Check out the Issue Explorer
Be the OSS Funding you wish to see in the world.
Looking to fund some work? You can submit a new Funded Issue here .
Time left
Opened
Issue Type
Workers Auto Approve
Project Type
Time Commitment
Experience Level
Permissions
Accepted
Reserved For
Polish, Test and Deploy a Quadratic Voting DAO
democracyearth
solidity, ethereum
### Challenge Description
DemocracyDAO is a fork of the [original MolochDAO v1 contract](https://github.com/MolochVentures/moloch) with two key modifications:
- Proposals instead of consisting of simple Yes/No vote, **now can include a list of candidates as voting options**.
- **A new Quadratic Voting mechanism is introduced** to vote for such candidates by allocating a specific amount of votes that get taxed from a voter's shares quadratically.
Our goal with this bounty is finishing the implementation, deploy and test this contract on the Ethereum mainnet.
### Why Quadratic Voting?
In our research we have found that one of the outstanding properties of QV is that it allows for a constituency to prioritize a long tail of options. During our pilot implementation with the Colorado State House πΊπΈin 2019 we used QV to help 41 legislators prioritize over 107 bills. Unlike other approaches like Participatory Budgeting (PB) where the outcome led to having "70% of the bills were part of a big blob with roughly the same amount of votes and no clear preference", QV allowed legislators get an organic distribution of votes over the entire list of proposals.
This emergent property of QV will help create better governance mechanisms for DAOs in general. At Democracy Earth we are aiming to implement a _QV-Compatible_ Moloch DAO to get the Ethereum community to rank every DAO in the ecosystem. A DAO of DAOs able to rank the long tail of entities created in the ecosystem will help establish their trustworthiness and reputation.
If you want to learn more about QV and the first official pilot in the USA, we recommend the following links:
- Bloomberg Businessweek: ["A New Way of Voting That Makes Zealotry Expensive"](https://www.bloomberg.com/news/articles/2019-05-01/a-new-way-of-voting-that-makes-zealotry-expensive)
- Wired Magazine: ["Colorado Tried a New Way to Vote: Make People PayβQuadratically"](https://www.wired.com/story/colorado-quadratic-voting-experiment/)
- Colorado Sun: ["$120 million in requests and $40 million in the bank. How an obscure theory helped prioritize the Colorado budget"](https://coloradosun.com/2019/05/28/quadratic-voting-colorado-house-budget/)
### Technical Aspects
These are the main modifications that can be found on the code as it is right now when compared with a default MolochDAO v1:
- An additional parameter in the constructor `bool _quadraticMode` is introduced to make optional tallying the votes on this DAO quadratically or old school.
- `Proposals` now include a `mapping (address => Ballot) votesByMember` that allows to persist votes given to `candidates`.
- `Ballot` struct persists for each `proposal` an array of `candidates` and the corresponding indexed `votes` and `quadraticVotes` that `candidate` received from a `member`.
- When processed, an `electedCandidate` address from a `proposal` will be awarded with the corresponding shares from the DAO.
- Each proposal has an array of `candidates` and a tally of `totalVotes` and `totalQuadraticVotes`.
### Judging Criteria
The bounty will be awarded to the developer (or team) able to polish the current code and make a successful deploy of a demo QV DAO that is able to allow for:
- Creating one or many proposals with a list of candidates.
- Inviting one or many members to participate in the QV DAO
- Being able to successfully vote on one or more proposals
- Effectively calculate the QV tally of the decision process.
### Submission Requirements
A deployed QV DAO on the Ethereum mainnet ready to be tested and used and a Pull request with the final source code.
### Submission Deadline
End of the GitcoinxChange Hackathon.
### Requirements
This is for Solidity developers. Familiarity with MolochDAO code is a helpful plus.
### Bonus Track
Additional materials about Quadratic Voting and how we will use it for the governance of our protocol can be found on [this Twitter thread](https://twitter.com/santisiri/status/1263904216411705352).
Setup your profile
Tell us a little about you:
Skills
No results found for [[search]] .
Type to search skills..
Bio Required
[[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Next
Setup your profile
Our tools are based on the principles of earn (π°), learn (π), and meet (π¬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Back
Next
Save
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email:
Email
Back
Save