The main idea for codefundo++ comprises of implementing a mobile based application which will have the following features:
- An app which will have the latest updated voters list on it. This basically would be the main voting app from where the eligible voters will vote and the results will be declared immediately after the elections.
- It would basically have access to the Aadhar database( or an equivalent database which has fingerprints and DOB of the potential voters). Once a person turns 18, he/she would be added to the voters list. The person would be able to login to the app with their fingerprint if eligible. The candidates standing in the election would added manually by the Election authorities. A voter can vote only once according to the designed smart contract. After the elections are over, the results are displayed directly on the same app within minutes of the process.
- The users can start with the project by simply downloading the proposed mobile application in their phone. Since this is only the prototyping stage, we are only going to build the android application for demonstration purposes.
- The final application will require the use of Aadhaar database.
- We would be using a public blockchain like ethereum as a proof of concept to serve the aforementioned purpose.
Transcript for video: We have targeted two important aspects of voting in codefundo++ 2019. These two issues are adding a person to the voter's list directly as soon as they turn 18 and declaring the results of election as soon as possible. In this video, a proof of concept of our solution is shown. We have a python file named aadhar.py which takes input as the aadhaar number of the person and then takes the fingerprint of the person to verify if he is the same person and then if the person hasn't voted earlier a new account is created in the blockchain with some dummy ethereum and the private key corresponding to the person's account is given to the person. Once, we get the private key we simply go to the web portal and then login using metamask (for demonstration purposes) into our blockchain account by putting the private key we just got from the python script. Now on reloading the website, the person will be able to vote hassle-free. Once the person votes, the person can no longer vote and also the current vote count is instantly available. In this way, we have solved the two target problems. Thank you.