Implementation of Secure Voting System using Blockchain

— It is very challenging to build a secure voting system that offers fairness and privacy of current voting schemes. In this implementation paper, we evaluate an application of blockchain as a service to implement distributed electronic voting systems. Our objective is to provide a decentralized architecture to run and support a voting scheme that is open, fair, and independently verifiable. Our proposed solution implements the protocol which achieves fundamental e-voting properties as well as offer a degree of decentralization and allow for the voter to change/update their vote and the experimental result shows that our proposed solution is beneficial for the existing and upcoming voting system.


INTRODUCTION
A fair and Transparent election is need for today's society according to the today's social environment. The current ballot system does not offer transparency in counting of votes. There are several threats of voting frauds, like fake voters, frauds in the polling booths etc. So, this need for establishment of secure decentralized fraud less, voting system came into existence. Decentralized voting system using blockchain can overcome all the issues in traditional voting systems. Blockchain provides various properties due to its decentralized ledger technology. Blockchain is a decentralized computational and information sharing platform which enables multiple authority domain who do not trust on each other but they cooperate and collaborate in certain decision making process. Blockchain uses add and append only strategy. We cannot delete the existing data in blockchain. Blockchain uses peer to peer network systems. Blockchain is a chain of blocks and it include all the information of user through distributed ledger technology. The concept of block interconnection was evaluated from Merkle tree by Ralph Merkle. Every node is labeled with a cryptographic hash of a block data. Thereby a non-leaf node is labeled with a cryptographic hash of labels of child nodes.As all the blocks are connected to each other,any change in blockchain can be easily detected.
To carry out a national election certain e voting system should ensure many of the security requirements.
They can be listed as voting system should not be traceable The voting system should ensure whether the voter's vote was counted & proof of vote should be provided.Voting system should not enable single entity to control systems. Only eligible individuals are allowed to participate in voting. The Election system should not be expensive. Depending on the role election system should provide limited access to participants.The use of blockchain Technology in E-Voting system can meet all the above needs as a blockchain is tamper proof and nonalterable.

Modules of Voting System
Typically it consist of two models :

The Administrator Module
The Administration module is made for the authorized person or admin of the organization. Admin has ability to handle the every function of the voter and the Candidate.The Admin can perform the functions such as Insertion of the name, Deletion of the name, updating the name and the authority to carry out the voting procedure.Admin will able to see if someone tampered the vote and he will take necessary action against it.

The User or Voter Module
In this module User or voter will able to see the names of all electing Candidates and vote the candidate. 2. SECURITY IN BLOCKCHAIN In proposed blockchain system we used ECC cryptography to provide security in the system. ECC cryptography contains a key pairs of two parts: (i) public key and (ii) private key. The public key is shared among everyone where anyone can view all the public details in the network. It is strongly tied with the private key for security purposes. These keys are helpful for encryption and decryption process. A private key is similar to a password and is linked with a public key. Private key is not publicly available to everyone and is not shared with anyone in order to provide security to an account. It is kept secret and known only to the account holder. The private key is used to provide authenticity actions for accounts. Unlike with normal account, to access and know the account details, or to take any important action, one must use the private key at the receiver end which is known to receiver only so that security can be provided to an account using ECC algorithm. In the graphic below one can see how public key and private key pairs work, when sender is sending a message to receiver. Initially the sender encrypts the message with the public key of the receiver and then sends encrypted message to the receiver safely, on the other side when this encrypted message reaches to the receiver then the receiver receives this message and decrypts that using the private key of the sender which is known to receiver only. In this way security is provided to the message using ECC cryptography. 3.METHODOLOGY In this system we have used decentralize network in order to store voting data in the form of blocks. Blocks are interconnected with each other to creating the chain of voting records. In the proposed system the blockchain is used for security purpose and also we have created different levels of trusted contacts. If the higher authority allows the data to get stored in blocks then only it will be store in the blockchain database. Once the data gets stored it cannot be tamper as blockchain is so much securated. The blocks will contain the information as : username, previous hash value, timestamp. The block is one transaction of blockchain, which will broadcast in the whole system when it gets verify. Whenever new block is authenticated by the system, block is added at end of the blockchain with help of hash value and this structure is looks like LinkedList. This sequence of blockchain goes on increasing as the blocks get added. The primary block in the blockchain is called as the Genesis Block. It has value as zero for previous block because genesis block does not have any previous block. The next block will have the hash value of the previous block and this way the process of adding blocks in the system take place.

4.PROPOSED ALGORITHM
The algorithms for processing our proposed work are as follows.

SHA3_256,DSS algorithm:
SHA(Secure Hash Algorithm) is used for generating hash value. It is better than MD5 algorithm because when hash value generated from data using SHA it is not possible to get original data from that. SO it is secured. DSS(Digital Signature Standard) algorithm is used to create signature for security purpose.

5.EXPERIMENTAL OUTPUT
After implementing the project, the generated output is shown below.  .CONCLUSION Nowadays,Blockchain technology is used in various fields.It is gaining more popularity day by day.As a result with the help of blockchain, voting system needs to be more secure,advanced and reliable.This application will provide transparency and cost-effective election by guaranteeing the privacy of voter.Encryption is used in the system.No votes are tampered in the system,it will detect the tampered votes and resolve it.This leads to achieve transparency.The main reason behind this system is to present an idea of implementation of blockchain in voting system.