Polkadot Blockchain Academy 2022 Cohort Final Exam Project.
- Basic quadratic voting system
- Anonymous quadratic system (commit-reveal)
- Staking
- Slashing
- Caching-out
- Tests & Mocks
- Author creates a proposal and generates a keypair for this proposal
- The public key of the proposer is distributed to voters
- Voters encrypt their vote using the public key and sign transaction with their private key
- Once timeout and enough votes are collected, the proposer is ready to reveal the results
- The proposer uses their private key to decrypt votes and calculate the outcome of vote
If the proposer reveals results before the timeout -> slashing If the proposer tries to inside-trade the intermediate vote results -> no solution, might be worth using nominating random voters to generate keypairs and use multi-sigs to collectively reveal the results
- Author publishes a proposal
- The voters commit their decision
- Once timeout is out, the voters have some time to reveal their choices
- If the voters does not reveal their results -> slashing