VoteChain


  • Blockchain Development


Mentors :

  • Aadish Jain & Gaurang Dev

Mentees :

  • 4 (but can take more based on SoP)


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.
Project Details:
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.

Resources: - https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8978295
- https://bitcoin.org/bitcoin.pdf
- https://www.tutorialspoint.com/blockchain/blockchain_proof_of_work.htm
Prerequisites:
We are majorly looking for enthusiasm in students for understanding blockchain which will be judged by the amount of effort put in their proposals, though basic knowledge of python and git may help

Tentative Timeline :

Week Work
Week 1-2 Kickstarting with Bitcoin White paper , Understanding Cryptography, Basics of Python and git
Week 3-4 Reading Recent Paper(s) based on E voting System and Implementation Plan for Backend
Week 5-6 Implementation of important classes and identifying the required internal functions
Week 7 Wrapping up backend implementation
Week 8 Adding mentioned APIs for users
Bonus UI Development and Creation of Real Blockchain on Ganache