Paper 2022/310

Dispute-free Scalable Open Vote Network using zk-SNARKs

Muhammad ElSheikh and Amr M. Youssef


The Open Vote Network is a self-tallying decentralized e-voting protocol suitable for boardroom elections. Currently, it has two Ethereum-based implementations: the first, by McCorry et al., has a scalability issue since all the computations are performed on-chain. The second implementation, by Seifelnasr et al., solves this issue partially by assigning a part of the heavy computations to an off-chain untrusted administrator in a verifiable manner. As a side effect, this second implementation became not dispute-free; there is a need for a tally dispute phase where an observer interrupts the protocol when the administrator cheats, i.e., announces a wrong tally result. In this work, we propose a new smart contract design to tackle the problems in the previous implementations by (i) preforming all the heavy computations off-chain hence achieving higher scalability, and (ii) utilizing zero-knowledge Succinct Non-interactive Argument of Knowledge (zk-SNARK) to verify the correctness of the off-chain computations, hence maintaining the dispute-free property. To demonstrate the effectiveness of our design, we develop prototype implementations on Ethereum and conduct multiple experiments for different implementation options that show a trade-off between the zk-SNARK proof generation time and the smart contract gas cost, including an implementation in which the smart contract consumes a constant amount of gas independent of the number of voters.

Available format(s)
Publication info
Published elsewhere. Minor revision. Financial Cryptography and Data Security 2022 (FC 2022) workshops, WTSC'22
Open Vote NetworkE-votingBlockchainzk-SNARKSmart contractsEthereum
Contact author(s)
m_elshei @ encs concordia ca
2022-03-07: received
Short URL
Creative Commons Attribution


      author = {Muhammad ElSheikh and Amr M.  Youssef},
      title = {Dispute-free Scalable Open Vote Network using zk-{SNARKs}},
      howpublished = {Cryptology ePrint Archive, Paper 2022/310},
      year = {2022},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.