Giter Club home page Giter Club logo

blockchain-e-voting / ethzksnark-voting Goto Github PK

View Code? Open in Web Editor NEW
27.0 6.0 12.0 4.79 MB

Secure E-Voting framework based on Ethereum blockchain and zkSNARK

Home Page: https://blockchain-e-voting.github.io/EthzkSNARK-Voting/

License: GNU General Public License v3.0

JavaScript 96.93% HTML 1.06% CSS 2.01%
blockchain e-voting ethereum zero-knowledge-proofs zksnark zokrates vote rinkeby arithmetic-circuit voter-registration voting transaction

ethzksnark-voting's Introduction

EthzkSNARK-Voting

Secure E-Voting framework based on Ethereum blockchain and zkSNARK

Logo

Demo Video

Slides

ABOUT

Voting is the representation of democracy in a country, to select a person for parliament, approve a bill in a parliament and decision making in board meetings etc. Voting systems have been around of hundreds of years and but they were evolving very slowly. Many solutions were proposed in the history, but most of them were rejected because of some security issues and limitations. Finally at the 21th century, evoting systems started to bloom with the development of the web technologies

With the development of the blockchain 2.0, the researchers started to go towards a new destination by applying blockchain to software engineering applications. E-voting systems were developed based on Ethereum as well as Zcash and bitcoin. But they were not full e-voting frameworks. Due to the limitations of proposed solution, those were unable to exist with the modern world.

In order to prove feasibility of developing a secure e-voting system by combining some concepts of Zcash with the ethereum platform, this research is about to implement a full e-voting framework with voter registration, voter verification, voting, tallying and end to end verification etc. To maintain the user privacy, zk-SNARK which is a concept used in Zcash for maintaining private transactions, was used. To write Immutable codes, a concept called smart contract which is used in ethereum, was used. Due to the experiment and testing we done, it is very clear that this system is practical solution and works fine by protecting voter privacy.

ethzksnark-voting's People

Contributors

dulajsan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ethzksnark-voting's Issues

2_deploy_contracts.js missing contracts ?

Shouldn't other contracts (like Candidate.sol, Election.sol, Voter.sol, etc) be in the file 2_deploy_contracts.js ? How/when these contracts are deployed to the testnet ?

Facing errors in Verifier.sol file

Hello Everyone,

This is Junaid and I have been working on incorporating ZK SNARKs within a voting application. I am facing some issues regarding the deployment of the contracts.

I am sharing the link for the repo that I have been working on.
https://github.com/Blockchain-E-Voting/EthzkSNARK-Voting/tree/master/contracts

First I am facing the issue in the 'verifier.sol' file for the switch statement. When I tried to resolve it by replacing the switch statement with if/else statement but then the compiler didn't able to identify the 'call' function and threw error 'Call' function not identified. I am using the solc (solidity compiler) version 0.4.23.
It would be great if anyone would help me in getting this application run properly.

Looking forward to your contribution.

Best Regards,

switch error

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.