0% found this document useful (0 votes)
4 views

Project Report Sem 5 Final

This project report details the development of a blockchain-based voting system aimed at enhancing security, transparency, and efficiency in elections through decentralized identity management. Utilizing Ethereum's blockchain and smart contracts, the system addresses traditional voting challenges such as tampering, identity fraud, and high costs. The proposed solution demonstrates the potential of blockchain technology to revolutionize voting processes by ensuring immutable vote storage and real-time transparency.

Uploaded by

Varun Sahu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Project Report Sem 5 Final

This project report details the development of a blockchain-based voting system aimed at enhancing security, transparency, and efficiency in elections through decentralized identity management. Utilizing Ethereum's blockchain and smart contracts, the system addresses traditional voting challenges such as tampering, identity fraud, and high costs. The proposed solution demonstrates the potential of blockchain technology to revolutionize voting processes by ensuring immutable vote storage and real-time transparency.

Uploaded by

Varun Sahu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

A

Project Report
On

Identity Management Using Blockchain for Secure Voting

Submitted in partial fulfillment of the requirement for the award of


BACHELOR OF TECHNOLOGY
in
COMPUTER SCIENCE & ENGINEERING

UNDER THE GUIDANCE OF


Dr. Suraj Sharma
Associate Professor

SUBMITTED BY

Varun Sahu
(22027171)

Vaibhav Jadhav
(22027168)

Himanshu Gurjar
(22027133)

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING


SCHOOL OF STUDIES OF ENGINEERING & TECHNOLOGY GURU
GHASIDAS VISHWAVIDYALAYA, BILASPUR, INDIA
NOVEMBER 2024
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
SCHOOL OF STUDIES OF ENGINEERING & TECHNOLOGY
GURU GHASIDAS VISHWAVIDYALAYA, BILASPUR, INDIA
_____________________________________________________________
CERTIFICATE

This is to certify that the work which is being presented in the B.Tech. Mini Project
Report entitled Identity Management Using Blockchain for Secure Voting, in
partial fulfillment of the requirements for the award of the degree of Bachelor of
Technology in Computer Science and Engineering and submitted to the Department
of Computer Science and Engineering, Institute of Technology, Guru Ghasidas
Vishwavidyalaya (A Central University), Bilaspur, Chhattisgarh, India is an
authentic record of our own work carried out during a period from August to
November (5th semester) under the supervision of Dr. Suraj Sharma, Associate
Professor, Department of CSE. The content presented in this project report has not
been submitted by us or by anyone else for the award of any other degree elsewhere.

Signature of Students

………………………… …………………………
Varun Sahu Vaibhav Jadhav
22027171 22027168

…………………………
Himanshu Gurjar
22027133

This is to certify that the above statement made by the student(s) is correct to the
best of my knowledge.

Date: ........................................
Dr. Suraj Sharma
Associate Professor

……………………………
Prof. Alok Kumar Singh Kushwaha
Head of Department, Computer Science and Engineering
DECLARATION
_______________________________________________

We at this moment declare that the project entitled – Identity Management Using
Blockchain for Secure Voting, which is being submitted as a Mini Project of the
5th Semester to Department of Computer Science & Engineering Guru Ghasidas
Vishwavidyalaya, Bilaspur (C.G.) is an authentic record of our genuine work done
under the guidance of Dr. Suraj Sharma, Associate Professor, Dept. of Computer
Science & Engineering, School of Studies of Engineering & Technology, Guru
Ghasidas Vishwavidyalaya (A Central University), Bilaspur, Chhattisgarh. We also
declare that if any information we provide is false, we shall be held responsible for
the consequences.

Varun Sahu (22027171)

Vaibhav Jadhav (22027168)

Himanshu Gurjar (22027133)


ACKNOWLEDGEMENT
__________________________________________________

We express our sincere gratitude to Dr. Suraj Sharma, Associate Professor,


Department of Computer Science and Engineering, Institute of Technology, Guru
Ghasidas Vishwavidyalaya, (Central University), Bilaspur, Chhattisgarh, India for
his stimulating guidance, continuous encouragement and valuable suggestions
throughout the present work.

We would like to place on record our deep sense of gratitude to Prof. Alok Kumar
Singh Kushwaha, Head of Department, Computer Science and Engineering, GGV
Bilaspur for his generous guidance, help and useful suggestions.

We are extremely thankful to Prof. S C Srivastava, Dean, School of Studies


(Engineering & Technology), Guru Ghasidas Vishwavidyalaya, Central University,
Bilaspur, Chhattisgarh, India for providing us with infrastructural facilities to work
in, without which this work would not have been possible.

