Cse-B Batch9
Cse-B Batch9
Project Report
on
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE & ENGINEERING
Submitted by
2024-2025
PRAGATI ENGINEERING COLLEGE
(AUTONOMOUS)
(Approved by AICTE, Permanently Affiliated to JNTUK, Kakinada, Accredited by NBA)
CERTIFICATE
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
This is to certify that the project report entitled “Decentralized Online Voting:
Enhancing Election Security with Blockchain” is being submitted by Kapu Ajay Sai Prasan
(21A31A05B2), Lakshmi Meghana Chekka (21A31A0579), Shaik Ayyaz (21A31A05C6),
Kovvuri Veera Venkata Satyanarayana Reddy (21A31A05B4), Kadiyam Harish
Ganapathi (21A31A05B1) in partial fulfillment for the award of the Degree of Bachelor of
Technology, during the year 2024-25 in Computer Science Engineering of Pragati Engineering
College, for the record of a Bonafide work carried out by them.
External Examiner
ACKNOWLEDGEMENT
We express our thanks to project guide Mr. V. PREM KUMAR, Assistant Professor of
Computer Science Engineering, who deserves a special note of thanks and gratitude, for having
extended their fullest co-operation and guidance, without this, project would never have
materialized.
We express our deep sense of gratitude to Dr. D. V. MANJULA, Associate Professor and
Head of the Department of Computer Science Engineering, for having shown keen interest at
every stage of development of our project and for guiding us in every aspect.
We wish to express our special thanks to our beloved Dr. G. NARESH, Professor &
Principal for giving guidelines and encouragement.
We wish to express sincere gratitude to our beloved and respected Dr. P. KRISHNA RAO,
Chairman and Sri. M. V. HARANATHA BABU, Director (Management) and Sri. M.
SATISH, Vice-President for their encouragement and blessings.
We are thankful to all our faculty members of the Department for their valuable
suggestions. Our sincere thanks are also extended to all the teaching and non-teaching staff of
Pragati Engineering College.
We also thank our parents whose continuous support has helped us in the successful
completion of the project.
The proposed system allows voters to cast their ballots remotely through a secure web
interface, increasing accessibility for individuals in remote locations or with disabilities. The
system's architecture is designed to handle the entire election workflow, including voter
registration, vote casting, and real-time result computation, without compromising privacy or
transparency. To validate its effectiveness, the system was tested on multiple blockchain
networks, including public and private ones, highlighting its scalability and reliability. The
results demonstrate that blockchain technology can provide a secure, transparent, and efficient
voting platform capable of addressing the challenges associated with traditional and electronic
voting systems. This project not only enhances voter confidence in electoral processes but also
sets a foundation for the broader adoption of blockchain technology in public sector applications,
particularly in fostering trust and transparency in democratic systems.
TABLE OF CONTENTS
• ACKNOWLEDGEMENT
• ABSTRACT
• LIST OF FIGURES
CHAPTER 1:
1.1. Introduction 1
1.2. Objective 2
CHAPTER 2: Literature Survey 3-4
CHAPTER 3: System Analysis
3.1. Existing System 5
3.2. Proposed System 5
3.3. Modules 6
3.4. Process model used with justification 7-11
3.5. Software Requirement Specification 12-13
CHAPTER 4: System Design
4.1. System Architecture 14
4.2. UML Diagrams 15-22
CHAPTER 5: Implementation 23-24
CHAPTER 6: Results 25-31
CHAPTER 7: System Testing 32-35
CHAPTER 8: Conclusion & Future Works 36
CHAPTER 9: References 37
APPENDIX 38-40
PAPER PUBLICATION 41-47
LIST OF FIGURES:
Figure No Name of the figure Page No
3.4.1 Software Development Process Flow – Structured SDLC Approach 7
3.4.2 Requirement Gathering Stage 8
3.4.3 Analysis Stage 9
3.4.4 Designing Stage 9
3.4.5 Development (Coding) Stage 10
3.4.6 Integration & Testing Stage 11
4.1.1 System Architecture for Decentralized Online Voting 14
4.1.2 Data Flow Diagram – Blockchain-Based Online Voting System 14
4.2.1 Class diagram of blockchain-based e-voting system 16
4.2.2 Use Case diagram of Secure Online Voting using Block Chain 17
4.2.3 Sequence Diagram of Casting a Vote by Voter 18
4.2.4 Sequence Diagram of Admin Voting System 18
4.2.5 Component diagram of Blockchain-Based E-Voting System 19
4.2.6 Admin Component diagram of secure online voting 20
4.2.7 User Component diagram of secure online voting 20
4.2.8 Admin Management Flow for Election System 21
4.2.9 Blockchain-Based Voting Process for Voters 21
6.1 home page 25
6.2 admin login 25
6.3 admin page 26
6.4 add party details 26
6.5 view party details 27
6.6 view votes 27
6.7 new user registration 28
6.8 capturing user face 28
6.9 user login 29
6.10 page after successful user login page 29
6.11 casting vote 30
6.12 interface after successfully casting vote 30
6.13 interface if a user tries to vote 2nd time 31
DECENTRALIZED ONLINE VOTING: ENHANCING ELECTION SECURITY WITH BLOCKCHAIN
CHAPTER 1
1.1 INTRODUCTION
The concept of e-voting systems is still in its early stages, yet it holds immense potential for
transforming electoral processes. In an era where digital transformation is reshaping various
sectors, the need for secure, transparent, and efficient voting mechanisms has become more
evident than ever. We selected this domain because traditional voting systems face multiple
challenges, including fraud, accessibility issues, inefficiencies, and security vulnerabilities, many
of which remain unresolved. With the rapid adoption of e-Government initiatives, there is a
growing need for an electronic voting system that is not only reliable but also instills confidence
in the democratic process. Despite its advantages, e-voting presents several challenges, primarily
concerning security and transparency. Traditional voting methods, such as paper ballots and
centralized electronic voting systems, have been susceptible to tampering, fraud, and lack of
verifiability. These concerns necessitate a robust alternative that maintains or exceeds the security
of conventional voting systems while ensuring accessibility and efficiency. Blockchain
technology has emerged as a promising solution, offering decentralized, immutable, and
transparent record-keeping mechanisms that can address these concerns.
Our project, Blockchain-Based Secure Online Voting System, aims to leverage blockchain
technology to develop a decentralized and tamper-proof online voting system. Unlike traditional
voting systems that rely on a central authority, blockchain ensures that the election process remains
distributed, secure, and verifiable by all participants. By utilizing smart contracts, the system
automates vote counting and validation, eliminating human intervention and reducing the
possibility of errors or manipulation. Moreover, blockchain’s cryptographic security measures,
such as encryption and hashing, ensure that voter identities remain anonymous while maintaining
the integrity of the voting data.
One of the major shortcomings of conventional e-voting systems is the lack of transparency, which
often leads to skepticism among voters. In many cases, citizens have no way of verifying whether
their votes have been counted correctly or if any tampering has occurred. Blockchain technology
addresses this issue by providing a transparent and immutable ledger, enabling voters and
authorities to audit the entire voting process without compromising security or privacy. This level
of transparency fosters trust and confidence in digital voting systems, making them a viable
alternative to traditional electoral mechanisms.
1.2 OBJECTIVE
Voting systems have been around for centuries, with paper ballots being the most widely used
form globally. However, electronic voting (e-voting) has gained traction only in the last decade,
and its adoption still faces significant challenges. The main issues with e-voting systems are
related to security, credibility, transparency, reliability, and functionality. While Estonia has
emerged as a leader in the field, its approach remains one of the few advanced models, and there
are limited implementations that leverage blockchain technology for e-voting.
Blockchain, with its inherent advantages such as immutability, decentralization, and enhanced
security, offers promising solutions to many of the challenges faced by e-voting systems. Despite
its potential, existing blockchain-based e-voting platforms often focus on only one specific aspect
of the voting process or lack comprehensive testing and comparison across different blockchain
frameworks.
In this project, we propose a blockchain-based e-voting platform designed for broad applicability
across various types of voting scenarios. Our platform fully utilizes blockchain technology,
ensuring that all processes—from voter registration to the final count—are managed within a
decentralized and transparent framework. Once voting begins, the platform operates
autonomously, with no possibility of external manipulation. Voter identities are securely protected
using homomorphic encryption, ensuring privacy while maintaining transparency in the voting
process.
We have tested our platform on three different blockchain systems—public and private—and
compared their performance. The results indicate that both types of blockchains can be effectively
used with only minimal differences in processing speed. The key innovation of our platform lies
in its fully decentralized management of the voting process through blockchain. This solution
ensures transparency at every stage while safeguarding voter privacy and security through
homomorphic encryption.
CHAPTER 2
LITERATURE SURVEY
Abstract: This paper introduces a completely decentralized digital currency system, allowing
online payments to be sent directly from one party to another without going through a financial
institution. It proposes a solution to the double-spending problem using a peer-to-peer network
that timestamps transactions by hashing them into a continuous chain of hash-based proof-of-
work. The system is secure as long as honest nodes collectively control more CPU power than any
cooperating group of attacker nodes.
CHAPTER 3
SYSTEM ANALYSIS
• Enhanced security, reducing the risk of election fraud and data manipulation.
• Improved transparency and verifiability of the voting process.
• Strong voter privacy protection through advanced encryption methods.
• Decentralized control, eliminating the need for a central authority.
3.3 MODULES
1. Admin Module
2. User Module
Modules Description:
• Admin-Module:
The Admin is responsible for managing party and candidate details within the system. The
admin can add new parties, view the party details, and monitor the vote count. The admin
accesses the system through a dedicated login interface, with the username and password
both set to ‘admin’ by default.
• User-Module:
The User module enables individuals to register, login, and cast their votes securely. To
begin, users must sign up by creating an account with their username and uploading a
photo captured via a webcam. After successful registration, users can log in using their ID,
which is validated within the system.
• Once logged in, users proceed to the voting process, which includes the following steps:
o Face Capture:
The system connects to the user's webcam and captures their face image for
verification purposes.
o Identity Verification:
Using OpenCV, the application detects the user's face. A Convolutional Neural
Network (CNN) is employed to predict and match the user's identity against the
captured image. If the system successfully verifies the user's identity, it proceeds
to display the list of voting candidates.
o Voting Process:
If the user has not yet cast their vote, they can select their preferred candidate by
clicking a link associated with a party or candidate's name.
o Vote Recording:
Once the vote is cast, the system captures the voter and candidate details. The
data is then encrypted and securely stored in the blockchain, ensuring
transparency and immutability of the voting process.
SDLC is nothing but Software Development Life Cycle. It is a standard which is used by software
industry to develop good software.
Stages in SDLC:
• Requirement Gathering
• Analysis
• Designing
• Coding
• Testing
• Maintenance
• RTM: Maps each requirement (e.g., one vote per user, encrypted data storage) to its project
goal.
• Updated Project Plan: Reflects timelines and milestones based on finalized requirements.
3. Designing Stage:
The Designing Stage begins after the approval of the requirements document. Each requirement
is translated into detailed design components that act as a blueprint for the system’s development.
Key Activities:
• Transform requirements into design modules (e.g., voter registration, vote casting, result
generation).
• Create visual and logical representations, including:
o Functional Hierarchy Diagrams
o UI Mockups for voter and admin interfaces
o Business Rule Tables (e.g., voting eligibility logic)
o Process Flowcharts for smart contract execution
o ER Diagram and Data Dictionary for blockchain data and user credentials
Major Outputs:
• Design Document: Comprehensive blueprint for system development
• Updated RTM: Links each design element to its requirement
• Revised Project Plan: Incorporates time and resources for design implementation
Major Deliverables:
• Fully functional decentralized voting system
• Test Plan: Covers all test cases for validation
• Implementation Map: Highlights key code entry points
• Finalized RTM and updated project plan
Key Activities:
• Execute unit, integration, functional, black-box, and security test cases.
• Validate user roles, smart contract behavior, and vote integrity.
• Finalize reference data (e.g., sample voter info) and assign roles to test users.
Major Deliverables:
• Fully integrated voting system with online help
• Updated Implementation Map
• Production Initiation Plan with finalized reference data and test user roles
• Acceptance Plan containing the final test case set
• Revised project plan
6. Maintenance
The Maintenance Phase ensures the long-term reliability, security, and scalability of the online
voting platform after deployment.
Key Activities:
• Requirement Review & Documentation Study: Team members analyze system
documentation to understand architecture and functionality.
• Task Assignment & Training: Specific roles (e.g., blockchain monitor, UI support) are
assigned and relevant training is provided.
• Continuous Updates & Bug Fixes: Resolve issues, enhance features, and adapt the
system to new election policies or security threats.
• Ongoing Support: Like an umbrella’s never-ending support, this phase continues
indefinitely to ensure the platform remains functional and secure.
Hardware Interfaces
The interaction between the user and the system is facilitated through Python's capabilities,
connecting with the console for smooth communication.
Software Interfaces
The system requires Python as its primary software platform for functionality.
Operating Environment
The system is designed to operate on minimum version Windows 7.
Hardware Requirements
• Processor: Intel i3 or higher
• RAM: 256 MB (minimum)
• Hard Disk: 20 GB
• Keyboard: Standard Windows Keyboard
• Mouse: Two or Three Button Mouse
• Monitor: SVGA
Software Requirements
• Operating System: Windows 7/8
• Programming Language: Python
CHAPTER 4
SYSTEM DESIGN
4.1 SYSTEM ARCHITECTURE:
The DFD explains how votes, user data, and admin actions move between the user, system,
smart contract, and blockchain.
The image represents a UML class diagram for a blockchain-based e-voting system. It consists of
the following classes:
• Voter - Has attributes voterID and name, and a method castVote(), which allows a voter
to cast a vote.
• Election - Contains electionID, startTime, and endTime, with a method initiateElection()
to start an election. It registers candidates.
• Candidate - Stores details such as candidateID, name, and party.
• SmartContract - Implements validateVote() and computeResults() to ensure vote
authenticity and compute results.
• Blockchain - Has methods storeVote() to securely record votes and verifyIntegrity() to
ensure data integrity.
The diagram shows relationships between these entities:
• Voters cast votes in an election.
• Elections register candidates.
• Smart contracts validate votes and compute results.
• Blockchain securely stores votes and verifies their integrity.
They serve as an essential tool in software development for analyzing system requirements and
user interactions.
Fig 4.2.2: Use Case diagram of Secure Online Voting using Block Chain
The image represents a UML use case diagram for a blockchain-based e-voting system. It consists
of the following actors, use cases:
• Register Voter: Voter signs up with personal details.
• Login: Voter or administrator logs into the system.
• Cast Vote: Voter selects a candidate and submits their vote.
• Validate Vote: Smart contract checks for duplicate or invalid votes.
• Store Vote: Blockchain records the vote immutably.
• Compute Results: After the election ends, results are calculated.
• View Results: Voters and administrators can view the election outcome.
The image represents a UML component diagram for a blockchain-based e-voting system. It
consists of the following:
• Admin Components:
o Web Portal (Admin Panel): Login, manage elections, monitor voting, generate reports.
o Backend Server: Handles admin requests, authentication, and database updates.
o Smart Contract: Ensures authorized actions and election rule validation.
o Blockchain Ledger: Stores election data securely.
o Database: Maintains voter registration and election metadata.
• User Components:
o Web Portal (Voter Dashboard): Login, view elections, cast and verify votes.
o Backend Server: Processes authentication and vote submissions.
o Smart Contract: Prevents duplicate votes and secures transactions.
o Blockchain Ledger: Stores votes immutably.
o Database: Verifies voter details and fetches election info.
Admin User
Fig 4.2.6: Admin Component diagram of secure online Fig 4.2.7: User Component diagram of
voting secure online voting
Represents the Admin Component of an election Represents the User (Voter) Component
management system. of the system.
Admin can perform the following actions: Voter can perform the following actions:
1. Login – Authenticate into the system.
2. Add Party Details – Register new political 1. Login – Authenticate and access
parties. the system.
3. View Party Details – Check the registered 2. Cast Your Vote – Select and
party information. submit their vote.
4. View Votes – Monitor the voting results. 3. Take Snapshot – Capture proof
5. Logout – Exit the system securely. of voting (if applicable).
4. Validate User – Ensure
authentication and eligibility.
5. Logout – Exit the system
securely.
Admin User
ALGORITHM:
SHA-256 in Decentralized Online Voting
In the project "Decentralized Online Voting: Enhancing Election Security with Blockchain",
the SHA-256 (Secure Hash Algorithm 256-bit) plays a vital role in ensuring the security,
transparency, and integrity of the voting process. SHA-256 is a cryptographic hash function that
produces a unique 256-bit fixed-length output for any given input. Its properties make it ideal for
securing data within a blockchain-based election system.
Purpose of Using SHA-256
• Data Integrity: SHA-256 ensures that once a vote is recorded, it cannot be altered
without detection. Any change in the input data results in a completely different hash
output, making tampering immediately noticeable.
• Blockchain Security: Each block in the blockchain contains a hash of its contents and
the hash of the previous block. SHA-256 secures this linkage, ensuring that the entire
chain remains immutable and tamper-proof.
• Voter Anonymity and Data Protection: Sensitive information such as voter identities
and vote content can be hashed to ensure privacy while still allowing for secure and
verifiable processing.
Implementation Overview
In this project, SHA-256 is applied to:
• Hash voter authentication data for secure login
• Convert vote data into hashed format before storing it on the blockchain
• Generate block hashes to maintain the chain’s integrity
• Example:
The resulting hash is stored on the blockchain. During verification, the same input data is rehashed
and compared with the stored hash to confirm authenticity.
Advantages for the Voting System
• Tamper Resistance: Unauthorized changes to vote data are easily detectable.
• Enhanced Trust: Voters and officials can verify data integrity without exposing
sensitive information.
• Decentralized Security: Eliminates dependence on a central authority by securing data
cryptographically.
CHAPTER 5
IMPLEMENTATION
Implementation
The implementation phase is where the conceptual framework of the Decentralized Online
Voting System is transformed into a functional and secure application. After thorough planning
and design, the system was developed using blockchain technology to ensure transparency,
tamper-resistance, and trust in the voting process.
Platform Setup
The system is deployed on a blockchain network, which acts as a decentralized ledger for storing
votes. Smart contracts were created to manage operations such as voter registration, vote casting,
and result tallying. The blockchain platform chosen for implementation is Ethereum, due to its
support for smart contracts and wide adoption.
Security Implementation
To ensure data confidentiality and system integrity, the following were implemented:
• End-to-end encryption of all communications
• Immutable vote records on blockchain
• Role-based access control (RBAC) for admin operations
CHAPTER 6
RESULTS
This page provides the admin with a This page allows the admin to view party
comprehensive view of registered political details along with the votes each party has
parties and their candidates. The admin can received. The admin can monitor the voting
access detailed information, including party results in real time, ensuring transparency and
names, candidate names, assigned areas, and accuracy in the electoral process. This feature
profile pictures. This feature helps in helps in tracking election progress and
managing and verifying party and candidate analyzing voting trends.
details efficiently.
Disclaimer: All candidate names, party names, and area names used here are for illustrative
purposes only. Actual details may differ.
If a user attempts to log in and vote a second time, the system prevents tampering
by restricting multiple votes per person. A message will be displayed stating, "You
have already cast your vote," ensuring that each voter can only vote once.
CHAPTER 7
SYSTEM TESTING
Testing is a critical phase in ensuring the security, accuracy, and efficiency of the Decentralized
Online Voting System. The testing process involves preparing test data, validating system
functionalities, and ensuring that the platform operates seamlessly under different conditions.
Various testing strategies are applied to ensure that all components work together as a unified
system.
System Testing:
System testing is essential in evaluating the overall performance and reliability of the voting
system. Since the platform is built on blockchain, rigorous testing is conducted to verify the
integrity of vote recording, smart contract execution, identity verification, and result
computation.
The system undergoes stress testing to check how it handles a high volume of transactions,
ensuring that it remains functional during peak voting periods. Additionally, security testing is
performed to prevent any unauthorized access, manipulation, or cyberattacks.
Test Cases:
The table below outlines some of the key test cases used for validation
Test
Test Case Expected Actual
Case Description Test Steps Priority
Name Result Result
ID
Verify whether
Enter Admin should be
the admin can
1 Admin Login credentials and able to access the Passed High
log in
submit. dashboard.
successfully.
Verify whether
Enter User should be
the voter can
2 User Login credentials and able to access the Passed High
log in
submit. voting page.
successfully.
Authenticate,
Ensure that a
select a Vote should be
3 Vote Casting user can cast a Passed High
candidate, recorded securely.
vote only once.
submit vote.
Check if votes
Submit a vote,
Vote remain Vote should be
4 attempt Passed High
Integrity immutable after unchangeable.
modification.
submission.
Validate
Cast multiple Results should be
Result whether results
5 votes, verify correctly Passed High
Computation are computed
result accuracy. displayed.
correctly.
1. Unit Testing
Definition:
Unit Testing involves testing individual functions or components of the system in isolation. It
focuses on the internal logic of specific code units (like functions, methods, or classes).
Purpose:
To verify that each module or function performs as expected before integration.
Example in Voting System:
• Testing the castVote() function to ensure it properly records a vote.
• Testing the isEligibleToVote() method to validate a user’s age and ID.
Performed By:
Developers during development.
Test Unit test Name Description Test Steps Expected Actual Status
Case Result Result
ID
Check if user
validation Pass
returns correct valid/invalid Returns `true` or
UT01 validateUser() result credentials `false` Passed Pass
Call function Returns success,
Ensure vote is with valid updates
UT02 castVote() recorded once vote input blockchain Passed Pass
Check vote Cast votes, Returns correct
UT03 getResults() counting logic call function tallies Passed Pass
Check voter Pass Age and
eligibility citizenship Returns `true` or
UT04 isEligibleToVote() function inputs `false` Passed Pass
Test Pass sample
encryption data for Returns
UT05 encryptData() function encryption encrypted string Passed Pass
This Unit Testing table outlines test cases for individual functions within the Decentralized
Online Voting System. Each test case verifies a specific function’s behavior in isolation:
1. UT01 checks user validation logic with valid/invalid credentials.
2. UT02 ensures a vote is recorded correctly once cast.
3. UT03 tests if the system accurately counts and returns vote results.
4. UT04 validates the logic determining voter eligibility.
5. UT05 confirms that data encryption works correctly.
All tests passed successfully, confirming that the core units of the system function as expected
before integration.
2. Functional Testing
Definition:
Functional Testing ensures that the system performs according to functional requirements. It
checks if each function works correctly from the user’s perspective, regardless of internal code.
Purpose:
To validate end-to-end business scenarios and ensure each function delivers the correct output
for given inputs.
Example in Voting System:
• Voter Registration: Validates the registration workflow.
• Vote Casting: Ensures one vote per voter and secure blockchain recording.
• Result Generation: Confirms votes are accurately counted and displayed.
Performed By:
QA/Testers.
This Functional Testing table validates the key user-facing features of the Decentralized Online
Voting System:
1. FT01 ensures successful voter registration.
2. FT02 checks login functionality for voter access.
3. FT03 verifies that a user can cast only one secure vote.
4. FT04 confirms accurate vote result generation.
5. FT05 tests proper logout functionality.
All functions performed as expected, confirming that the system meets its functional requirements.
This Black Box Testing table focuses on validating the system’s behavior under various real-world
scenarios without knowing the internal code:
1. BB01 tests login with invalid credentials.
2. BB02 checks prevention of duplicate voting.
3. BB03 ensures restricted access to admin pages.
4. BB04 verifies vote tampering is blocked.
5. BB05 tests system stability against malformed input.
All scenarios passed successfully, proving the system handles unexpected or malicious user behavior
effectively.
CHAPTER 8
CONCLUSION & FUTURE WORKS
CONCLUSION
This project successfully implements a secure and transparent e-voting system using blockchain
technology. By leveraging facial recognition for voter authentication, the system ensures that each
individual can cast only one vote, preventing duplication and electoral fraud. The admin panel
provides functionalities for adding and managing party and candidate details, while real-time vote
monitoring enhances credibility and transparency.
Comparing public and private blockchain implementations, we observe that public blockchains
provide greater transparency and security, whereas private blockchains offer slightly better
performance but at the cost of decentralization. Despite minor variations in transaction speeds,
blockchain technology proves to be an efficient and reliable solution for modern elections by
ensuring data integrity, immutability, and verifiability.
FUTURE WORK
To enhance the security, scalability, and usability of the blockchain-based e-voting system,
future improvements can include:
• Government Integration: Linking voter details with official databases (Aadhaar, SSN)
for better verification.
• Multi-Factor Authentication: Adding OTP-based verification alongside facial
recognition for added security.
• Decentralized Identity: Using Self-Sovereign Identity (SSI) to give voters control over
their data.
• Scalability Enhancements: Optimizing blockchain mechanisms to support millions of
users efficiently.
• Mobile Voting Support: Developing a secure mobile app for remote voting.
• AI-Based Fraud Detection: Implementing AI to monitor voting patterns and prevent
cyber threats.
CHAPTER 9
REFERENCES
APPENDIX
def compute_hash(self):
block_string = json.dumps(self. dict , sort_keys=True)
return sha256(block_string.encode()).hexdigest()
class Blockchain:
# difficulty of our PoW algorithm
difficulty = 2 #using difficulty 2 computation
@property
def last_block(self):
return self.chain[-1]
def add_block(self, block, proof): #adding data to block by computing new and previous
hashes
previous_hash = self.last_block.hash
if previous_hash != block.previous_hash:
return False
block.hash = proof
#print("main "+str(block.hash))
self.chain.append(block)
return True
computed_hash = block.compute_hash()
while not computed_hash.startswith('0' * Blockchain.difficulty):
block.nonce += 1
computed_hash = block.compute_hash()
return computed_hash
self.peer.append(peer_details)
self.translist.append(trans_details)
if not self.unconfirmed_transactions:
return False
last_block = self.last_block
new_block = Block(index=last_block.index + 1,
transactions=self.unconfirmed_transactions,
timestamp=time.time(),
previous_hash=last_block.hash)
proof = self.proof_of_work(new_block)
self.add_block(new_block, proof)
self.unconfirmed_transactions = []
return new_block.index
PAPER
PUBLICATION
41
Journal Publication of International Research for Engineering and Management (JOIREM)
Volume: 10 Issue: 03 | Mar-2025
***
Abstract -The evolution of democratic systems has blockchain-based voting systems protect voter identities while
emphasized the critical importance of secure and fair elections, maintaining verifiable election results [4].
a practice deeply rooted in history since ancient Greece. This project introduces Aqua, a blockchain-based multi-winner
Traditional voting methods, typically requiring physical approval voting system built on the Ethereum network. Aqua
presence at a polling station, face challenges such as tampering utilizes smart contracts that are activated when an election is
and security vulnerabilities. To address these issues, we scheduled, ensuring an efficient, tamper-resistant voting process
propose a secure online voting system based on Blockchain [5]. The system decentralizes election management across
technology, incorporating homomorphic encryption and multiple blockchain nodes, eliminating reliance on a central
hashing techniques to ensure the integrity and privacy of each authority and enhancing election transparency. Aqua has been
vote. The system employs smart contracts, which activate when rigorously tested on both public and private blockchain
an election is scheduled, ensuring an efficient, tamper-resistant environments, demonstrating reliable performance while
voting process. With an ever-growing voter base, modernizing ensuring data privacy through homomorphic encryption [6].
voting infrastructure to enhance security and maintain fairness
has become essential. Our approach decentralizes e-voting
platform management across blockchains, leveraging a multi- 2. LITERATURE REVIEW
winner approval voting system called Aqua on the Ethereum
blockchain. This solution was rigorously tested and compared 2.1. Blockchain-Based E-Voting Systems
on public and private blockchains, demonstrating reliable
performance at a relatively low speed while ensuring complete Nikolopoulos et al. [1] introduced Aqua, a multi-winner
data privacy through homomorphic encryption blockchain-based voting system that implements an approval
voting scheme on the Ethereum blockchain. The system utilizes
Key Words: Blockchain-based voting, decentralized e-voting smart contracts to ensure transparency and security while
platform, election integrity, homomorphic encryption, secure decentralizing election management. Their research
online voting, smart contracts demonstrated the efficiency of blockchain in preventing vote
tampering and ensuring integrity in multi-winner elections.
Indapwar et al. [2] proposed a blockchain-based e-voting
1. INTRODUCTION system utilizing the Ethereum framework. Their system
combines permissioned, public, and shared blockchains to
The integrity and security of electoral processes are fundamental enhance transparency and allow public scrutiny of votes. While
to democratic systems. Traditional voting methods, which their approach improves security, the authors identified
require physical presence at polling stations, are vulnerable to transaction verification speed as a challenge, which remains a
vote tampering, fraud, and accessibility issues [1]. With significant limitation in large-scale implementations.
advancements in digital technology, electronic voting (e-voting) Aziz et al. [3] explored approval-based committee voting,
has gained prominence due to its ability to streamline the voting highlighting the Justified Representation model in multi-
process and increase accessibility. However, security winner elections. Their work discusses voting mechanisms that
vulnerabilities such as hacking, data manipulation, and lack of ensure fair representation and resistance to strategic
transparency remain critical concerns [2]. manipulation. This research is essential for designing
Blockchain technology has emerged as a promising solution to blockchain-based voting systems that require multi-winner
enhance the security and transparency of online voting systems. selection while maintaining fairness and transparency.
A blockchain-based voting system leverages a decentralized and
immutable ledger to ensure vote integrity, making electoral 2.2. Security and Cryptographic Mechanisms
fraud nearly impossible [3]. By employing cryptographic Sadia et al. [4] proposed a blockchain-based secure e-voting
techniques such as homomorphic encryption and hashing, system utilizing smart contracts. Their model follows a three-
phase voting approach: pre-voting, voting, and post-voting. allow eligible participants to contest elections. The smart
The pre-voting phase involves voter registration and candidate registration and authentication module manages secure access
nomination, while the voting phase ensures voter anonymity and identity verification using cryptographic techniques.
using cryptographic techniques. The results phase utilizes Voters cast their ballots through a RESTful API-enabled ballot
blockchain consensus mechanisms to verify and count votes. box, which securely transmits votes to the central server.
Their study highlights the role of smart contracts in automating Blockchain and smart contracts play a crucial role in ensuring
and securing e-voting processes. data immutability and transparency, preventing vote tampering
Fusco et al. [5] designed Crypto-Voting, a permissioned and fraudulent activities. The vote counting server processes
blockchain-based voting system. Their architecture consists of the collected votes, while the election commission oversees the
two linked blockchains: one for recording voter registrations entire voting process to ensure regulatory compliance. Finally,
and another for storing votes and election results. By the election results module generates and displays verified
anonymizing network consensus nodes, their approach election outcomes, ensuring trust and reliability in the system.
enhances voter privacy and security. However, the study By integrating blockchain technology, cryptographic
indicates that permissioned blockchains require centralized authentication, and decentralized data storage, the proposed e-
oversight, which may reduce the level of decentralization voting system enhances election security, making it a robust
compared to fully public blockchain systems. solution for modern electronic voting.
Hjálmarsson et al. [6] proposed a decentralized e-voting system
based on Ethereum smart contracts. Their research 3. PROPOSED SYSTEM
demonstrates the feasibility of blockchain voting by allowing
voters to register, vote, and verify their choices through a web Traditional voting methods, including paper-based and
interface. Their system prevents data manipulation but faces electronic voting machines (EVMs), are vulnerable to several
scalability issues due to Ethereum's transaction limitations. security and operational challenges. These issues include vote
tampering, fraudulent voting, centralized database
2.3. Decentralized and Smart Contract-Based E-Voting vulnerabilities, and limited accessibility for remote voters [1].
Al-Madani et al. [7] implemented a decentralized e-voting With the increasing need for a transparent and tamper-proof
system using Ethereum smart contracts. Their model enables voting system, blockchain technology has emerged as a viable
voters to register and vote via a web application while ensuring solution to enhance election security, integrity, and
immutability and transparency. A major advantage of their transparency. The proposed Secure Online Voting System
system is its ability to provide real-time voting results while Using Blockchain leverages the Ethereum blockchain, smart
preventing unauthorized vote modifications. However, gas fees contracts, and cryptographic techniques to develop a
associated with Ethereum transactions remain a critical decentralized and transparent voting mechanism. The system
challenge. ensures the integrity of elections by eliminating centralized
Lackner and Skowron [8] provided a comprehensive study on control, preventing vote manipulation, and enabling voters to
approval-based multi-winner voting. Their research explores verify their votes without compromising anonymity. The
voting mechanisms that maximize voter representation while system is specifically designed to support multi-winner
minimizing the risks of manipulation. Their findings support approval voting, allowing voters to approve multiple
the implementation of approval voting in blockchain-based candidates instead of selecting only one. This mechanism
electoral systems, such as Aqua, to enhance decision-making ensures fair representation and is suitable for multi-member
fairness and inclusivity. elections.
3. System Architecture
The architecture of the proposed system integrates blockchain,
smart contracts, encryption, and voter authentication
techniques to ensure a secure voting process. The system
consists of the following key components:
3.1 Blockchain-Based Voting Framework
The proposed system is built on the Ethereum blockchain,
ensuring a decentralized and immutable voting process. Unlike
traditional centralized e-voting systems, where a central
authority manages voter data and election results, this
blockchain-based approach distributes control across multiple
nodes, making tampering virtually impossible [2]. Each vote is
Fig 1: Architecture Of E-Voting encrypted using homomorphic encryption before being stored
on the blockchain. This cryptographic technique allows the
Figure 1 illustrates the architecture of a blockchain-based system to process votes without decrypting them, ensuring
secure e-voting system, designed to ensure transparency, voter privacy while maintaining verifiability [3].
integrity, and voter privacy in digital elections. The process
begins with voter registration, where individuals authenticate
their identity using ID numbers, face recognition, or fingerprint
verification. Candidate registration is also incorporated to
G=UXP (1)
Where:
Tx = Bt x d (2)
Bt is the average block time. This is the admin page, where the admin can manage the
system by performing various tasks such as adding party
d is the depth of the transactions in the block. details and viewing votes.
The admin's responsibilities include:
4. Results: 1. Adding Party Details: Registering political parties and
their candidates in the system.
2. Viewing Party Details: Accessing and reviewing
information about registered parties and candidates.
3. Viewing Votes: Monitoring vote counts in real time to
ensure transparency and security.
5. Conclusion:
The proposed Secure Online Voting System Using
Blockchain addresses the critical challenges of traditional
voting methods by leveraging blockchain technology,
smart contracts, and cryptographic techniques. The
decentralized nature of the Ethereum blockchain ensures
election integrity, preventing unauthorized vote tampering
and fraudulent activities. By implementing homomorphic
encryption and Zero- Knowledge Proofs (ZKP), the system
maintains voter anonymity while enabling public
verifiability of the election process. The integration of
smart contracts automates the election workflow, from
Fig 4.6: user login
voter registration to result computation, reducing human
This is the User Login page, where voters can log into the
intervention and ensuring error-free tallying. The multi-
portal by entering their credentials. Once logged in, they
winner approval voting mechanism enhances electoral
can securely cast their vote. After successfully logging in,
fairness by allowing voters to approve multiple candidates,
the voter can cast their vote by clicking the "Cast Your ensuring proportional representation in multi-member
Vote" option. Upon clicking, the system performs facial
elections. The structured four-phase approach—including
recognition to verify the voter's identity. If the verification Initialization, Registration, Voting, and Result
is successful, the voter is allowed to proceed and cast their
Computation—ensures a transparent and systematic
vote securely. election process. The proposed system offers security,
transparency, efficiency, and accessibility, making it a
viable alternative to conventional voting systems.
However, challenges such as transaction costs, blockchain
scalability, and real-time processing limitations need
further research. Future enhancements may include Layer-
2 scaling solutions, hybrid blockchain models, and
optimized consensus mechanisms to improve efficiency
while maintaining high security. In conclusion, blockchain-
based voting has the potential to revolutionize democratic
processes, ensuring trustworthy, tamper-resistant, and
inclusive elections. By adopting this approach, electoral
systems worldwide can enhance transparency and voter
confidence, making elections more secure, efficient, and
accessible.
REFERENCES