Report Voting New
Report Voting New
Supervisor:
Mr. Wasim Shaikh
2024-2025
Vidya Vikas Education Trust’s
Universal College of Engineering, Vasai (E)
Department of Computer Engineering
CERTIFICATE
This is to certify that, the Major Project entitled “Secure Online Voting system using
blockchain” is the bonafide work of Ms. Manali Chavan (20), Ms. Shruti Kamble (54), Ms.
Shreya Shah (102) and Ms. Devanshi Parmar (109) submitted to the University of Mumbai
in fulfillment of the requirement for the Major Project-I Semester VII project work of B.E.
Computer Engineering at Universal College of Engineering, Vasai, Mumbai at the
Department of Computer Engineering, in the academic year 2024-2025, Semester – VII
This project report entitled “Secure Online Voting system using blockchain” by Ms. Manali
Chavan, Ms. Shruti Kamble, Ms. Shreya Shah and Ms. Devanshi Parmar is approved for the
Major Project-I Semester VII project work of B.E Computer Engineering at Universal
College of Engineering, Vasai, in the academic year 2024-2025.
Date:
Declaration
I declare that this written submission represents my ideas in my own words and where others’
ideas or words have been included, I have adequately cited and referenced the original
sources. I also declare that I have adhered to all principles of academic honesty and integrity
and have not misrepresented or fabricated or falsified any idea/data/fact/source in my
submission. I understand that any violation of the above will cause disciplinary action by the
Institute and can also evoke penal action from the sources which have thus not been properly
cited or from whom proper permission has not been taken when needed.
Date:
Abstract
Online voting system is a modern solution that can efficiently and securely facilitate the
voting process for various groups and organizations. With rapid growth in technologies the
old voting methods can change to advanced voting methods The use of such software
eliminates the need for physical polling stations, as voters can cast their ballots from anywhere
with an internet connection. The benefits of using an online voting system are many; it
increases accessibility, saves time and resources, ensures accuracy and transparency, and
supports a more democratic decision-making process. Eligibility verification and accurate
voter information are essential components of a successful online voting platform. While
several countries have already implemented online voting software, this approach still faces
challenges and limitations that must be addressed before universal adoption. In the following
sections, we will delve further into the various types of electronic voting methods and
examine successful global examples of online voting system. Online voting offers a
convenient and secure alternative to traditional in-person voting. This system leverages
technology to enable individuals to cast their votes remotely, potentially increasing voter
participation and reducing the logistical challenges associated with traditional elections.
i
Contents
Abstract i
List of figures iv
List of tables v
List of abbreviations vi
1 INTRODUCTION 1
2 REVIEW OF LITERATURE 2
2.4 Scope
3 PROPOSED SYSTEM 6
3.1 Analysis/Framework/Algorithm
ii
3.4 Data Model and Description
3.7 Methodology
4 RESULT 20
Conclusion 27
Appendix 28
References 29
Acknowledgement 30
iii
List of Figures
iv
List of Tables
v
List of abbreviations
vi
Chapter 1
Introduction
Democracy is an important topic in the majority of modern societies. One of the key procedures
in a democracy is the selection of representatives. Inactive citizens, fraud attempts, etc. are only
a few of the various disturbances that this incredibly delicate procedure encounters. The nation
of India is democratic. All Indian people have an Aadhar card, which serves as their digital ID,
as they are all a part of the developing digital India. Due to the fact that it establishes each
Indian's digital identity, the Aadhar card can be utilized for online voting. Electronic voting
systems are used today and have some qualities that set them apart from traditional voting
techniques as well as better features, such as accuracy, convenience, flexibility, privacy,
verifiability, and mobility. Electronic voting methods can have several drawbacks, though, such
as the need for a lot of time and paper, the absence of a direct role for higher officials, the
possibility of machine damage due to carelessness, the inability to update and edit many items
at once with mass updates, etc. These issues can be solved using the online voting system.
Voter Registration: A secure online platform for voters to register, verify their identity, and
update their information.
Electronic Ballot: A digital ballot paper that allows voters to select their preferred candidates.
Authentication and Security: Robust security measures to protect voter identities, prevent
fraud, and ensure the integrity of the voting process.
Results Tabulation: An automated system to count votes and announce results accurately and
efficiently.
Audit Trail: A transparent record of the entire voting process to maintain accountability and
address any disputes.
Chapter 2
Review of Literature
A literature survey was carried out to find various papers published in international journals
such as IEEE etc. related to online voting using blockchain systems to get the best algorithm
for the same.
The existing system for secure online voting using blockchain technology applies the
unchangeable nature of blockchain to ensure transparency, security, and trust in the
electoral process. Traditional voting methods, whether paper-based or electronic, often
face challenges such as vote tampering, hacking, and lack of transparency, which erodes
public trust. Blockchain-based voting systems address these issues by creating a
distributed ledger where each vote is recorded as a transaction. Once a vote is cast, it is
encrypted and stored across multiple nodes in the blockchain network, making it nearly
impossible to alter or delete without detection. Each vote is time-stamped and linked to the
previous one, creating a chain of trust that is verifiable by all participants, yet the voter's
identity remains private through encryption and digital signatures. Voters can verify their
own votes, but they cannot link votes to others, ensuring the integrity of the secret ballot.
Smart contracts can also be used to automate vote counting and results publishing,
ensuring that the process is free from human interference. Additionally, the decentralized
nature of blockchain prevents any single entity from gaining control of the voting process,
reducing the risk of fraud or external interference. While blockchain voting systems are
still being tested and are not widely implemented, they hold significant potential to
revolutionize the way elections are conducted by providing a transparent, tamper-proof,
and efficient system
2.2 Literature Survey
We have examined various research papers in the domain of Facial Recognition for our
project to delve deeper into the details of the various researches conducted in the field of
Facial Recognition. Table 2.1 shows a survey of the research paper done for the project.
In the paper presented by Awsan Otman, Emarn Muhammed, Haneen Mujahid, Hamzah
Muhammed, Mogeeb Mosleh, An online voting system using blockchain and IoT acts like a digital
ledger that records each vote in a secure and unchangeable way. This means once a vote is cast, it
can’t be altered or erased. IoT devices, like secure voting machines and fingerprint scanners, help
ensure that only eligible voters can vote and make the process smoother. Together, these
technologies help prevent fraud, protect vote data, and make sure the entire voting process is honest
and reliable. [3].
Traditional voting methods often suffer from low voter turnout, security concerns, and logistical
challenges. An online voting system aims to address these issues by providing a convenient, secure,
and accessible platform for voters to participate in elections. The objective is to increase voter
participation, enhance election integrity, and improve the overall efficiency of the electoral process.
The online voting system project will focus on developing a secure and user-friendly platform that
allows for voter registration, candidate nomination, electronic ballot casting, and automated result
tabulation. The System will incorporate robust security measures to protect voter identities and
prevent fraud. Additionally, it will provide a transparent audit trail to ensure accountability and
address any disputes.
Chapter 3
Proposed System
This chapter includes a brief description of the proposed system and explores the different
modules involved along with the various models through which this system is understood and
represented.
Specialization: Each agent focuses on a specific task related to the voting system, such as voter
verification, ballot encryption, vote tallying, or blockchain validation.
Collaboration: Agents work together to ensure secure voting. For example, the voter verification
agent collaborates with the ballot encryption agent to ensure only valid voters can cast encrypted
votes, which are then processed by the tallying agent and recorded immutably on the blockchain
by the validation agent.
Adaptability: The agents continuously improve through data analysis, adapting to new threats or
potential vulnerabilities, and adjusting processes based on evolving security needs or voter turnout
patterns.
Agent Assignment: Each agent is assigned a specialized task. One agent handles voter
authentication, another manages vote encryption, a third agent verifies vote integrity on the
blockchain, and another agent is responsible for smart contract execution to automate parts of the
voting process.
Data Processing: Agents retrieve and process data, such as verifying voter credentials,
encrypting vote data, and ensuring the authenticity of votes recorded in the blockchain ledger.
Collaboration: The agents share insights and data, working together to ensure that votes are
securely cast, counted, and stored. For instance, the vote encryption agent will collaborate with
the blockchain validation agent to ensure encrypted votes are correctly entered into the
blockchain without manipulation.
Final Output: The system generates a tamper-proof election result, ensuring that the outcome is
transparent, verifiable, and immutable on the blockchain, along with supporting data such as the
number of votes cast, verified voters, and final tallies.
3.2 System Requirements
This section will provide the user the required specification of the hardware and software
components on which the proposed system is to be implemented.
This subsection will provide the minimum requirements that must be fulfilled by the hardware
components. The hardware requirements are as follows: -
This subsection will provide the versions of software applications that must be installed.
The software requirements are as follows: -
Functional Requirements:
- Voter registration with Aadhar authentication
- User login for secure access
- Selecting voting zones based on voter’s address
- Casting votes in a secure, transparent manner
- Admin functionalities for managing voters, parties, and counting votes
Non-Functional Requirements:
- Security (encryption, authentication)
- Scalability (handling a large number of voters)
- Usability (easy navigation)
- Privacy (voter and vote confidentiality)
Design the overall system architecture that defines how different components interact with each
other.
Key Components:
3. Database:
- Store voter details, zone information, parties, and admin data in relational database like
NoSQL . Blockchain module to store and verify votes in an immutable manner.
5. Admin Dashboard:
- A separate admin panel for managing voters, adding parties, and monitoring the voting
process.
Step 3: Registration Page
Design a User Registration Page where new voters can register themselves.
2. Aadhar Authentication:
- Integrate Aadhar authentication API where users input their Aadhar number, which is
validated via OTP or biometric authentication. On successful verification, the voter is registered.
3. Database Insertion:
- After successful Aadhar verification, store the voter’s data (minus Aadhar details for privacy)
in the database.
Create a Login Page where voters can securely log into their accounts.
2. Authentication:
- The system checks credentials against the database.
- Add Two-Factor Authentication (2FA) by sending an OTP to the registered email or mobile
for extra security.
This page is needed if an extra layer of Aadhar verification is required during voting.
1. Aadhar Re-Verification:
- Optionally, once the voter logs in, they may need to provide their Aadhar number again to
verify their identity via OTP (through the Aadhar API).
2. Security Measures:
- Ensure encrypted communication for Aadhar-related data to maintain privacy.
Step 6: Select Zone Page
Design the Zone Selection Page where voters select their voting constituency based on their
address.
1. Zone Auto-Selection:
- The system can automatically detect the voter’s zone from their registered address (based on
state, district, ward ).
3. Confirmation:
- Once the zone is selected, the system confirms the zone before proceeding to the Voting Page
.
Design the Voting Interface where voters can cast their vote securely.
2. Vote Casting:
- Voters can select their candidate by clicking on their preferred choice. Each vote is encrypted
using asymmetric encryption (public/private keys) to maintain security.
3. Vote Confirmation:
- Before submitting, show a confirmation dialog for the voter to confirm their selection.
4. Submit Vote:
- Once confirmed, the vote is encrypted and sent to the Blockchain for immutable storage.
5. Vote Receipt:
- After the vote is successfully recorded, the system can issue a vote receipt (with a transaction
ID from the blockchain) to confirm the vote submission.
2. Automated Tallying:
- The system automatically tallies votes based on the candidates stored in the database.
3. Display Results:
- The results are displayed on the admin dashboard, showing the total votes for each
candidate/party. Results can be filtered by zone, district, or overall tally.
4. Declare Results:
- Once votes are counted, admins can publish the official election results.
1. Encryption:
- Use end-to-end encryption for sensitive data, including voter credentials, Aadhar numbers,
and votes. Ensure all data transmission happens over HTTPS .
2. Blockchain Integrity:
- Ensure the integrity of votes by leveraging blockchain’s immutability feature. Votes stored
on the blockchain cannot be altered or deleted once cast.
3. Anonymity:
- Ensure that the link between the voter and their vote remains confidential. Encrypt vote data
before it reaches the blockchain.
4. Audit Logs:
- Keep an audit log of all admin actions (e.g., adding parties, adding voters) for transparency
and accountability.
1. Simulate Elections:
- Perform rigorous testing by simulating an election to ensure the system works as expected.
2. Security Audits:
- Conduct third-party security audits to validate the security of the Aadhar integration,
blockchain, encryption, and overall system.
3. Deployment:
- Deploy the system on scalable cloud infrastructure (e.g., AWS, Azure) to handle large-scale
voting operations. Ensure backup systems and fail-safes are in place.
A secure online voting system using Blockchain integrates modules for identity verification,
encryption, and distributed ledgers to ensure eligible voters can cast private, immutable votes.
Smart contracts automate vote counting, while real-time monitoring and audit trails enhance
transparency. The system's decentralized nature, supported by a consensus mechanism, prevents
manipulation and ensures election security and efficiency.
Initially, eligible voters create an account by providing necessary details through a secure
registration page, ensuring their identity is verified. This procedure is streamlined, requiring users
to fill in relevant information, including a valid government ID for authentication. Additionally,
voters can log in easily using their credentials, allowing them to access their accounts and
participate in the voting process securely.
B. Authentication page
The system captures user credentials, which are then encoded in a cryptographic format to ensure
security. This encoded data is utilized for further authentication processes. As illustrated in the
accompanying figure, the mechanism for securely encoding user information guarantees that only
authorized individuals can access the voting platform, protecting against unauthorized access and
ensuring the integrity of the voting system.
C. Voting page
Once the encoded vote is submitted, it is matched with the votes of other registered users. As
understood, each vote will be unique to the individual voter. This matching process can also be
viewed as verifying the authenticity of votes or voter identities. Once a match is confirmed, the
vote is counted; otherwise, it is flagged as a new record in the system. In the context of ensuring
election integrity, the scope of verifying votes expands as the system quickly analyzes submitted
votes for any discrepancies. If a discrepancy is found, the election officials and relevant
stakeholders are notified. If no issues are identified, the vote is securely recorded and counted in
the blockchain, ensuring transparency and accuracy in the voting process.
3.4 Data Model and Description
Data Model describes the relationship and association among data which includes Entity
Relationship Model.
The Secure Online Voting System is structured around several key entities that streamline the
voting process while ensuring security and efficiency. First, the User entity encapsulates the
details of individuals eligible to vote, including attributes such as User_ID, which uniquely
identifies each voter, as well as their Name, Email, Password, and Role, which indicates whether
they are a Voter or an Admin. This differentiation in roles helps manage access levels within the
system.
The Admin entity represents those responsible for overseeing the election process, featuring
attributes such as Admin_ID for unique identification, Name, Email for communication, and a
secure Password for login purposes.
The Party entity details the political parties involved in the elections, with attributes like Party_ID
to uniquely identify each party, Party_Name for its official designation, and Leader_Name, which
identifies the party leader or representative.
The Vote entity captures critical voting data, including Vote_ID, which serves as a unique
identifier for each vote, along with User_ID, linking it to the voter, Party_ID, indicating the
chosen political party, and a Timestamp to record when the vote was cast, ensuring traceability.
Finally, the Election entity represents the elections conducted within the system, characterized by
attributes such as Election_ID, which uniquely identifies each election, Election_Name for the
title, and the Start_Date and End_Date, marking the timeframe of the election.
.
3.7 Methodology
The methodology for the Secure Online Voting System follows a systematic approach to ensure
that the project is well-structured and meets its objectives. The stages include:
1. Requirement Analysis: In this phase, we gather and document the needs and expectations
of users and administrators, focusing on functionality, security, and user experience in the
voting process.
2. System Design: Based on the requirements, we develop the ER model, data flow model,
and UML diagrams. This design phase helps visualize the system architecture and
identifies potential challenges before implementation.
3. Implementation: During the stage, we create the front-end components for user registration
and login, along with back-end functionalities. Admin features for managing parties and
monitoring activities are also developed.
4. Integration: We connect the voting system with the blockchain to ensure secure, tamper-
proof recording of votes. This integration is vital for maintaining integrity of electoral
process.
5. Future Enhancements: Planning for future improvements, we aim to implement retina scan
authentication to enhance security. This biometric feature will be developed and integrated
subsequent phases of project, ensuring ongoing adaptability to emerging security threats.
Chapter 4
The existing system that is implemented will help the common citizens participate in tracing A
secure online voting system using blockchain offers enhanced security through an immutable
ledger, ensuring votes cannot be tampered with. It promotes transparency with a publicly
accessible ledger for real-time audits while enabling multi-factor authentication for voter
verification. The system reduces costs and time by eliminating physical polling places and allows
for remote voting, increasing accessibility and participation. Additionally, it complies with legal
standards, ensuring regulatory adherence and data redundancy for disaster recovery. Overall, this
approach can transform the electoral process by increasing integrity and efficiency.
Traditional online voting systems face security challenges due to centralized databases and potential
cyber attacks. The proposed blockchain-based system enhances security by decentralizing data
storage and ensuring immutable records, reducing risks of tampering. It also improves transparency,
as the entire voting process is auditable and visible to all participants. Using cryptographic
techniques and smart contracts, the system maintains voter anonymity while ensuring verification,
protecting privacy and integrity. Automated smart contracts streamline vote tallying, reducing delays
and human errors. Moreover, blockchain’s scalability supports large-scale elections efficiently while
lowering operational costs over time.Table 4.1 – Comparison between existing and proposed system.
Parameter Voting Proposed System
Security Vulnerable to cyberattacks and Decentralized data storage
data tampering due to centralized blockchain records.
databases.
Front-end
HTML
CSS
JavaScript:
User interface for voters to interact with the system. Provides forms for registration and
voting. Validation of input data.
Back-end
Node.js
Express.js
Handles requests from the front-end. Communicates with the blockchain for storing and
retrieving voting data. Provides APIs for interacting with the blockchain network.
Blockchain Network:
[2] Herbert Schildt, The Complete Reference Java2 Fifth Edition, Tata McGraw-Hill Edition
2020.
[3] Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling Language User
Guide. Addison-Wesley, Reading, Mass., 2020.
[4] Smita B. Khaimar, P. Sanyasi Naidu, Reena Kharat “Secure Authentication for Online
Voting System”.
[5] An Efficient Online Voting System, ISSN 2249-6645, Volume-2, Issue, July-Aug-2012,
IJMER.
[6] R Alaguvel, Jagadhambal G Gnanavel Biometrics Using Electronic Voting System with
Embedded Security, volume 2 Posted: 2021
Acknowledgement
We take this opportunity to express our deep sense of gratitude to our project guide and
project co-ordinator, Mr. Wasim shaikh, for her continuous guidance and encouragement
throughout the duration of our miniproject work. It is because of her experience and
wonderful knowledge, we can fulfil the requirement of completing the miniproject within the
stipulated time. We would also like to thank Dr. Jitendra Saturwar, Head of computer
engineering department for his encouragement, whole-hearted cooperation and support.
We would also like to thank our Principal, Dr. J. B. Patil and the management of Universal
College of Engineering, Vasai, Mumbai for providing us all the facilities and the work
friendly environment. We acknowledge with thanks, the assistance provided by departmental
staff, library and lab attendants.