NAME OF STUDENT(S): SIGNATURE:

Varun Sahu
Vaibhav Jadhav
Himanshu Gurjar

Date:
CONTENTS

CERTIFICATE

DECLARATION

ACKNOWLEDGEMENT

ABSTRACT

LIST OF FIGURES

Figure 1. Smart Contract Working Principle


Figure 2. Proposed E-Voting System Based on Blockchain
Figure 3. Flow model of the E-voting system based on blockchain
Figure 4. Screenshot of Setting up Ganache
Figure 5. Command line for Truffle Framework
Figure 6. User Interface and MetaMask Verification
Figure 7. Transaction List

LIST OF TABLES

Table 1. Various Aspects of Smart Contract

CHAPTER 1 INTRODUCTION

1.1 GENERAL BACKGROUND

1.2 STATEMENT OF PROBLEM

1.3 OBJECTIVE

1.4 METHOD

CHAPTER 2 LITERATURE REVIEW

CHAPTER 3 PROPOSED METHODOLOGY

CAHPTER 4 RESULTS AND DISCUSSION

CHAPTER 5 CONCLUSION AND FUTURE DIRECTION

CHAPTER 6 REFERENCES
ABSTRACT

This project presents a blockchain-based solution for secure and transparent voting,
emphasizing decentralized identity management to address challenges in traditional
voting systems. The system leverages Ethereum's blockchain technology to ensure
tamper-proof vote storage, robust voter authentication, and privacy. Smart contracts,
developed and deployed using Truffle Suite, automate the voting process, while tools
like MetaMask and Ganache facilitate secure wallet integration and local blockchain
simulation. Web3.js and Node.js enable seamless communication between the
frontend and blockchain backend, ensuring real-time interactions. The proposed
approach enhances trust in electoral processes by providing transparency,
immutability, and scalability. This project demonstrates the potential of blockchain
technology to revolutionize voting systems, offering a secure, decentralized, and
efficient alternative to conventional methods.

E-voting reduced the cost of election and provided convenience to some extent as
compared to the traditional approach of pen and paper but it was considered to be
unreliable as anyone having access to the machine physically can obstruct the machine
and alter the votes. Also, in order to control the entire procedure from electronic voting
to electoral results and tracking the outcomes, a central system is required. Voters are
not completely secure as vote can be targeted easily. It also possesses a great threat to
the right to vote and transparency. This paper provides a solution for removing
inconveniences from conventional elections using blockchain that has emerged as an
exciting technology for various application due to its unique characteristics that
outperform other technologies. The goal of this research is to establish a system for e-
voting that is decentralized rather than centralized by using blockchain technology that
guarantees protection to electorate’s identity, data transfer privacy and verifiability by
an open and transparent voting process.
Blockchain-Based Identity Management for Secure and
Transparent Voting Systems

1. Introduction
An election is the procedure of espousing a candidate to hold a public office or an
official position in order to establish a government through the voters. Elections are
considered as one of the founding pillars in any democratic society where the citizens
make a decision by voting for the competent candidate to form a healthy democracy.
The modern-day elections emerged only after the 16th century across Europe and
North America. Modern approach of voting system or EVM replaced the traditional
method of voting, which was a monotonous process, demanding arduous and taxing
efforts, resulting an ample scope of error and miscalculations. With the techno-
advancement, the mechanical system of voting proved far more fluent, serviceable and
reduced the human effort, thereby increasing the reliability and accuracy. The
proposed system employs the technologies like e-voting, blockchain and smart
contract to provide more security and convenience.

