Introduction
Isokratia is a trust minimized governance platform that uses off-chain (free) voting and recursive SNARKs to increase decentralization and reduce trust assumptions.
Background
You can read more about what motivated Isokratia here.
Project Description
The project aims to take current Isokratia and build it into a production-ready public good. Snapshot, a decentralized governance platform, will partner to support the development and set the performance targets for Isokratia. After successful, the project will be adopted by Snapshot and scale voting in a trust minimized way.
Requirements
- Background in Ethereum, specifically in the areas of cryptography and zero-knowledge proofs.
- Experience with frontend programming such as ReactJS, Typescript, etc
- Familiarity with cryptographic libraries and frameworks such as circom, halo2 and etc.
- Understanding of Ethereum and its applications in cryptography and zero-knowledge proofs.
Milestones
Part 1
- Nova: switch recursion from groth16 pairing based recursion to instead use Nova using Nova Scotia
- Verifier: write a verifier for Nova outputs in a succinct proof system like Groth16 circom or plonk-kzg based halo2 that can be used on-chain
- EIP712: support EIP712 signature verification in Circom instead of just personal sign. For compatibility with existing Snapshot.
- Compound Governance: support Compound Governance smart contracts to calculate voting power without relying/verifying any entity
Part 2
- On-Chain Voting: support direct voting on-chain. This is to support smart contract wallets and relax the requirement of running an aggregator node for censorship resistance.
- Snapshot Client Integration: integrate with Snapshot client. Likely will need some small modifications to support verification of voting power. Will will be done on another Snapshot UI (provided by Snapshot). Snapshot might make a SDK for that.