Inspiration
The main inspiration behind this project was to provide DAOs a secure and private platform to practice voting in the governance.
What it does
It is an extension of semaphore. The main difference is the incentivization mechanism of voters. Each voters when voting receive some % of tokens as well.
This is to ensure people use zk platforms.
How we built it
Circuits: Circom, Groth16, Snarkjs, Circom Tester
Contracts: Solidity, Hardhat, Ethers, Typechain
Server: NestJS, MongoDB
Client: NextJs, ChakraUI, Emotion, Ethers, SWR
Challenges we ran into
The main challenge was to design a system where the identity of voters are not disclosed and voters and contributors relation is not made.
We have done this in a manner that voters will use identity proof while voting and voting proof while withtdrawing the tokens. If the proof is included in the merkle tree then the users can proceed. So we are not storing anything on the smart contract except for the state of the merkle tree.
Accomplishments that we're proud of
Integration of ZK into the coordinape mechanism with better UX.
What we learned
Economic design Game theory Circom development ZKP security
What's next for SPIC (Semaphore Protected Incentivized Community)
Moving to cairo ecosystem and other new blockchains as well.
Log in or sign up for Devpost to join the conversation.