E-voting: E-voting refers to the process of casting and compiling votes using an
electronic system. Votes are stored in tape cartridges, diskette, smart cards and sent to
a centralized location for compilation process. The various forms of e voting are DER
(direct electronic recording) touch screens, optical scanners. The two main types of e-
voting are: On-site e-voting where electronic voting machines are placed / present in
the polling boots with some government official who will supervise the voting process
and people have to be in queue for casting the vote. Remote e-voting; where people
need not be present at the polling station instead can cast their vote from any remote
location using computers, mobile phones, etc. through internet, SMS, or kiosks. The
security community found electronic voting machines inaccurate and untrustworthy
based on security issues. The software can be undermined when the device is
physically reached which affects the votes on the machine. People’s privacy and
voting protection must be secured but it should not take too long for votes to be
counted, as it upraises concerns.
Blockchain: Blockchain proved to be a substitute for the conventional approach by
making system unalterable and transparent. Blockchain is an organized data structured
that includes blocks where each block is connected to every other block through a
chain. The first block is called as genesis block. Each new block will be stacked to
form a stack called a blockchain. Each block consists of data, hash and hash of
previous block. If any change is being made to the data available in a particular block,
consequently the hash of the block also gets changed but the next block will have the
same unchanged hash of the previous block which invalidates this block and all other
succeeding blocks. This is to avoid tempering because making change in one block
you will need to calculate hash for every other following block however hackers now
a days can compute hundreds of thousands of hashes in a matter of seconds. In order
to avoid this problem, it makes use of proof-of-work concept that delays the pace of
forming a new block. Moreover, it makes use of a distributed peer to peer network
where no central entity is present. Whenever a new block gets created, it is sent to all
other nodes present on this network where each node makes sure that no tempering is
done by verifying the block after which the new block is added to every other node’s
blockchain. Every node on the network agrees on whether the block is valid or not by
creating a consensus which makes blockchain so secure, safe and reliable.

Smart contract: A smart contract is a self-imposed contract that is embedded in a


blockchain managed computer code. This code includes a set of rules governing the
communication and decision on the contract between the parties, the contract will be
enforced automatically once the already defined rules are met. Smart contract gives a
framework for efficient control between two or more parties of tokenizes assets and
access rights. Fig 1; shows the working principle of smart contract. Blockchain is just
a database that cannot be altered, without smart contract, which expands and leverages
blockchain.
There are various aspects of smart contract including technical aspect, legal aspect,
economic aspect, that can be seen from the Table 1.

Table 1. Various Aspects of Smart Contract

1.1 General Background


Blockchain technology has emerged as a transformative solution to these limitations,
offering a decentralized and immutable ledger to record transactions securely. By
leveraging blockchain, voting systems can eliminate vulnerabilities like vote
tampering, identity fraud, and lack of auditability. The integration of smart contracts
further automates processes, ensuring fair execution of voting protocols without
manual intervention.

This project explores the development of a blockchain-based voting system that


prioritizes secure identity management. Using Ethereum's blockchain and tools like
MetaMask, Ganache, Web3.js, Node.js, and Truffle Suite, the proposed system
authenticates voters, stores vote immutably, and provides real-time transparency. It
addresses critical challenges of traditional voting systems while introducing an
innovative approach to modern elections.
1.2 Statement of Problem

The integrity of voting systems is fundamental to the democratic process, yet


traditional voting methods face numerous challenges that undermine trust and
efficiency. Despite advancements in electronic voting, significant vulnerabilities
persist, threatening the security and transparency of elections.

1. Lack of Transparency: Traditional voting systems, whether paper-based or


electronic, often operate in centralized environments, making it difficult to audit
results and verify the legitimacy of the process.

2. Susceptibility to Tampering and Fraud: Centralized systems are prone to hacking


and unauthorized access. Malicious actors can alter vote counts, disrupt systems, or
gain unauthorized control, compromising the electoral outcome.

3. Identity Verification Challenges: Ensuring that each vote is cast by an eligible voter
remains a persistent challenge. Current systems often rely on weak or outdated identity
verification methods, increasing the risk of voter impersonation or duplicate voting.

4. High Costs and Inefficiencies: The logistics of organizing elections, including


deploying voting infrastructure and personnel, are resource-intensive. Errors during
vote counting and the need for recounts further inflate costs and delay results.

5. Limited Accessibility: Traditional methods often fail to accommodate voters in


remote or inaccessible areas. These barriers to participation can lead to voter
disenfranchisement, especially among marginalized groups.

1.3 Objective
The primary objective of this project is to design and implement a blockchain-based
voting system with decentralized identity management to ensure secure, transparent,
and efficient elections. The specific objectives are as follows:

1. Enhance Security: Develop a tamper-proof voting mechanism by leveraging


blockchain's immutability and decentralized architecture to prevent vote manipulation
and unauthorized access.
2. Ensure Transparency: Create a system that allows real-time auditing and traceability
of votes while maintaining voter anonymity, fostering trust in the electoral process.
3. Streamline Voter Authentication: Implement decentralized identity management
using Ethereum blockchain and MetaMask to authenticate voters securely and prevent
impersonation or duplicate voting.
4. Enable Scalability: Design a system capable of handling large-scale elections
efficiently, ensuring seamless operation regardless of the number of voters or
transactions.

5. Improve Accessibility: Facilitate remote voting using blockchain technology to


ensure inclusivity for voters in remote or inaccessible locations.

