Skip to content

A Decentralised digital Voting System based on Blockchain architecture. (e-Zest Hackathon 2018 Winner)

Notifications You must be signed in to change notification settings

thephenom1708/ElectoChain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Kaivalya MendkiKaivalya Mendki
Kaivalya Mendki
and
Kaivalya Mendki
Dec 20, 2021
241df1f · Dec 20, 2021

History

32 Commits
Mar 12, 2020
May 16, 2021
Dec 20, 2021
Mar 12, 2020
Mar 12, 2020
May 16, 2021
Oct 17, 2019
Mar 12, 2020
Aug 11, 2019
Mar 13, 2020
Mar 12, 2020
Oct 4, 2018
Mar 12, 2020
Mar 12, 2020

Repository files navigation

ElectoChain

A Decentralised digital Voting System based on Blockchain architecture.

Research Paper

A research paper has also been written on this project click here

Technology-Stack:

  • Front-End Development: HTML,CSS,Bootstrap,Vanilla JS,Jquery
  • Data-Processing and Blockchain Development: Python 3.6.5
  • Back-End Development: Django-Python Framework
  • Database management: DB SQLite

Voter Authentication :

  • The voter authentication is carried out in two steps and it is implemented using Aadhaar API services.
  • A voter has to provide his Thumb impression ID and Aadhaar ID to the system which will serve as an input to Aadhaar API.
  • Aadhaar API will provide the result as a basic detail of the voter if he/her has been successfully authenticated.

Vote Casting and Blockchain REST API Development:

  • Here system will create a unique voter ID for the voter.
  • Again the voter will cast a vote for any one of the candidate.
  • After vote casting there are six different steps are carried out for which we have designed a special REST API:
    1. Transaction Verification
    2. Proof of Work Algorithm
    3. Block creation and Serialization
    4. Block Broadcasting and validation
    5. Consensus Algorithm
    6. Byzantine Fault Tolerance

Peer to Peer (Distributed) Network Design:

  • A peer to peer distributed network on which the blockchain architecture works.
  • A Web Socket request API for broadcasting the all the requests into P2P network.
  • Handling concurrency by using a mutex lock mechanism.

Database Management:

  • A relational DB SQLite is used as a database for the project.
  • Many cryptographic and encryption algorithms are used to store the data securely in the database (SHA-256, CSPRNG, salt-hashing, etc).
  • Complete normalization is also achieved in different relations of the database.

Admin Section:

  • This panel is only reserved for the governing body of an election.
  • Every admin is assigned a unique Election Commission ID for authentication.
  • Result analysis of election is carried out in this section.

Architectural Control flow of the System

The operational flow of the System

Steps to run the application:

  1. Clone this repository.
  2. Change this to working directory.
  3. Hit command: "docker-compose up --build"
  4. Go to http://localhost:5000/auth/ in your browser.

About

A Decentralised digital Voting System based on Blockchain architecture. (e-Zest Hackathon 2018 Winner)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published