Skip to content

Blockchain-E-Voting/EthzkSNARK-Voting

Repository files navigation

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.