6. Reduce Costs and Delays: Minimize election expenses by automating processes like
vote validation and counting through smart contracts, while also providing faster and
more accurate results.

7. Demonstrate Feasibility: Showcase the practicality of integrating tools like


MetaMask, Ganache, Web3.js, Node.js, and Truffle Suite for building a functional and
user-friendly blockchain-based voting system.

1.4 Method
The methodology for this project involves the integration of blockchain technology
with decentralized identity management to create a secure and transparent voting
system. The approach is structured into the following key components:

1. Blockchain Infrastructure: Ethereum blockchain is utilized as the backbone for


secure, immutable vote storage. Ganache serves as a local blockchain for development
and testing, simulating a real-world blockchain environment.

2. Smart Contracts: Voting and authentication processes are automated through


Ethereum smart contracts developed using the Truffle Suite. These contracts enforce
election rules, validate voter identities, and record votes immutably, ensuring
transparency and eliminating manual errors.

3. Identity Management: Decentralized identity management is implemented using


MetaMask, enabling secure wallet-based authentication. Voters interact with the
system via their Ethereum addresses, ensuring unique and verified participation.

4. Frontend-Backend Integration: Web3.js is employed to connect the frontend user


interface with the blockchain backend. Node.js manages server-side logic and APIs,
facilitating seamless communication between the system components.
1. Workflow Execution
a. Voter Registration: Voters register via MetaMask, creating unique
Ethereum addresses linked to their identities.
b. Vote Casting: Voters cast their votes through a user-friendly interface.
Votes are validated and securely recorded on the blockchain using smart
contracts.
c. Result Transparency: Votes are publicly accessible on the blockchain,
ensuring transparency without compromising voter anonymity.

2. Testing and Simulation

The system is tested on the Ganache blockchain, allowing for validation of


functionality, performance, and security before deployment on a public or
consortium blockchain.

2. Literature Review
The literature on blockchain-based voting systems highlights the fundamental
challenges facing traditional electronic voting mechanisms, including security
vulnerabilities, fraud risks, and issues with voter anonymity and system transparency.
Existing centralized systems are often prone to manipulation, inefficiency in vote
counting, and lack of accountability in the election process. Blockchain technology,
with its decentralized nature, offers a promising solution to these problems by ensuring
immutable data storage and transparency.

Several studies emphasize the potential of blockchain in enhancing electoral integrity


by securing voter identities, ensuring tamper-proof vote recording, and providing real-
time transparency. For instance, research by Saad Moin Khan et al. (2020) explores
the use of blockchain in e-voting, focusing on decentralized identity management to
mitigate fraud. Additionally, Buterin’s (2013) Ethereum white paper presents a
decentralized blockchain architecture capable of handling complex transactions, such
as voting, securely and transparently.

Furthermore, the integration of blockchain with decentralized identity solutions, such


as those explored in Zhang et al. (2019), provides a model for ensuring that only
eligible voters can participate in elections. Studies indicate that blockchain can offer
significant improvements in terms of scalability, voter authentication, and the
prevention of vote tampering, which are essential for the widespread adoption of
digital voting systems.

This project builds upon these foundational concepts, adapting them into a secure,
scalable, and transparent blockchain-based voting system that addresses the
shortcomings of traditional and existing e-voting systems. Through the use of
Ethereum smart contracts, MetaMask wallet integration, and Ganache for local testing,
this approach further advances the possibilities of blockchain in the realm of secure
and trustworthy electoral systems.

3. Proposed Methodology
The proposed system utilizes several tools namely ganache, truffle framework, npm
and MetaMask. Truffle imports the smart contracts on the blockchain while as ganache
operates the internal blockchain and it will be accessed by using MetaMask.

Figure 2. Proposed E-Voting System Based on Blockchain

Preliminaries: Our proposed model can be implemented by using 64-bit hardware/


machine, windows 7 onwards, NMP dependencies, Truffle framework, MetaMask,
solidity toolkit and Ganache.

1. Dependency NPM (Node Package Manager)


2. Truffle framework
3. Ganache
4. MetaMask
5. Coding language; solidity, HTML, JavaScript, CSS
NPM (Node Package Manager): NPM is package manager that manages, installs,
updates or uninstalls the node.js packages in an application. It is a command line-based
tool. It operates in two modes: local mode and global mode. In global mode all node.js
application is affected and in local mode only particular directory of an application
gets affected.
Truffle framework: Truffle is a powerful tool to work with Ethereum smart contracts.
It is used for compilation, deploying and linking of smart contracts, provides testing
platform for automated contracts, manages networks and packages, etc.

