An on-chain anonymous voting solution with guaranteed proof of personhood
A voting solution combining ZK-snarks to keep votes anonymous with guaranteed proof of personhood. AnonVote uses Minimal Anti-Collusion Infrastructure (MACI) for the voting mechanism with WordID for proof of personhood: MACI - an open-source public good that serves as infrastructure for private on-chain voting. World ID - privacy-first identity protocol that brings global proof of personhood to the internet.
AnonVote uses Minimal Anti-Collusion Infrastructure (MACI) for the voting mechanism with WordID for proof of personhood and sybil resistance: MACI - an open-source public good that serves as infrastructure for private on-chain voting. World ID - privacy-first identity protocol that brings global proof of personhood to the internet.
We've added a gatekeeper contract to MACI that allows only World ID verified users to sign up and vote (https://github.com/gasperpre/maci/blob/dev/contracts/contracts/gatekeepers/WorldIDGatekeeper.sol). For the front end we forked QDH (Quadratic Dollar Homepage), which we came to find out is outdated and used an older MACI version, so we had to update it and make it work with the current MACI implementation. We've removed the POAP gating and switched to WorldID gating for which we used the IDKitWidget.
We've deployed the MACI contracts to Optimism Sepolia (https://sepolia-optimism.etherscan.io/address/0x0eBD0f5C0F0131418ab6e49De1a40c3a86722b4f)