College Election System using Blockchain

. Blockchain is a distributed system that confirms security and reliability. It has started a new era of a solid and consensus system. Because of blockchain's emphasis on security, many other operations and processes are adopting the same reliable approach. Almost all processes and operations are now encouraged to be computed electronically in the digital Ethereum network that has been presented. In the current situation, we have seen what the conduction of elections has done to the worsening situation of the Covid-19 Pandemic. The proposed system uses an Ethereum network on a blockchain platform to implement a college voting system, making use of the Aadhar API. E-voting will help to support transparency and voters' trust to reduce corruption and unreliability in the voting processes. The use of this system will allow a voter to vote from home while also having the assurity that this process is completely secure and reliable due to the use of blockchain technology.


Introduction
Today, the vast majority of our lives are led over the web or internet innovations. We perform most of our banking transactions and finance via the web/mobile application. This includes transferring money to individuals via payment portals, registering our vehicles on the web and connecting with loved ones on the internet, etc. We hardly see any industry that isn't leveraging technology to improve their service or industry function. Claims of fraud or extortion and outside impact can come up if technology is not used to dispose of election tampering or altering. There is a need for an electoral platform that streamlines the process of checking cast a ballot. All while giving transparency and straightforwardness to the election outcomes. Blockchain voting systems make use of smart contracts, which permits ticket confirmation and vote counts to be performed in a decentralized way and confirmed by system members. Under the blockchain voting system, the hackers would have to break into an entire system of PCs to gain access to the data, which is highly unlikely. Due to the ongoing pandemic, it has become extremely difficult to step out for everyone, be it teachers or students. This project will provide a platform for college elections to be carried out without anyone having to get out of their houses. Blockchain technology has been used to ensure that the process of vote casting is secure and there is no tampering. Each block on the chain contains the id of the voter, the person they're voting for and their slogan. This information is encrypted and stored as a block on the blockchain in every node. This means that even if someone attempts to change the data on one node, as the change won't be reflected on the other nodes, the data will be secure.

Literature Review
Fraij et al. proposed a voting system using blockchain and Ethereum networks to build the trust in the voting system [1]. In this paper they have proposed a distributed system, so that authorities cannot or will not interfere in the voting records, so that corruption and cheatings can be omitted.
Many new changes can be accommodated by introducing new systems, where, instead of performing high-level computational tasks for mining, mining can be based on a predetermined turn for each node to mine a new block in the blockchain, as proposed in [2]. A blockchain-based electronic voting system can utilize smart contracts to enable secure and cost-efficient elections while guaranteeing voters privacy and integrity [3]. Above mentioned system uses the "voter districts" having different smart contracts connected to a boot node that isn't connected to the actual blockchain. Syeda Sumbul Hossain et al. [4]. A distributed network comprises an enormous range of interconnected nodes , in which each node has their own copy of distributed ledger that contains the history of all the transactions the system has processed. Bitcoin scripting language cannot support the creation of complex smart contracts that contain rich logic but ethereum supports building and running complex applications based on smart contracts on the blockchain, as stated by M. Alharby et al.. [5] [6], Using an Ethereum private blockchain, it is possible to send hundreds of transactions per second onto the blockchain, utilizing every aspect of the smart contract to ease the load on the blockchain. Pali et al. [7] It focused the launch of the AADHAR api on the interface of various e-governance functionalities to ensure the optimal utilization of information, communication, and Technology Infrastructure. There are also benefits and usage of the api followed by the Privacy and Security Issues in the Aadhaar Life Cycle. Decentralized blockchains are immutable. For bitcoin, this means transactions are permanently recorded and viewable to anyone. Each stores a collection of transactions with a display of a public ledger that records and exhibits any bitcoin transaction that takes place as is shown by Nakamoto, Satoshi. [8] It can remain in a computer and easily stored by a code word. You have better control over your money. E-voting, as discussed [9] is a potential solution to the lack of interest in voting amongst the young tech savvy population. For the process to become less opaque, open for all, and independently auditable, a potential solution would be to base it on blockchain technology. S. Aruna et al. [10] mentions that, despite the fact that blockchains are exceptional at securing data that is stored in them, the main problem occurs with the identification of the voter before the voting process. Although blockchain is a newly emerging technology, there are multiple applications of blockchain outside of cryptocurrency, in various fields if the legacy issues can be cleared as mentioned by Kitsantas et al. [11] Ali Mansour Al-madani et al. [12] blockchain is a better choice for building a voting application. In the blockchain, all the data is not allocated on a central server, but the data allocated via decentralization is called a distributed database. The data distributed across each device connected to the blockchain using a peer-to-peer network of nodes which talk to one another. In this review, a comprehensive view of e-voting on a thematic basis like e-voting with iot and fingerprint, e-voting with blockchain and Aadhar verification, etc is present. An attempt has been made to include every aspect and approach taken by individuals to make a robust system by Kanika Garg et al. [13] Rabeya Bosri et al. [14] EVM is introduced in this that also provides the ease of tabulation of ballots into result, that gives a more accurate and faster outcome compared with traditional paper-based voting systems. Data of an individual will be collected, shared, and used in a way so that no entity other than the system or who are directly involved in the process will be able to know or crack the information.