Ganache: It was previously known as Testrpc and comes in both forms command line
and UI. A virtual blockchain establishes ten standard Ethereum addresses with all and
private key preloading them with simulated hundred ether each. With ganache there is
no mining rather it automatically confirms every transaction.

MetaMask: MetaMask is an open source, user friendly tool having a graphical user
interface for doing transactions in Ethereum. Ethereal Dapps can run without having
a complete Ethereum node running your system browser. MetaMask is essentially a
bridge between browser and blockchain Ethereum.
Solidity: Solidity is a high-level language with JavaScript style syntax for contracts.
It is a method for generating EVM machine level code and converts it into simple
instructions.
Working:
Figure 3. Flow model of the E-voting system based on blockchain

The voter can log on to the voting website, then he has to log in with the Chrome
Extension of MetaMask to connect with the local blockchain. Once the user is
connected, the page is refreshed and the user can see the candidates and the current
votes. once the user clicks on Vote, the vote is given to the selected candidate provided
that the voter hasn’t voted before. If the user has already voted and attempts to vote
again, a failed transaction will occur and vote will not be accounted. A local
blockchain is deployed using Ganache and MetaMask is set up to connect with it.
Truffle framework allows to migrate the smart contracts created on solidity to the local
blockchain. When the user clicks to vote, every user is given a unique ID that is Voter
Id. Once the user votes, the Ether is transferred from the voter’s account to the
Candidate’s account, and all the transactions goes through the blocks, all the
transactions will be visible to everyone once we launch the project. This will give
voters complete transparency and they can cross-check their votes.

4. Results and Discussions

Implementation

1. Setting up: The first thing that we need to do is run local blockchain by starting up
Ganache.

Figure 4. Screenshot of Setting up Ganache.

Now we use truffle framework to transfer the smart contract to the blockchain by giving
command on the command line. We have also used NPM directory by cmd.
Figure5.Command Line for Truffle

2. User Interface: User interface is through which users can interact with the e-voting
system. The picture below is how user will see the interface. By clicking the connect
the ”connect Button”, user can connect to the MetaMask wallet. After MetaMask is
connected the user can register with their credentials through the verification of
MetaMask. Now, user can vote for the candidates which are below mentioned.

Figure 6. User Interface and MetaMask Verification

3. Checking the Transactions: The transaction list will be available publicly to provide
the user with convenience to tally their votes respectively. The users can check their
votes given by them by looking into the transaction list.
Figure 7. Transaction List

5. Conclusion and Future Direction

This project successfully demonstrates the potential of blockchain technology in


revolutionizing voting systems. By leveraging Ethereum, smart contracts, and
decentralized identity management through tools like MetaMask and Ganache, the
system ensures secure voter authentication, tamper-proof vote recording, and
transparent auditing. The implementation effectively addresses key limitations of
traditional voting systems, such as fraud and inefficiency, while enhancing trust and
accountability in the electoral process.

To further advance the system, the following areas can be explored:


1. Public Blockchain Adoption: Transitioning to scalable networks like Polygon
to handle larger voter bases and ensure real-world applicability.
2. Enhanced Security Measures: Incorporating multi-factor authentication and
advanced cryptographic techniques to improve system resilience against attacks.
3. Biometric Integration: Leveraging biometric identity systems, such as
fingerprint or facial recognition, to enhance voter verification.
4. Scalability and Optimization: Optimizing smart contract designs and system
architecture for high-volume elections with millions of participants.
5. Regulatory Alignment: Adapting the system to comply with legal frameworks
and election regulations across different jurisdictions.
6. References
Zhang, S., Wang, L. & Xiong, H. Int. J. Inf. Secure (2019) Chain-integrity: blockchain enabled e-
voting system with robustness and universal verifiability.

E. Elewa, A. AlSammak, A. Abdelrahman, T. ElShishtawy, "Challenges of Electronic Voting A


Survey", Advances in Computer Science: An International Journal.

Hsiao JH, Tso R., Chen CM., Wu ME. (2018) Decentralized E-Voting Systems Based on the
Blockchain Technology. Advances in Computer Science and Ubiquitous Computing.

Ayed, A.B. (2017). A Conceptual Secure Blockchain Based Electronic Voting System. International
Journal of Network Security & Its Applications

Gjøsteen K, Lund AS (2016) An experiment on the security of the norwegian electronic voting
protocol. Annals of Telecommunications.

Budurushi J, Renaud K, Volkamer M, Woide M (2016) An investigation into the usability of


electronic voting systems for complex elections. Annals of Telecommunications.

You might also like