Ethereum Quadratic Crowdfunding
We fund with the community. For the community.
Created on 22nd May 2022
•
Ethereum Quadratic Crowdfunding
We fund with the community. For the community.
The problem Ethereum Quadratic Crowdfunding solves
Eth QF is a decentralized platform that enables crowdfunding for projects in the Ethereum ecosystem. Eth QF provides project funding through the concept of Quadratic Funding. We at Eth QF, fund the community for the community.
Why Blockchain?
-
Time efficient: Blockchain allows us to make the entire process decentralized, where neither of the parties has all of the power. Essentially, any project has a chance of gaining visibility and funding. It also solves the issue of fees. While blockchain maintenance costs money, it drastically reduces transaction fees. This reduces the cost of crowdfunding for creators and investors.
-
High availability and immediate provision: Any project that uses a blockchain-based crowdfunding model has the potential to receive funding. Anyone with an internet connection can also contribute to those projects. Crowdfunders using blockchain technology would not have to worry about the "fraud" that has plagued modern-day crowdfunding projects.
-
Seamless payment: Blockchain also removes the worry of the project owners of having their funds withdrawn. The owners can easily withdraw the amount whenever they need to.
Why Quadratic Funding?
- Community-driven: In Quadratic Funding, the algorithm used after each CLR Matching Round, checks the number of contributors who donated to a certain project, in layman's terms, the higher the number of contributors higher will be the amount supported to a project.
- Need of the hour: Crowdfunding schemes for public goods have a fundamental weakness- the match amount for a project is proportional to the sum of contributions it receives during a stipulated period of time, whereas if the community has more demand for some project than the other, proportion should not be equal. CLR Matching solves this problem.
Challenges I ran into
There were many challenges (which I turned into features, so I'll list out the features of the project):
-
Project Owners can list their projects on the website from their GitHub. GitHub OAuth has been implemented in my application via which owners can list their projects and give information about their projects to prevent scams.
-
When listing the projects and contributing to a project, users need to go through a reCaptcha V2, to ensure bot-free listing.
-
Contributors can filter projects from the list through filters like Project title and Project category.
-
Each project is allocated its own description page from which contributors can learn about the project and the owner before contributing.
-
Before contributing to a specific project, contributors need to go through an OTP-based authentication to validate their contributions and reduce the risk of bot contributions.
-
To prevent Sybil attack contributors can at max contribute 5 times before their phone number gets dismissed.
-
If a user wants to be a sponsor and donate funds to the matching pool for public goods, they can contribute ethers on the sponsor page. I have set a lower limit of 5 ethers, for a user to be a sponsor.
-
All the sponsor addresses are displayed on the sponsor page.
-
Matching round states are displayed on each page, to notify the users whether a matching round is going on or not.
-
Only the manager can initiate and distribute funds collected in the matching round when a certain limit of amount is connected in the pool.
-
Each project owner can withdraw the amount collected whenever they want to, through the withdraw button.