Skip to content

aadishjain2911/VoteChain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 

Repository files navigation

VoteChain

Description

This project aims to develop a blockchain based electronic voting system in Python.

Why Blockchain? Blockchains are being used to cut out the middleman and create a secure, decentralized way for service providers and customers to connect and transact safely and directly.

Where is it important to cut the middleman? You guessed it right : It is indeed in elections

What can we do? With the knowledge of Blockchain, we can create a secured, tamper-proof Electronic Voting System to avoid any adultery during elections.

We will start with understanding the basics of blockchain, how blockchain works, and the implementation of BitCoin which will include some understanding of cryptography. We will then start building upon the simulated prototype of the blockchain to understand its each building block in detail. We will simulate a blockchain while implementing vote casting, block generation, block mining, proof of work, and cryptographic signatures. It will contain basic functions for the users like view contesting candidates, cast vote which will be registered securely and anonymously, and display the result at the end.

All of this will be done in the form of a simulation, later this project can also be extended to creating our own blockchain (on Ganache for example) and deploying it for users if time permits.

It is important to note that this project might be a bit heavy on the learning side, so applicants should be well prepared for the same.

Checkpoints

  • Kickstarting with Bitcoin White paper , Understanding Cryptography, Basics of Python and git
  • Reading Recent Paper(s) based on E voting System and Implementation Plan for Backend
  • Implementation of important classes and identifying the required internal functions
  • Wrapping up backend implementation
  • Adding mentioned APIs for users

Weekly Plan

Week 1

Reading material for this week -

Week 2

Reading Material for this week -

Week 3

Reading material for this week -

Week 4

This week we will build an implementation plan for VoteChain which should contain the following things -

  • All classes that will be required
  • Methods to be defined in each class (only names and their description, not the complete implementation)
  • A flow chart describing which function is called when

Note: Keep in mind that we are only simulating a blockchain, so we cannot implement some parts of the blockchain like updating target threshold, actual broadcasting between physically divided nodes, building the complete merkle tree for each block etc.

Week 5

This week we will start the implementation

Optional Resource for Better Understanding

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors