Skip to content

aragonzkresearch/ovote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ovote Circuits Contracts

Research project

OVOTE: Offchain Voting with Onchain Trustless Execution

This repo contains the OVOTE circuits and contracts, compatible with the ovote-node and ovote-clientlib. All code is in early stages.

More details on the OVOTE circuits and contracts design can be found at the OVOTE document.

OAV: Onchain Anonymous Voting

Reusing the same census created for OVOTE, users can vote onchain anonymously.

In OAV, voters generate a zkSNARK proof in their browsers proving that they know the private key which public key is in the Census MerkleTree and that they generated a valid signature over the vote value with that key.

Test

  • Circuits
    • Needs installed: circom, nodejs (version: >16)
    • Install the dependencies: npm install
    • Run the tests: npm run test
  • Contracts
    • Needs installed: foundry
    • Run the tests: forge test