Skip to content

Code for the paper "Dispute-free Scalable Open Vote Network using zk-SNARKs", FC 2022 - WTSC'22

Notifications You must be signed in to change notification settings

mhgharieb/zkSNARK-Open-Vote-Network

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open Vote Network using zk-SNARKs

This is the proof of concept of our paper "Dispute-free Scalable Open Vote Network using zk-SNARKs"

Installation

  1. Install Nodejs
  2. Install Circom 2.0
  3. Install Truffle Framework: npm install -g truffle
  4. Install Ganache-cli: npm install -g ganache-cli
  5. Clone this repository and change directory to its path
  6. Install the required packages npm i

Execution

  • cd build

  • Run ./setup.sh -d [DESIGN_TO_BE_USED] -n [NUMBER_of_VOTERS] where [DESIGN_TO_BE_USED] could be:

    • original: Our original proposed design
    • sha256: The first enhancement using Sha256
    • progressiveSha256: The second enhancement using Sha256
    • progressivePoseidon: The second enhancement using Poseidon

    For example ./setup.sh -d "original" -n 3

  • Check the test code in the file test/completeTest.js

  • Run the local Ethereum node: ganache-cli -l 30e6 -a [[NUMBER_of_VOTERS + 2]]

  • Run the command truffle test to view the result and the gas cost of each transaction

Notes

About

Code for the paper "Dispute-free Scalable Open Vote Network using zk-SNARKs", FC 2022 - WTSC'22

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published