Proposed System
The proposed system will make use of react.js to make the front-end of the Election System. Smart Contracts, using Solidity, will be used to ensure the authenticity of the votes along with ensuring that one person is allowed to vote only once. To authenticate a particular user, we will be emulating the Aadhar number verification with the help of firebase's PhoneAuth Api. This system will enable students to vote for their Class Representatives, College Team Members and officials of the Student Council.
The entire blockchain runs on the smart contracts that have been written using the solidity language. The contract defines the basic instances of candidates and elections. As soon as the contract is deployed, the account deploying the election is automatically initialized as the admin for the election. When the website is accessed using that account, the admin panel is automatically visible which enables the admin to authorize elections. The contract specifies how candidates are to be initialized and how a vote is to be registered.
Web3.js is the element which connects the web application to the blockchain. The testing environment Ganache is used for setting up our blockchain and performing basic testing of smart contracts. It is an environment that is free of cost and helps deploy contracts and run tests.
A number of platforms have been used to facilitate the process of creating this system. They are as follows:a. Ganache: Ganache is a testing environment which is used for testing the functionality of smart contracts and provides a private blockchain. It is used to test the smart contracts as it provides 10 accounts with fake ether.
b. Truffle: It is a framework used for deploying the contracts, truffle automatically provides the structure for storing the contracts and migrations folders for connecting it with mainnet and testnet c. Metamask: Metamask is a crypto wallet-it allows users to store and transact Ethereum. It allows users to access their Ethereum wallet through a browser extension or mobile app, which can then be used to interact with decentralized applications.

A. WORKFLOW
The election can start only after the contract has been deployed. The account deploying the contract will be given admin status and thus will be able to access the admin side of the website. This will enable the admin to initialize, start and end elections. Step 1: Aadhar Verification To be eligible to vote, all voters will need to verify their Aadhar registered mobile number on the website. Once they enter the otp, they will be directed to the voting portal.
Step 2: Initializing Election The admin will have to enter their details such as their name and position along with the election details. They will then be able to start the election for a certain amount of gas fee which they will need to approve with their meta mask wallet.
Step 3: Adding Candidates The admin will be able to add candidates contesting in the election along with their slogans. These are the candidates out of which the winner will be selected after the election ends.
Step 4: Casting a Vote Once a voter's Aadhar has been verified, they will be eligible to vote. On the voting page they will find a list of all the candidates out of which they will be able to vote for only one candidate that they support.
Step 5: Result declaration Once the election is over, the admin will have to end the election from their side to declare the winner. After the election has ended, all the voters will be able to view the number of votes for each candidate and the name of the winning candidate. To start another election, the admin will need to redeploy the contract.

Experimental Results
Aadhar card should be verified, to do so enter the phone number that is linked to it and you will receive an OTP. Enter it in the given dialogue box to proceed further as shown in the figure below.

Fig 2 : Aadhar Verification
After entering, your Aadhar number will be verified, on successful verification you will be directed to the next page. On this page your account number will be displayed, after which you will have to enter your personal details. Next you shall proceed to the election process.

Fig 3 : Initializing Election
Further, in the add candidates page the next step it is required for you to enter your name and also a cheerful and a strong slogan. This slogan might help your party.

Fig 4 : Adding Candidates
Once after entering the candidates details successfully, name of all the candidates will displayed below in the candidates list. Furthermore, an admin page will appear displaying the details of the admin which was asked during initializing election (as shown is Fig 3) and show the current status of the election and will also have the right to end the election. On homepage, inside the voting page a voting poll will be opened for all the voters where you can choose any candidate of your preference. In the voting page, to confirm your vote after casting, the user shall receive a dialogue box as shown in the figure below, with their voting details displayed below. Each ethereum transaction requires computational resource to execute, hence a gas fee is issued after every transaction is occurred during voting. Gas refers to the fee required to conduct a transaction on ethereum successfully. Once admin ends the election. The results will be declared in the results page and one winner from all the candidates will be announced who has received the maximum number of votes during the election process. A web application that enables the smooth and secure conduction of a college election has been developed to make the process of voting easier on both the voters and the election committee. The use of Blockchain technology opens a plethora of options for providing confidentiality throughout the process and Aadhar verification takes care of the integrity of the interaction.
In the future, this project can be worked on to include the actual Aadhar API, providing a higher level of authenticity. A feature can be added which will show the voters different candidates based on their voting district, to give an example for a college election, showing the students of the IT department candidates only from the IT department.