0% found this document useful (0 votes)
48 views63 pages

Report - E-Voting Finaly

Uploaded by

iamankitappy116
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)
48 views63 pages

Report - E-Voting Finaly

Uploaded by

iamankitappy116
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

E-VOTING SYSTEM USING BLOCKCHAIN

A Project Report
Submitted
In Partial Fulfillment of the Requirements
For the Degree of

Bachelor of Technology ([Link])


in
Computer Science & Engineering
by

Shreya Singh Tripti Tiwari


2101920100257 2101920100304

Alok Kumar Shubham Vishwakarma


2101920100041 2101920100280

Under the Supervision of


Eram Fatima
(Assistant Professor)

G.L. BAJAJ INSTITUTE OF TECHNOLOGY & MANAGEMENT


GREATER NOIDA

DR. A P J ABDUL KALAM TECHNICAL UNIVERSITY,


UTTAR PRADESH, LUCKNOW

2024-2025

i
Declaration

We hereby declare that the project work presented in this report entitled “E-VOTING
SYSTEM USING BLOCKCHAIN”, in partial fulfillment of the requirement for the award
of the degree of Bachelor of Technology in Computer Science & Engineering, submitted
to Dr. A.P.J. Abdul Kalam Technical University, Uttar Pradesh, Lucknow is based on our
own work carried out at Department of Computer Science & Engineering, G.L. Bajaj
Institute of Technology & Management, Greater Noida. The work contained in the report is
true and original to the best of our knowledge and project work reported in this report has
not been submitted by us for award of any other degree or diploma.

Signature:
Name: Shreya Singh

Roll No: 2101920100275

Signature:
Name: Tripti Tiwari

Roll No: 2101920100304

Signature:
Name: Alok Kumar

Roll No: 2101920100041

Signature:
Name: Shubham Vishwakarma

Roll No: 2101920100280

Date: 16 Dec 2024


Place: Greater Noida

ii
Certificate

This is to certify that the Project report entitled “E-VOTING SYSTEM USING
BLOCKCHAIN” done by Shreya Singh (2101920100275), Tripti Tiwari
(2101920100304), Alok Kumar (2101920100041) and Shubham Vishwakarma
(2101920100280) is an original work carried out by them in Department of Computer
Science & Engineering, G.L. Bajaj Institute of Technology & Management, Greater Noida
under my guidance. The matter embodied in this project work has not been submitted earlier
for the award of any degree or diploma to the best of my knowledge and belief.

Date: 16 Dec 2024

Ms. Eram Fatima Dr. Sansar Singh Chauhan


Signature of the Supervisor Head of the Department

iii
Acknowledgement

The merciful guidance bestowed to us by the almighty made us stick out this project to a
successful end. We humbly pray with sincere heart for his guidance to continue forever.
We pay thanks to our project guide Ms. Eram Fatima who has given guidance and light to us
during this project. His/her versatile knowledge has helped us in the critical times during the
span of this project.
We pay special thanks to our Head of Department Dr. Sansar Singh Chauhan who has been
always present as a support and help us in all possible way during this project.
We also take this opportunity to express our gratitude to all those people who have been directly
and indirectly with us during the completion of the project.
We want to thanks our friends who have always encouraged us during this project.
At the last but not least thanks to all the faculty of CSE department who provided valuable
suggestions during the period of project.

iv
Abstract

Democratic voting is a crucial and serious event in any place, the current election scheme in
any place, be it a school college, or even a country is done through ballot papers or using EVM.
This process has many disadvantages such as transparency, low voter turnout, vote tampering,
lack of trust in electoral authorities, delay in results, and above all security issues. So, the
growing digital technology has helped many people's lives nowadays. The concept of
electronic voting is introduced to combat the disadvantages of the traditional voting system.
Electronic voting is essentially an electronic means of casting and counting votes. It is an
efficient and cost-effective way of conducting a voting procedure that is data-rich and real-time
and requires high security. Nowadays, concerns about the security of networks and the privacy
of communications for electronic voting have increased. Thus, the provision of electronic
voting is very urgent and is becoming a popular topic in communication and networking. One
way to solve security problems is blockchain. The paper proposes a new blockchain-based
electronic voting system that addresses some of the limitations in existing systems and
evaluates some of the popular blockchain frameworks to create a blockchain-based electronic
voting system. Because the blockchain stores its data in a decentralized manner, the
implementation result shows that it is a practical and secure electronic voting system that solves
the problem of vote forgery in electronic voting. The blockchain-based electronic voting
system can be directly applied to various network applications.

v
TABLE OF CONTENT

Declaration...…..……………………………………………………………………………(ii)
Certificate…………………………………………………………………………………..(iii)
Acknowledgement……………………………………………………………..…………...(iv)
Abstract…………………………………………………………………………………..…(v)
Table of Content …………..………………………………………………………………(vi)
List of Figures……………………..………………………………………………….…..(viii)
List of Tables …………………….……………...………………………………….……...(ix)

Chapter 1. Introduction……………………………………………………………....(1)
1.1 Preliminaries………………………………………………………….……….(2)
1.2 Problem Statement…………….………………………………………………(3)
1.3 Challenges in E-Voting System .…….………………………..………………(4)
1.4 Advances in voting…………..……..……….………………………………...(5)
1.5 Significance of project…………...……………………………………………(6)

Chapter 2. Literature Survey………………………………………………………(8)


2.1 Introduction………….….……………….……………………………………(8)
2.2 Related Work……………..…………….……………………………………..(8)
2.3 Research Gap…………..…………..…….…..………………………………(11)
2.4 Conclusion……………...…………..…...…………………………………...(11)

Chapter 3. Proposed Methodology…………………………………………………..(13)


3.1 Introduction………..……………………..…………………………………...(13)
3.2 Voter Registration & Authentication…..…..…………………………………(13)
3.3 Vote Casting & Privacy…………..….….…………………………………….(14)
3.4 Smart Contracts for Election Management…………….….…..………………(15)
3.5 Security Measures..…………….………..…………………………………….(15)
3.6 User Experience & Accessibility……..…...……………………….………..(16)

Chapter 4. Analysis, Design Methodology & Implementation Strategy…………...(17)


4.1 Project Feasibility Study………..……………………………………………(17)
4.2 Detailed Module Description….………………….………………….………(18)
4.3 Project SRS……………………………………….………………….………(18)
4.4 Methodology………………………………..……...…………………………(28)
4.5 Voting Process……………………….……..………………………...………(30)
4.6 Blockchain…………………………………..……….…………….…………(31)
4.7 Face Recognition.…………………………..……...…………………………(40)
4.8 Timeline Chart……………………………..…………..………….…………(43)

Chapter 5. Implementation & Testing…………………….………….………….......(44)


5.1 Software & Tools….……………………………..…………….……………(44)
5.2 User Interface & Snapshots…………………………………….…………....(45)

Chapter 6. Conclusion & Future Work………………………………….…………..(52)


6.1 Conclusion………………………………………………………..…………(52)
vi
6.2 Future Work…………………………………..…………………………...(52)

References……………………………………………………………………………....(53)

Appendix I : Plagiarism report of project report (<=15%)…….………………………..(54)

vii
LIST OF FIGURES

Figure No. Description Page No.

Figure 4.1 Class Diagram 20


Figure 4.2 Usecase Diagram 21
Figure 4.3 Sequence Diagram 23
Figure 4.4 DFD Level 0 24
Figure 4.5 DFD Level 1 24
Figure 4.6 Event Trace Diagram 26
Figure 4.7 State Diagram 27
Figure 4.8 Overview of System 30
Figure 4.9 Hash table 32
Figure 4.10 Simplified Bitcoin BlockChain 33
Figure 4.11 Architecture of E-Voting 34
Figure 4.12 Smart Contract Working 37
Figure 4.13 Block Chain Transaction Flow 40
Figure 4.14 Find Face 41
Figure 4.15 Extract facial Feature 41
Figure 4.16 Identify Faces 42
Figure 4.17 Project Timeline Chart 43
Figure 5.1 Admin Login 45
Figure 5.2 Admin Dashboard 45
Figure 5.3 View Users 46
Figure 5.4 Add Users 46
Figure 5.5 Add Candidate 46
Figure 5.6 Add Election 46
Figure 5.7 Edit Face 48
Figure 5.8 Elections 48
Figure 5.9 Candidate of Election 49
Figure 5.10 User Login Page 49
Figure 5.11 Transaction Details 50
Figure 5.12 Result of Election 51
Figure 5.13 Candidate Result 52

viii
LIST OF TABLES

Table No. Description Page No.


Table 4.1 Class Diagram Table 19
Table 4.2 UseCase Diagram Table 21
Table 4.3 Sequence Diagram Table 22
Table 4.4 Dataflow Diagram Table 24
Table 4.5 Event Trace Diagram Table 25
Table 4.6 State Diagram Table 27

ix
Chapter 1
Introduction

1.1 Preliminaries

Historical Context and Motivation

Online Voting system is a web-based voting system that will helps to manage your elections
easily and more securely. This voting system can be used for casting votes during the elections
held in colleges, etc. It uses face recognition technique to authenticate the user so problems for
dummy entries will also be solved. So, thus this system gives the guarantee that no cheating
can be done and the voting will be conducted easily where people don’t have to go outside in
order to cast their votes.

The idea of leveraging blockchain technology for e-voting stems from the historical challenges
associated with traditional voting systems, such as voter fraud, ballot tampering, and lack of
transparency in election processes. Over the years, technological advancements have enabled
digital solutions for voting, but these often suffer from centralization, making them vulnerable
to cyberattacks and manipulation. Blockchain, with its decentralized, immutable, and
transparent nature, offers a revolutionary solution to these issues. By recording votes on a
secure public ledger and using cryptographic methods to ensure voter anonymity, blockchain
can restore trust in electoral processes. The motivation for this project lies in creating a more
accessible, secure, and transparent voting system that upholds democratic values while
addressing the logistical inefficiencies and vulnerabilities of current methods.

Research in this area addresses critical needs: making visual content accessible, enhancing
automated understanding, and enabling human-like interaction with digital systems. The
overarching goal is to empower citizens with a voting system that is resistant to fraud, inclusive

1
for remote or disenfranchised voters, and capable of strengthening democratic institutions in
an era of technological disruption.

Impact of E-Voting Across Domains

The implementation of blockchain-based e-voting systems has the potential to revolutionize


various domains by enhancing security, transparency, and inclusivity. Politically, it strengthens
electoral integrity by preventing tampering and ensuring fair outcomes, fostering public trust
in democratic processes. Socially, it increases voter participation by making elections
accessible to remote, disabled, and disenfranchised populations, ensuring that every citizen can
exercise their rights. Technologically, it drives innovation in cryptographic security and
decentralized systems, benefiting industries beyond voting, such as finance and healthcare.
Economically, e-voting reduces the costs associated with traditional elections, such as logistics
and manual vote counting, while also contributing to environmental sustainability by
minimizing paper usage and physical infrastructure. Furthermore, it facilitates secure and
transparent decision-making in corporate governance and international collaborations, paving
the way for a more efficient and equitable approach to global governance.

The adoption of blockchain-based e-voting systems can significantly reshape societal, political,
and economic landscapes by addressing long-standing challenges in traditional voting
processes. Politically, it enhances electoral integrity by ensuring tamper-proof, transparent, and
verifiable results, thereby restoring trust in democratic systems, especially in regions prone to
corruption or voter fraud. Socially, it fosters inclusivity by providing remote access for voters
in rural areas, the elderly, persons with disabilities, and citizens living abroad, making elections
more equitable. Technologically, it drives advancements in blockchain, cryptography, and
distributed systems, which not only benefit the voting process but also catalyze innovation in
sectors like finance, healthcare, and governance.

1.2 Problem Statement

Challenges in Feature Extraction and Contextual Understanding

Feature extraction and contextual understanding are pivotal yet challenging aspects of
processing complex data across domains such as natural language, computer vision, and
analytics. High-dimensional data, such as text and images, makes it difficult to extract

2
meaningful features without losing important context, while issues like ambiguity and
polysemy in language add another layer of complexity. Noise and irrelevant information further
complicate the process, making it critical to distinguish signal from distraction effectively.
Domain-specific variability often requires tailored approaches, as techniques effective in one
domain may not generalize to others. Temporal and sequential dependencies, such as those in
time-series data or language modeling, are particularly challenging to model, especially when
long-range patterns must be captured. Advanced techniques like deep learning can address
these issues but often lack interpretability, making it difficult to understand the role of extracted
features. Additionally, the computational resources required for such methods can be
prohibitive, and scalability remains a concern for large datasets or real-time applications.

Ambiguity in Contextual Data

In an e-voting system using blockchain, ambiguity in contextual data presents a significant


challenge, particularly in ensuring the accuracy and integrity of votes. In blockchain-based
systems, each vote must be securely recorded while maintaining voter privacy and preventing
fraud. However, ambiguity can arise when interpreting data related to voter identities, the
candidate choices, or even the context of the vote itself. For example, in cases where a voter
mistakenly selects the wrong candidate or makes multiple choices due to unclear instructions,
this ambiguity could lead to invalid or contested votes. Moreover, blockchain transactions,
while immutable, might not always account for such ambiguities in real-time, as the data on
the blockchain is permanent once recorded. Additionally, the use of encrypted voter data to
preserve privacy further complicates the interpretation, as the context of a vote may not always
be clear unless proper encryption and decryption methods are in place. Addressing ambiguity
in such a system requires advanced error-checking mechanisms and contextual understanding
built into the blockchain's smart contracts, ensuring that any potential inconsistencies or errors
are resolved before the vote is finalized on the blockchain.

If these are not properly matched or interpreted, it could lead to confusion about the voter's
eligibility or the integrity of the vote itself. Similarly, the process of casting a vote may
introduce ambiguity in cases of system errors or unclear voting interfaces, where a voter might
inadvertently cast a blank vote, make duplicate submissions, or choose conflicting options.
Additionally, ensuring that the blockchain can handle data such as timestamps, vote intent, and
voter consent in a clear and unambiguous manner is crucial for preserving both the legitimacy
and transparency of the voting process.

3
1.3 Challenges in E-Voting System

1.3.1 Voter Authentication and Identity Management

Ensuring secure and accurate voter authentication is critical in an e-voting system.


Blockchain’s pseudonymous nature can complicate the verification of voters, as it does not
inherently link public keys with real-world identities. Implementing strong identity
management mechanisms, such as integration with government-issued IDs or biometric data,
adds complexity and potential privacy concerns.

Voter authentication and identity management in a blockchain-based e-voting system are


crucial for ensuring that only eligible voters can participate while maintaining privacy and
security. Blockchain’s decentralized nature requires external mechanisms, such as biometric
verification, government IDs, or digital tokens, to authenticate voters. Voters interact with the
system using a public-private key pair, where the private key is essential for securely casting
votes. To enhance security, decentralized identity systems and cryptographic techniques like
zero-knowledge proofs can ensure privacy, while multi-factor authentication adds additional
layers of protection against unauthorized access.

1.3.2 Contextual Understanding and Ambiguity

Current models struggle with contextual understanding in images with ambiguous or nuanced
details. For example, cultural or symbolic items (e.g., a national flag, religious symbols) often
carry meanings beyond their visual form. Incorporating external knowledge bases or datasets
with semantic and contextual associations can help models interpret such symbols more
accurately, though this is an ongoing area of research.

Ambiguity also arises in images with actions that are open to interpretation, such as “a person
raising their arms”—which could indicate celebration, signalling, or stretching. Enabling
models to discern these nuanced meanings may require advancements in multimodal learning,
where models draw from both visual and contextual data sources to better understand an
image’s underlying message.

4
1.3.3 Security Risks and Attack Vectors

While blockchain offers enhanced security through cryptographic hashing, it is still susceptible
to attacks such as 51% attacks, where a malicious entity gains control over the majority of the
network’s hash power. Additionally, vulnerabilities in smart contracts or the underlying
blockchain protocols can be exploited, leading to the risk of vote manipulation, denial of
service, or other forms of exploitation.

Security risks and attack vectors in blockchain-based e-voting systems stem from
vulnerabilities in both the blockchain network and the voting process itself. While blockchain
offers robust data integrity through cryptographic hashing, it is still susceptible to attacks such
as 51% attacks, where an entity controls the majority of the network's hash power, potentially
manipulating vote outcomes. Additionally, smart contract vulnerabilities, flaws in key
management, and insufficient voter authentication can expose the system to exploits like vote
tampering or denial of service.

1.3.4 Scalability and Efficiency

Blockchain networks, especially public ones like Ethereum, can face scalability issues when
handling large volumes of data. E-voting systems require the ability to process thousands or
even millions of votes within a short time frame. Blockchain's decentralized nature can result
in slower transaction speeds and higher costs (e.g., gas fees), making it difficult to scale
efficiently for large-scale elections.

1.3.5 Legal and Regulatory Compliance

Adopting blockchain-based e-voting systems may encounter resistance from traditional


institutions due to legal, regulatory, and ethical concerns. Different regions have varying rules
regarding voting procedures, data storage, and privacy protection. Blockchain’s immutable
ledger may conflict with laws that require the ability to modify or delete records, raising legal
challenges in jurisdictions with strict data protection regulations.

1.4 Advances in Voting

1.4.1 Blockchain Technology in E-Voting

Blockchain technology in e-voting enhances transparency, security, and privacy by providing


a decentralized, immutable ledger for recording votes. Each vote is encrypted and stored as a

5
block on the blockchain, ensuring that it cannot be altered or tampered with once recorded.
Blockchain also facilitates secure voter authentication through decentralized identity
management systems, where voters control their digital identities, preventing unauthorized
access or fraud. Additionally, smart contracts can automate and enforce voting rules, ensuring
that the process is transparent, tamper-proof, and free from human intervention, while
maintaining voter anonymity and data integrity.

1.4.2 Biometric Authentication in E-Voting

Biometric authentication in e-voting enhances security by verifying voters’ identities through


unique physical characteristics, such as fingerprints, facial recognition, or iris scans. This
method ensures that only eligible voters can cast their ballots, reducing the risk of voter
impersonation and fraud. By linking voter identification to biometrics, e-voting systems can
provide a higher level of assurance that the person voting is the intended individual, while
maintaining privacy and preventing the sharing of credentials. Biometric systems are
increasingly integrated into e-voting platforms, offering a secure, user-friendly, and efficient
way to authenticate voters, especially in remote or online voting environments.

1.4.3 Cryptographic Techniques for Secure Voting

Cryptographic techniques are crucial for ensuring the security and privacy of votes in e-voting
systems. Methods such as zero-knowledge proofs (ZKPs) allow voters to prove they are
eligible without revealing any sensitive information about their vote, ensuring privacy.
Homomorphic encryption enables votes to be encrypted and counted without decrypting
them, preserving confidentiality throughout the voting process. Public Key Infrastructure
(PKI) uses asymmetric encryption to secure voter identities and votes, ensuring that only
authorized participants can cast and verify votes. Together, these cryptographic techniques
enhance the integrity, security, and anonymity of e-voting systems, safeguarding them from
fraud and manipulation.

1.4.4 Future Directions and Innovations in E-Voting

The future of e-voting is poised for significant innovation, driven by advancements in


blockchain, quantum computing, and artificial intelligence. Blockchain is expected to enhance
transparency, security, and voter privacy, providing decentralized, tamper-proof systems. In
addition, the integration of quantum computing could lead to the development of unbreakable
encryption methods, ensuring even greater protection for voter data. AI and machine learning

6
may play key roles in fraud detection and voter behavior analysis, improving the overall
integrity of elections. Mobile and remote voting technologies will further expand access,
allowing more people, including those in remote or underserved areas, to participate securely.

1.5 Significance of the Project

Theoretical Contributions and Practical Impact

The significance of the e-voting system using blockchain lies in its potential to revolutionize
the electoral process by enhancing security, transparency, and accessibility. Traditional voting
systems are often vulnerable to fraud, manipulation, and logistical challenges, such as long
waiting times, the risk of ballot tampering, and the inefficiency of paper-based systems. By
leveraging blockchain technology, which offers a tamper-proof, decentralized ledger, the
project ensures that votes are securely recorded and cannot be altered once cast, significantly
reducing the risk of election fraud. Additionally, blockchain can enhance voter privacy and
authentication through advanced cryptographic techniques, ensuring that only eligible voters
can participate without compromising anonymity. This system also increases transparency by
allowing voters and election officials to track and audit results in real-time, fostering trust in
the electoral process. Furthermore, blockchain-based e-voting systems can be more cost-
effective and accessible, enabling remote or mobile voting, thus reaching a broader
demographic, including those in remote or underserved areas.

7
Chapter 2
Literature Survey

2.1 Introduction
Blockchain technology has seen a wide array of applications across various industries,
including banking, finance, IoT, media, energy, health, and logistics. With ongoing research,
new use cases and fields of application continue to emerge. Scalability remains a significant
challenge for blockchain technology, particularly in the context of electronic voting systems.
This section provides an analysis of previous research focusing on scalable blockchain
technology for electronic voting systems.

2.2 Related Work

1. Core Components of Blockchain Architecture

o The foundation of blockchain technology comprises several key components:


o Node: A user or computer participating in the blockchain network.
o Transaction: The smallest building block of the blockchain system, representing
individual operations.
o Block: A data structure containing a set of transactions distributed across all
network
o Chain: A sequence of blocks arranged in a specific order to ensure immutability
and consensus.
o Miners: Nodes responsible for performing block verification through consensus
mechanisms.
o Consensus: A set of rules that govern agreement among nodes to validate
transactions and add blocks to the chain.

8
2. Blockchain-based E-voting Systems

o Blockchain-based e-voting systems use blockchain technology to enhance the


security, transparency, and efficiency of the voting process. By leveraging
blockchain’s decentralized and tamper-resistant nature, these systems ensure that
each vote is securely recorded and cannot be altered once cast, reducing the risk of
fraud and manipulation. In such systems, each vote is recorded as a transaction on
a blockchain, creating a transparent and immutable ledger that can be audited by
anyone, ensuring accountability.

o These systems also offer increased accessibility, enabling voters to participate


remotely or from mobile devices, thus increasing voter turnout, especially for those
in remote areas or with disabilities. Additionally, blockchain’s ability to eliminate
intermediaries makes the voting process faster and more cost-effective, reducing
the need for paper ballots, physical polling stations, and the associated
administrative overhead.

o implementing blockchain-based e-voting systems comes with challenges such as


scalability, legal and regulatory compliance, and public trust in the technology.
Despite these hurdles, the potential benefits—improved election security, reduced
fraud, and greater public confidence in election outcomes—make blockchain a
promising solution for the future of digital democracy.

3. Anti-Quantum Electronic Voting Protocol

o Anti-Quantum Electronic Voting Protocol refers to a secure voting system


designed to be resistant to attacks from quantum computers. As quantum computing
advances, traditional cryptographic methods used in e-voting systems (like RSA
and ECC) are at risk of being broken by quantum algorithms such as Shor’s
algorithm, which can efficiently factor large numbers and compute discrete
logarithms, rendering many widely-used cryptographic techniques insecure.

9
o Quantum computing advances, traditional cryptographic methods used in e-voting
systems may become vulnerable. To address this, the protocol uses post-quantum
cryptography (PQC) techniques, such as lattice-based encryption, code-based
cryptography, and quantum-resistant key exchange mechanisms, to ensure security.
It also incorporates homomorphic encryption and zero-knowledge proofs to
maintain voter privacy and election integrity.

o Integrating quantum-resistant techniques, these protocols aim to protect the


confidentiality, integrity, and transparency of e-voting systems, making them
future-proof against the emerging capabilities of quantum computing. Despite the
potential, challenges like efficiency, scalability, and global standardization of
quantum-safe cryptographic protocols remain to be fully addressed.

4. Blockchain-based Electronic Voting Scheme (BES)

o Voting system that uses blockchain technology to securely record, verify, and count
votes in elections. By leveraging the decentralized and immutable nature of
blockchain, BES aims to enhance the transparency, security, and efficiency of the
voting process. Each vote is recorded as a transaction on a blockchain, ensuring that
once a vote is cast, it cannot be altered or tampered with. This reduces the risk of
election fraud, such as vote tampering, double voting, or ballot stuffing.

o It aims to create a secure, transparent, and efficient voting system by utilizing the
benefits of blockchain technology. It offers enhanced security against fraud,
improved transparency, and greater accessibility for voters, while addressing
challenges related to scalability, privacy, and regulatory compliance.

o The decentralized nature of blockchain also means that no single entity can control
or manipulate the election outcome, promoting fairness and trust in the electoral
process. Each voter can verify their vote was accurately recorded through the
blockchain, ensuring end-to-end verifiability.

10
2.3 Research Gap

o Current blockchain-based systems face limitations when it comes to scaling for large
elections with millions of participants. Many blockchain platforms struggle with
transaction throughput and latency, which can affect the speed and efficiency of vote
recording and tallying in real-time, particularly in high-demand scenarios

o While blockchain can securely store votes, ensuring robust, anonymous, and verifiable
voter authentication without violating privacy remains a significant challenge. Research
is needed to develop decentralized identity management systems and secure biometric
authentication methods that balance accessibility with privacy, preventing voter
impersonation and fraud while maintaining anonymity.

o Many blockchain protocols, particularly proof-of-work systems, are known for their
high energy consumption. The environmental impact of large-scale voting systems that
use blockchain needs further investigation to develop energy-efficient consensus
mechanisms that can maintain security without excessive energy usage.

o In many regions, traditional voting systems still dominate, and the transition to
blockchain-based systems must be smooth. Research on how blockchain can be
integrated with existing infrastructure and traditional voting methods while ensuring a
seamless process for all participants is another area for exploration.

o The adoption of blockchain-based e-voting systems requires that voters, election


officials, and other stakeholders understand and trust the technology. Research into
user interfaces, education programs, and public perception of blockchain voting
systems is needed to ensure widespread adoption and confidence in the system.

11
2.4 Conclusion

o The integration of blockchain technology into electronic voting systems has shown
significant promise in enhancing security, transparency, and voter anonymity.
However, existing systems face critical challenges related to scalability, energy
consumption, security vulnerabilities, and quantum computing threats.

o Enhancing voter integrity verification while maintaining anonymity.

o Developing scalable blockchain protocols suitable for large-scale elections.

o Reducing energy consumption through alternative consensus mechanisms.

o Implementing quantum-resistant cryptographic algorithms.

o Addressing latency issues to enable real-time voting processes.

12
Chapter 3
Proposed Methodology

3.1 Introduction

The proposed methodology for an e-voting system using blockchain aims to design a
secure, transparent, and efficient platform for conducting elections by leveraging blockchain
technology. The goal is to provide a tamper-proof and decentralized environment that
enhances the integrity and transparency of the voting process while addressing common
challenges such as voter fraud, identity theft, and vote manipulation. Blockchain offers a
robust solution by utilizing a distributed ledger that records every vote as a transaction,
ensuring immutability and full auditability. This methodology outlines the steps involved in
implementing a blockchain-based e-voting system, focusing on security, privacy, scalability,
and user experience.

By utilizing decentralized identity management, end-to-end encryption, and smart contracts,


the system ensures voter privacy, authenticity, and the integrity of election results. Challenges
such as scalability, security, and performance are addressed through scalable blockchain
solutions and robust cryptographic measures. The methodology promises to enhance trust in
the electoral process, reduce fraud, and enable remote and accessible voting on a global scale.

3.2 Voter Registration and Authentication:

Voter Registration and Authentication in a blockchain-based e-voting system ensures that


only eligible individuals can cast a vote while protecting their identity and ensuring privacy.
The process begins with decentralized identity management, where each voter is registered

13
through a secure, digital platform. Voter identities are authenticated using cryptographic
methods, such as public key infrastructure (PKI) or biometric authentication (e.g.,
fingerprints or facial recognition). This ensures that the voter is legitimate without
compromising their personal information. Once authenticated, the voter is issued a unique
cryptographic token or voting key, which grants access to the voting process. The use of
blockchain guarantees that voter data is stored in a tamper-resistant manner, providing
transparency and traceability, but without revealing sensitive details. Additionally, multi-
factor authentication (MFA), which combines something the voter knows (like a password)
with something they have (like a secure device or token), strengthens the security of the system.
This decentralized and cryptographic approach ensures that only verified voters can participate
while safeguarding their privacy and maintaining the integrity of the election process.

Decentralized Identity Framework: Each voter will register through a decentralized system,
where their identity is validated using cryptographic keys linked to a public blockchain. This
process ensures that only eligible voters can participate and that the process is free from
centralized control. Voters could be identified using digital certificates or biometrics like
fingerprints or facial recognition.

Authentication & Authorization: To authenticate voters, a multi-factor authentication (MFA)


system will be implemented, combining something the voter knows (e.g., password) and
something they have (e.g., an encrypted device or hardware token). Once authenticated, voters
receive a unique cryptographic token or voting key, which is used to cast their vote.

3.3 Vote Casting and Privacy:

End-to-End Encryption: Upon casting their vote, the data is encrypted using end-to-end
encryption, ensuring that only the voter and authorized entities can access the information. The
vote is then hashed and recorded as a transaction on the blockchain, where it is stored securely
in a distributed ledger.

Zero-Knowledge Proofs (ZKPs): To ensure voter privacy and prevent vote coercion, Zero-
Knowledge Proofs (ZKPs) will be used. These allow the voter to prove that their vote was cast
without revealing the vote itself, preserving anonymity while ensuring integrity.
14
Privacy-Preserving Cryptography: Homomorphic encryption will be applied to allow votes
to be processed in an encrypted form. This enables tallying without decryption, further
protecting vote confidentiality.

3.4 Smart Contracts for Election Management:

Automated Electoral Processes: Smart contracts will automate various aspects of the
election, such as vote registration, vote validation, counting, and final result declaration. These
self-executing contracts can be programmed to follow specific election rules, such as ensuring
voters only cast one vote, ensuring eligibility criteria are met, and calculating the final results
automatically.

Real-Time Result Tallying: Smart contracts can instantly tally votes as they are recorded,
providing real-time results while maintaining security and accuracy. This reduces the time
traditionally needed for manual counting and eliminates human error.

Conditional Logic in Voting: Smart contracts can implement complex voting rules, such as
conditional voting based on geographical areas or demographic groups, ensuring that all
election rules are correctly followed.

3.5 Security Measures:

Consensus Mechanism: The blockchain will utilize a consensus mechanism like Proof of
Stake (PoS) or Delegated Proof of Stake (DPoS), which ensures that vote transactions are
validated in a decentralized manner without requiring energy-intensive computational work, as
seen in traditional Proof of Work (PoW) systems. PoS or DPoS reduces the risk of a 51%
attack and is more energy-efficient.

Quantum-Resistant Algorithms: With the rise of quantum computing, blockchain-based e-


voting systems must adopt post-quantum cryptographic techniques. This will involve
developing quantum-resistant cryptographic protocols to secure votes and voter identities,
ensuring the system remains resilient to future quantum threats.

15
Decentralized Validation Nodes: A distributed network of validator nodes ensures that no
single entity can control the vote tallying process. These nodes verify that votes are valid and
conform to the election rules, ensuring trust in the system.

3.6 User Experience and Accessibility:

User-Friendly Interface: A simplified user interface will be developed for both voters and
election administrators. For voters, the interface will be designed to be intuitive, allowing them
to securely cast their vote without extensive technical knowledge. Election administrators will
have access to an administrative dashboard that provides real-time election data, such as voter
turnout, vote counts, and system status.

Accessibility: The system will be designed to ensure accessibility for all voters, including those
with disabilities or those in remote locations. Mobile and web applications will be optimized
to cater to various devices, and multi-language support will be provided. s on recall and
precision by comparing the predicted captions with reference captions, focusing on synonym
matching and recall. ROUGE primarily measures recall, while METEOR considers both recall
and synonym matching.

16
Chapter 4
Analysis, Design Methodology and Implementation
Strategy

4.1 Project Feasibility study


Feasibility Study is the Measure of how beneficial or practical the development of the System
will be to the Organization. It is a Preliminary survey for the Systems Investigation. It aims to
provide information to facilitate a later in-depth investigation. The Report is Produced at the
end of the feasibility study contains suggestions and reasoned arguments to help management
decide whether to commit further resources to the proposed project.

4.1.1 Economical Feasibility


In the economic feasibility, the development cost in creating the system is evaluated against
the ultimate benefit derived from the new systems. Financial benefits must equal or exceed the
costs. The system will be Economically Feasible if it Successfully Developed with at least 95%
Accuracy.

4.1.2 Technical Feasibility


This is the study of function, performance and constraints that may affect the ability to achieve
an acceptable system. For this feasibility study, we studied complete functionality to be
provided in the system, as described in the System Requirement Specification (SRS), and
checked if everything was possible using different type of frontend and backend platform.

4.1.3 Operational Feasibility


No doubt the proposed system is fully GUI based that is very user friendly and all inputs to be
taken all self-explanatory even to a layman. Besides, a proper training has been conducted to

17
let know the essence of the system to the users so that they feel comfortable with new system.
As far our study is concerned the clients are comfort table and happy as the system has cut
down their loads and doing.

4.2 Detailed Module Description

4.2.1 Login
This modules describes about login functionality in which there are two types of login are there
1) User Login 2) Admin Login.

4.2.2 Voting
In this module user can cast their votes. This module will describe a whole page where there
will be list of candidates were noted with their symbols .

4.2.3 Voting Creation


In admin can create whole voting environment (i.e. arrange voting facility, specifies time of
voting, add candidates that have stand, and records the entry that particular person has voted,
etc ).

4.2.4 Voting Result


This module is the main module of our system as it gives the result of the voting. As we have
used blockchain technology our votes will not be not be altered and thus purity maintains and
the proper candidate will be won.

4.2.5 User Identification


This module system will authenticate user that particular user is valid or not. This
authentication will be done by face recognition system where user will have to scan their face
to access the voting portal in order to make voting system crystal clear because due to this no
other person can cast vote in place of a particular user.

18
4.3 Project SRS

4.3.1 Class Diagram


A class is a description of a set of objects that share the same attributes, operations,
relationships, and semantics.

 Symbols

Classname : The name of the class is the only required tag in the
graphical representation of a class. It always appears in the top-
most compartment.

Attributes : An attribute is a named property of a class that


describes the object being modeled. In the class diagram, attributes
appear in the second compartment just below the name-
compartment.

Attributes can be : + public

# protected

- private

/ derived

Operation : Operations describe the class behavior and appear in


the third compartment.

Table 4.1 Class Diagram Symbol Table

19
 Diagram

Figure 4.1 Class Diagram

4.3.2 Use-case Diagram


Use case diagrams are a common way to communicate the major functions of a
software system. A use case diagram at its simplest is a representation of a user's
interaction with the system that shows the relationship between the user and the
different use cases in which the user is involved. A use case diagram can identify the
different types of users of a system and the different use cases and will often be
accompanied by other types of diagrams as well.

Use cases are nothing but the system functionalities written in an organized
manner. Nowanother thing which is relevant to the use cases are the actors. Actors can
be defined assomething that interacts with the system.

So in brief, the purposes of use case diagrams can be as follows:

1. Used to gather requirements of a system.


2. Used to get an outside view of a system.

20
3. Identify external and internal factors influencing the system.
4. Show the interacting among the requirements are actors.

 Symbols

An actor is rendered as a stick figure in a use case diagram. Each


actor participates in one or more use cases

People, processes, or other systems that interact with information


systems that will be created outside the information system that will

Use Case be created themselves.

Table 4.2 Use Case Diagram Symbol Table


Diagram

Figure 4.2 Use Case Diagram

21
4.3.3 Sequence Diagram
Sequence diagram represents the behavioural aspects of a system. Sequence diagram
shows the interactions between the objects by means of passing messages from one
object to another with respect to time in a system.

Sequence diagram contains the objects of a system and their life-line bar and
the messages passing between them. Objects appear at the top portion of sequence
diagram. Object is shown in a rectangle box. Name of object precedes a colon ‘:’ and
the class name, from which the object is instantiated. The whole string is underlined
and appears in a rectangle box. A down-ward vertical line from object-box is shown
as the life-line of the object. A rectangle bar on life-line indicates that it is active at
that point of time. Messages are shown as an arrow from the life-line of sender object
to the life-line of receiver object and labelled with the message name.

 Symbols

An Lifeline in a sequence diagram is rendered as a box


with a dashed line descending from it. The line is called
the object lifeline, and it represents the existence of an
object over a period of time.

Messages are rendered as horizontal arrows being


passed from object to object as time advances down the
object lifelines. Conditions indicate when a message
gets passed

Table 4.3 Sequence Diagram Symbol Table

22
 Diagram

Figure 4.3 Sequence Diagram

4.3.4 Data Flow Diagram


DFD provides the functional overview of a system. The graphical representation easily
overcomes any gap between ’user and system analyst’ and ‘analyst and system designer’ in
understanding a system. Starting from an overview of the system it explores detailed design of
a system through a hierarchy.

DFD shows the external entities from which data flows into the process and also the
other flows of data within a system. It also includes the transformations of data flow by the
process and the data stores to read or write a data.

23
 Symbols

Process

Data Flow

Data Store

Source / Sink

Table 4.4 Data Flow Diagram Symbol Table

 Diagram
 DFD level 0 :

Figure 4.4 DFD Level 0

24
 DFD level 1 :

Figure 4.5 DFD level 1

4.3.5 Event Trace Diagram


A event Trace diagram simply depicts interaction between objects in a sequential order. i.e. the
order in which these interactions take place. We can also use the terms event diagrams or event
scenarios to refer to a sequence diagram.

 Symbols

Start State

Final State

Simple State

25
Table 4.5 Event Trace Diagram Symbol Table

 Diagram

Figure 4.6 Event Trace Diagram

4.3.6 State Diagram


A state diagram is a type of diagrams used in computer Science and related fields to describe
the behavior of systems. State diagrams require that the system described is composed of a
finite number of states; sometimes, this is indeed the case, while at other times this is a
reasonable abstraction. Many forms of state diagrams exist, which differ slightly and have
different semantics.

 Symbols

Start State

26
Final State

Simple State

Concurrent Composite State

Sequential Composite State

Table 4.6 State Diagram Symbol Table


Diagram

Figure 4.7 State Diagram

27
4.4 Methodology
In this section, we will show the design and functional phase of our application. The user
accesses the web application where the platform is hosted and registers as well as votes securely
and transparently. The methodology is given below.

4.4.1 Registration Stage


In this stage, the voter has to register with his unique aadhar number, email address, name, and
phone number. They also need to add their clear photo here as this system uses facial
recognition technology to log in.

4.4.2 Login
After registration, the voter tries to log in and cast his vote. At this stage, the voter first logs in
using a password. After successful login, the voter must authenticate to vote. For real-time
authentication, facial recognition technology is used to increase the level of security.

4.4.3 Blockchain Technology


This technology is mainly used for its security features. Blockchain provides a secure and
transparent environment. Blockchain encrypts the voter’s message (Casted vote) using an
asymmetric encryption algorithm. The public key is provided by the Blockchain and the private
key is with the host. The public key is used for authentication purposes using the ledger.

4.4.4 Ethereum
The Ethereum network provides a framework for creating and storing the blockchain. Each
block is created and its details are stored in an encrypted ledger. These generated blocks are
distributed among the nodes, providing the system with high fault tolerance. To cast a vote, a
user must use Ethereum for their transactions. So Ganache is used for this. Ganache is a private
Ethereum blockchain environment that allows you to emulate the Ethereum blockchain to
interact with smart contracts on your private blockchain.

4.4.5 Database
All system data is stored in the MongoDB database. The data will be in the form of voter and
candidate names, unique voter IDs, and voting details like time, time slot, region, etc.

28
4.4.6 Admin
Admin will control the entire environment. Verification of voters and candidates will be done
by admin. Admin only arranges the voting schedule. All important notifications like results etc
are also under admin control.

4.4.7 Results Phase


The processing and counting of votes take place in the results phase. The results are generated
and displayed on the website. Users can verify their votes using their public key. This ensures
the transparency of the voting system.

4.4.8 Meta Mask


Metamask allows blockchain users to manage their wallets. Using the browser extension, users
can use the wallet and perform transactions through the browser. When a transaction is
performed, a meta mask pops up and asks the user to confirm the transaction.

4.4.9 Truffle

Truffle offers an improved environment primarily based totally on the Ethereum blockchain.
Truffle is capable of compiling the Ethereum contracts and migrating them. After migration
contracts are deployed on ganache, any Ethereum takes a look at the net (e.g. Ropsten, Rinkeby,
local network) or on an actual Ethereum network.

Figure 4.8 Overview Of System

29
4.5 Voting Process
We now describe a typical user interaction with the proposed scheme based on our current
system implementation. So basically the voter logs into the system by scanning their face. After
scanning the face, the facial recognition system authenticates the voter. If a match is found, the
voter is presented with a list of available candidates with the option to vote against them.
Conversely, if the match is unsuccessful, any further access would be denied. This functionality
is achieved by using an appropriate implementation of an authentication mechanism (in this
case a facial recognition system) and predefined role-based access control. Furthermore, it is
also assumed that the voter is assigned to his particular electoral district and this information
is used to create a list of candidates for which the voter can vote. Assigning a voter to a
constituency is considered an offline process and is therefore beyond the scope of this research.

After successfully casting votes, it is mined by multiple miners for verification, after
which valid and verified votes are added to the public ledger. The security aspects of voting
are based on blockchain technology using cryptographic hashes to secure end-to-end
verification. For this purpose, a successfully cast vote is considered a transaction within the
voting application's blockchain. Therefore, the casting vote is added as a new block (after
successful mining) in the blockchain and is also recorded in the data tables at the end of the
database. The system ensures ownership of voting systems for only one person and one vote.
This is achieved by using a unique voter face that matches at the start of each voting attempt
to prevent double voting. Once miners mine a vote, a transaction is generated that is unique to
each vote. If the vote is found to be malicious, the miner is rejected.

After the validation process, a notification is immediately sent to the voter via message or email
with the transaction ID defined above, through which the user can track their vote to the ledger.
While this works as a voter notification, it does not allow any user to extract information about
how a particular voter voted, thereby achieving voter privacy. It is important to note here that
the cryptographic hash for the voter is the unique hash of the voter by which the voter is known
in the blockchain. This feature makes it easier to achieve verifiability of the entire voting
process. In addition, this id is hidden and no one can view it, not even the system operator or
administrator can view this hash, thereby achieving the privacy of individual voters.

30
4.6 Blockchain

4.6.1 Introduction
Blockchain technology is shining sort of a star these days when its entry and wide-spread
adoption of Bitcoin, the terribly initial cryptocurrency that involves people's minds. Blockchain
technology originates from the fundamental subject style of the bitcoin cryptocurrency,
wherever it absolutely was initial introduced to the net world and previously became a
promising technology thanks to the high degree of transparency within the system, turning into
a vigorous space of analysis and study for its varied applications. alternative fields.

Blockchain, simply put, may be a shared, changeless ledger that facilitates the method
of recording transactions and following assets in a very business network. Associate in Nursing
quality are often tangible (house, car, cash, land) or intangible (intellectual property, patents,
copyrights, branding). during this era nearly we are able to track and trade something on a
blockchain network, reducing prices and risk for everybody. Blockchain stores its knowledge
in blocks. First, all the info to be keep within the blockchain is reborn into smaller components,
that square measure allotted to totally different blocks within the suburbanized network. The
ini-tial block in a very blockchain is understood as a "Genesis Block" or "Block 0". "Block
Gene-sis" or "Block 0". The genesis block is sometimes hard-coded into software; is peculiar
therein it doesn't contain a link to the previous block. The genesis block is sometimes hard-
coded into the software; it's special therein it doesn't contain a regard to the previous block (the
Genesis block).

Figure 4.9 Hash Table

31
Once the genesis block is initialized, "Block 1" is created and when completed is attached to
the genesis block. Each block has a transaction data part, a copy of each of the transactions is
hashed and then the hashes are matched and hash again, this continues until there is only one
hash left; to known as the Merkle root ( Figure ). The block header is
where the Merkle root is stored, which ensures that the transaction cannot be modified by third
parties.

Blockchain is designed to be accessed through a peer-to-peer network, each node then


communicates with other nodes to exchange blocks and transactions. A blockchain block
consists of a block header, a hash value of the previous block header, and a Merkle root. So
when we extract data from the blockchain, then all the smaller parts that are in the decentralized
network are connected by accessing all the blocks through their hash values. If a person or a
third party wants to change the data, they need to know the hash values of all the tables, without
them they can't take even a bit of information about our data. Because these data blocks are
distributed in thousands and thousands of blocks, it takes a hacker more than millions of years
to find the hash values of all the blocks. Thanks to these features, it provides safety, reliability,
and robustness.

Figure 4.10 Simplified Bitcoin Blockchain

Before 2004 there was a paper-primarily based totally vote casting device referred to as ballot
paper device in India. So, to eliminate all the shortcomings of the traditional voting system, the
blockchain fits as the best suitable solution for the e-voting platform. Electronic voting is
extensively studied and many implementations are tested and even used for a while where we
encountered some problems like user authentication, vote tempering, etc. Of course, there are
many government websites like polls, networks to gain knowledge about new government
schemes, questionnaires where common people raise their questions, etc. still we can't say the

32
same for online elections because every vote matters here for a candidate so the system needs
to be more secure, reliable and authentic. This is mainly because official elections are the basic

elements of democracy and democratic governance which is the most preferred administrative
methodology in the modern world. The electronic voting system will be a new change from the
regular voting system, which is less complicated, and more open to the voters, and besides,
security will come first. These tactics reduce the cost of many laws to some voters by creating
more ways for them to cast a ballot. This gives it a chance to survive long queues at check
stations and offers a better experience to those who are sick, serving in the military, people
living abroad or gone abroad on holiday, etc. It has been found that many people did not vote
due to laziness, so it can serve its purpose here in the electronic voting system. And all the
things in today's world are digitized, then the electoral system falls behind, young people
between the ages of 18 and 30 are special voters, and the web is a process to attract those
citizens who seem to be the hardest to reach.

Figure 4.11 Architecture of E-Voting

Our main motivation behind this project is to create a secure voting environment and show that
a reliable e-voting scheme is possible using blockchain. Because when electronic voting is
available to anyone with a computer or mobile phone, every single administrative decision can
be made by people and members; or at least people's opinions will be more public and
accessible to politicians and managers. This will eventually lead humanity to true direct
democracy. This is important to us because elections can be easily corrupted or rigged,
especially in small towns and even larger cities in corrupt countries. Moreover, large-scale
traditional elections are very expensive in the long run, especially when there are hundreds of
33
geographically distributed polling stations and millions of voters. Voter turnout at polling
stations is also relatively low, as the person may not be staying at the address whose name is

on the list, or maybe on vacation or other work. Electronic voting will be able to solve these
problems if implemented carefully. The concept of electronic voting is significantly older than
blockchain. So all known examples to date have used the means of centralized computing and
storage models. By implementing blockchain, we can increase the security level of our system
due to its way of storing data in a decentralized network. This project also has a facial
recognition system to verify whether the user is valid or not. Some systems were found to have
an OTP system to authenticate the user. But in this authentication model, the disadvantage is
that if x person's phone is not with him, even though his phone is with his friend, his friend can
vote twice because of the OTP system, one with the original chance and one because of his
friend's login, and then x can't vote. So here comes the face recognition technique where the
user has to verify his face before voting to maintain transparency.

Estonia is a very good example as the Estonian government is one of the first to
implement a fully online and comprehensive e-voting solution. The concept of electronic
voting began to be discussed in the country in 2001 and was officially launched by the national
authorities in the summer of 2003. Their system is still in use, with many improvements and
modifications to the original scheme. As mentioned, it is currently very robust and reliable.
They use smart digital ID cards and personal card readers (distributed by the government) for
personal authentication. There is a dedicated web portal and an equivalent desktop application
for citizens to participate in the elections by nominating candidates and casting their votes. So
that anyone with a computer, an internet connection, and also an ID card can easily vote
remotely.

Switzerland is another of the few countries participating in the electronic voting trend.
In Switzerland, known for its widespread democracy, every citizen who reaches the age of 18
can actively or passively participate in elections, which can be held on many different topics
for many different decisions. They also started official work on a voting system called remote
voting. Case in point – March 2018 general elections in Sierra Leone – Swiss startup Agora
conducted a count in two districts. After the vote, a team of accredited observers from various
locations manually entered approximately 400,000 ballots into Agora's blockchain system.
This system was a partial deployment of the blockchain and the voting was verified by the
blockchain and not powered by the blockchain.

34
4.6.2 Solidity
Solidity is an object-oriented, high-level programming language used to create smart contracts
that automate transactions on the blockchain. After being proposed in 2014, the language was
developed by contributors to the Ethereum project. The language is primarily used to create
smart contracts on the Ethereum blockchain and create smart contracts on other blockchains.

Solidity is similar to one of the most common programming languages, JavaScript. It can be
considered as a dialect of JavaScript. This means that if you understand JavaScript, it can be
easy to pick up Solidity. Solidity also shares similar characteristics to the programming
languages C++ and Python.

As a high-level language, Solidity does away with the need to type code in ones and zeros. It
makes it much easier for humans to write programs in ways they find easier to understand,
using a combination of letters and numbers.

Solidity is statically typed, with support for inheritance, libraries, and complex user-defined
types. As Solidity is statically typed, the user much specify each variable. Data types allow the
compiler to check for the correct use of variables. Solidity data types are usually categorized
as either value types or reference types.

The main difference between value types and reference types can be found in how they are
assigned to a variable and stored in the EVM (Ethereum Virtual Machine). While changing the
value in one variable of a value type does not affect the value in another variable, anybody
referring to changed values in reference type variables may get updated values.

 How Does Solidity Work?

The beauty of the Ethereum ecosystem is that so many different cryptocurrencies and
decentralized applications can use it. Smart contracts make it possible for unique technologies
to be made on Ethereum for all kinds of businesses and organizations.

Every year, the world spends billions of dollars on blockchain solutions. Many of these
solutions are created using Solidity. Smart contracts built using Solidity can be thought of as a
way to automate business and non-business processes between different people. This ensures
that people making transactions on the blockchain.

35
4.6.3 Smart Contract
A smart contract, like any contract, establishes the terms of an agreement. But unlike a
traditional contract, a smart contract’s terms are executed as code running on a blockchain like
Ethereum. Smart contracts allow developers to build apps that take advantage of blockchain
security, reliability, and accessibility while offering sophisticated peer-to-peer functionality
everything from loans and insurance to logistics and gaming.

 How do smart contracts work?

Figure 4.12 Smart Contract Working

Smart contracts are written in a variety of programming languages (including Solidity, Web
Assembly, and Michelson). On the Ethereum network, each smart contract’s code is stored on
the blockchain, allowing any interested party to inspect the contract’s code and current state to
verify its functionality.

Each computer on the network (or “node”) stores a copy of all existing smart contracts and
their current state alongside the blockchain and transaction data.

When a smart contract receives funds from a user, its code is executed by all nodes in the
network in order to reach a consensus about the outcome and resulting flow of value. This is

36
what allows smart contracts to securely run without any central authority, even when users are
making complex financial transactions with unknown entities.

To execute a smart contract on the Ethereum network, you will generally have to pay a fee
called “gas” (so named because these fees keep the blockchain running).

4.6.4 Ethereum
Ethereum is a technology for building apps and organizations, holding assets, transacting
and communicating without being controlled by a central authority. There is no need to hand
over all your personal details to use Ethereum - you keep control of your own data and what
is being shared. Ethereum has its own cryptocurrency, Ether, which is used to pay for certain
activities on the Ethereum network. Here are some benegits of ethereum.

 Large, existing network. The benefits of Ethereum are a tried-and-true network that has
been tested through years of operation and billions of value trading hands. It has a large and
committed global community and the largest ecosystem in blockchain and cryptocurrency.
 Wide range of functions. Besides being used as a digital currency, Ethereum can also
process other financial transactions, execute smart contracts and store data for third-party
applications.
 Constant innovation. A large community of Ethereum developers is constantly looking for
new ways to improve the network and develop new applications. “Because of Ethereum’s
popularity, it tends to be the preferred blockchain network for new and exciting (and
sometimes risky) decentralized applications,” Avital says.
 Avoids intermediaries. Ethereum’s decentralized network promises to let users leave behind
third-party intermediaries, like lawyers who write and interpret contracts, banks that are
intermediaries in financial transactions or third-party web hosting services.

Ethereum Disadvantages :

 Rising transaction costs. Ethereum’s growing popularity has led to higher transaction costs.
Ethereum transaction fees, also known as “gas,” can fluctuate and be quite costly. That’s
great if you’re earning money as a miner but less so if you’re trying to use the network.
Unlike Bitcoin, where the network rewards transaction verifiers, Ethereum requires those
participating in the transaction to cover the fee.

37
 Potential for crypto inflation. While Ethereum has an annual limit of releasing 18 million
Ether per year, there’s no lifetime limit on the potential number of coins. This could mean

that as an investment, Ethereum might function more like dollars and may not appreciate as
much as Bitcoin, which has a strict lifetime limit on the number of coins.
 Steep learning curve for developers. Ethereum can be difficult for developers to pick up as
they migrate from centralized processing to decentralized networks.

4.6.5 Metamask

MetaMask is a cryptocurrency wallet that is available as a browser extension to help you store
tokens, interact with decentralized applications, and trade Ethereum. By connecting users with
MyEtherWallet, MetaMask eliminates the need to enter private keys at the execution of each
transaction while creating, storing, or trading tokens.

Users can store and manage their Bitcoin, Ether, and other cryptocurrencies using a blockchain
wallet, which is available as a digital or online wallet. A blockchain wallet enables
cryptocurrency transfers, prevents theft of crypto assets, and allows users to convert them back
into their local currencies if needed. Its community is strong, with over a million downloads,
and it has many resources contributing to the project.

The MetaMask browser extension is a browser extension that can act as your Ethereum wallet.
Unlike traditional wallets, MetaMask requires no additional plug-ins, so you’re free to use it in
any browser.

Once installed, you can view your Ethereum address and send or receive coins to any Ethereum
address in turn. MetaMask allows you to stake coins on gambling sites and trade on DEXs, as
well as participate in projects like PoolTogether and Compound.

4.6.6 Truffle
Truffle is the development environment, asset pipeline, and testing framework of the Truffle
Suite ecosystem. Truffle is a hugely popular development framework for Ethereum dApp
development, and there is a large community behind the tool. Furthermore, Truffle is using the
EVM as a basis, and one of its purposes is to make the development of smart contracts more
straightforward and more accessible.

38
4.6.7 Ganache
Ganache is a tool that allows us to spin up our own local Ethereum blockchain. The blockchain
can be utilized throughout all parts of the development process, making this tool highly useful.
As we set up our local blockchain, Ganache allows us to deploy, develop and test all our dApps
in a safe and deterministic environment.

Figure 4.13 Blockchain Transaction Flow

4.7 Face Recognition


User Identification is done here with the help of face recognition technique. In order to cast
vote to any candidate, user need to first authenticate by using face recognition. Face
Recognition will ensure reliability that the person who is voting is a validate one and no other
person is voting inspite of him/her.

Recognize and manipulate faces from Python or from the command line with the world’s
simplest face recognition library. Built using dlib’s state-of-the-art face recognition built with
deep learning. The model has an accuracy of 99.38% on the Labeled Faces in the Wild
benchmark. This also provides a simple face_recognition command line tool that lets you do
face recognition on a folder of images from the command line.

39
4.7.1 Features

 Find face

Figure 4.14 Find Face

 Find and manipulate facial features

Get the locations and outlines of each person’s eyes, nose, mouth and chin.

Figure 4.15 Extract Facial Feature

40
 Identify faces in pictures

Recognize who appears in each photo.

Figure 4.16 Identify Faces

4.7.2 Command-Line Interface


When you install face_recognition, you get a simple command-line program Called
face_recognition that you can use to recognize faces in a photograph or folder full for
photographs. First, you need to provide a folder with one picture of each person you already
know. There should be one image file for each person with the files named according to who
is in the picture. Next, you need a second folder with the files you want to identify.

Then in you simply run the command face_recognition, passing in the folder of known
people and the folder (or single image) with unknown people and it tells you who is in each
image.

There’s one line in the output for each face. The data is comma-separated with the
filename and the name of the person found. An unknown_person is a face in the image that
didn’t match anyone in your folder of known people.

41
4.8 Timeline Chart

Figure 4.17 Project Timeline Chart

42
Chapter 5
Implementation and Testing

5.1 Software and Tools

5.1.1 Hardware Requirements


o Hardware that supports web app (E.g., Mobile, Computer)
o Hardware must be there until it is hosted to cloud servers and ready to pitch. After that
anyone can use it through any smartphones or pc that has web browser inside.

5.1.2 Software Requirements


o Front-End: React-js

o React is a JavaScript library for building user interfaces.

o React is used to build single-page applications.

o React allows us to create reusable UI components.

o Back-End: Solidity
o Solidity is an object-oriented, high-level language for implementing smart
contracts. Smart contracts are programs which govern the behaviour of accounts
within the Ethereum state.
o Solidity is a Curly bracket language designed to target the Ethereum Virtual
Machine (EVM). It is influenced by C++, Python and JavaScript. You can find
more details about which languages Solidity has been inspired by in the
language influences section.

43
o Solidity is statically typed, supports inheritance, libraries and complex user-
defined types among other features.
o With Solidity you can create contracts for uses such as voting, crowdfunding,
blind auctions, and multi-signature wallets.
o When deploying contracts, you should use the latest released version of
Solidity. Apart from exceptional cases, only the latest version receives security
fixes. Furthermore, breaking changes as well as new features are introduced
regularly. We currently use a 0.y.z version number to indicate this fast pace of
change
o Others: Domain name, Hosting, sever and cloud storage

This web application needs to be computer under solidity language as it is the Blockchain
technology supported as well the latest front-end language React-js that should be pre-installed
in hardware in complete working position.

5.1.3 Software requirements for our clients

o Windows 7 or higher OS
o Google chrome or any other safe browser

Client just need not to worry about anything just trust on over new innovation and head towards
the transaction through any smartphone or pc that has web browser inside.

5.2 User Interface and Snapshots

5.2.1 Admin Login


Admin Login used for admin to Login in the System without email address and password admin
or any other person can not login using this module as shown in Figure
.

44
Figure 5.1 Admin Login

5.2.2 Admin Dashboard

Here Figure shows Admin Dashboard where admin get all the information like total number
of users, candidates and elections available in the system and also navigate to other modules
like user candidate, election changing phase or showing result.

Figure 5.2 Admin Dashboard

45
5.2.3 View Users
Admin can view details of the users as shown in Figure . he can perform operations like
edit users or delete user and add the user in the voting system.

Figure 5.3 View Users

5.2.4 Add User


Admin can add user in the system using this gui where admin have to fill details like username,
first name and other details after click on add user user will get username and password in the
e-mail which is entered in the given form.

Figure 5.4 Add User

46
5.2.5 Add Candidate
Admin can add candidate and in the voting phase user will vote for this candidates.

Figure 5.5 Add Candidate

5.2.6 Add Election


Admin can add new election in the system with the unique election name and also add candidate
from the available candidate with the dropdown menu of candidates.

Figure 5.6 Add Election

47
5.2.7 Edit Phase
From this Page Admin can change the phase of election.

Figure 5.7 Edit Phase

5.2.8 View Elections


Here User can select election in which election user want to vote.

Figure 5.8 Elections

48
5.2.9 Candidate of Election
Here user can select candidate for voting and click on vote the python script will be execute
and camera will be open in 30 seconds.

Figure 5.9 Candidates of Elections

5.2.10 Login User


User will be recognize using python script and the username will be shown in the username
box automaticaly After entering right password metamask will be open for transaction.

Figure 5.10 User Login Page

49
5.2.11 Metamask Transaction Details
Here Ethereum will be transfer from user account to candidate account using metamask After
confirming transaction user will get alert for successful transaction and also get email.

Figure 5.11 Transcation Details

50
5.2.12 Result of Elections
Here user can view all the election which phase is result and view details of the elections.

Figure 5.12 Result of Elections

5.2.13 Result of Candidates


Here user can view total vote of the perticular candidate which election is choosen.

Figure 5.13 Candidate Result

51
Chapter 6
Conclusion & Future work

6.1 Conclusion
To conclude in nutshell, by using this project, the user doesn’t need to worry about any special tool to
write in the open space. With optimum use of resources, we can write and convey correct message to
other party.

In the current situation, online work is unavoidable. Mainly, online education is proving harder as
teachers sometimes feel difficult to teach without writing. This is where our project comes into picture.

Once the project website is hosted on server, anyone (i.e., teachers) can access it and using the web-
camera one can easily do their task using writing. (i.e., Math teacher may use it to show equations to
the students in online education)

To sum it up, we can say that using python libraries and OpenCV, we have created a tool through which
all people who were unable to convey the message properly due to lack writing in real time during
online meetings can now do it efficiently.

6.2 Future work


As this system can be mainly used for college voting so its part of face recognition can be used as an
attendance system where we just have to add the scanned student name into a file.

This system uses etherium coins for casting the votes so in future we can use Hyperledger(i.e. it dosen’t
uses a crytocurruncies for transaction) for implementing blockchain so we can make this system free
for people to cast votes.

52
References

1. R. Taş and Ö. Ö. Tanrıöver, "A systematic review of challenges and opportunities of


blockchain for E-voting", Symmetry, vol. 12, no. 8, pp. 1328, Aug. 2020.

2. 5. Onuklu, A. (2019), "Research on Blockchain: A Descriptive Survey of the Literature",


Choi, J. and Ozkan, B. (Ed.) Disruptive Innovation in Business and Finance in the Digital
World (International Finance Review, Vol. 20), Emerald Publishing Limited, pp. 131-148.
DOI/10.1108/S1569-3767201

3. Zhang K, Zhang Z, Li Z, et al. Joint Face Detection and Alignment Using Multitask
Cascaded Convolutional Networks [J]. IEEE Signal Processing Letters, 2016, 23(10):1499-
1503.

4. Pranav KB, Manikandan J, " Design and Evaluation of a Real-Time Face Recognition
System using Convolutional Neural Networks", April 2020, ScienceDirect

5. Shahzad, B.; Crowcroft, J. Trustworthy Electronic Voting Using Adjusted Blockchain


Technology. IEEE Access 2019, 7, 24477–24488.

6. Gao, S.; Zheng, D.; Guo, R.; Jing, C.; Hu, C. An Anti-Quantum E-Voting Protocol in
Blockchain with Audit Function. IEEE Access 2019, 7, 115304–115316.

7. Ramya Govindaraj, P Kumaresan, K. Sree harshitha, " Online Voting System using Cloud,"
24-25 Feb. 2020, IEEE

8. Fernández-Caramés, T.M.; Fraga-Lamas, P. Towards Post-Quantum Blockchain: A


Review on Blockchain Cryptography Resistant to Quantum Computing Attacks. IEEE
Access 2020, 8, 21091–21116.

9. Yi, H. Securing e-voting based on blockchain in P2P network. EURASIP J. Wirel.


Commun. Netw. 2019, 2019, 137.

10. Torra, V. Random dictatorship for privacy-preserving social choice. Int. J. Inf.
Secur. 2019, 19, 537–543.

11. Alaya, B.; Laouamer, L.; Msilini, N. Homomorphic encryption systems statement: Trends
and challenges. Comput. Sci. Rev. 2020, 36, 100235.

12. Khan, K.M.; Arshad, J.; Khan, M.M. Investigating performance constraints for blockchain
based secure e-voting system. Future Gener. [Link]. 2020, 105, 13–26.

53
Appendices

Appendix I: Plagiarism Report


Date of Report: December 16, 2024
Total Plagiarism Percentage: 10%

Source Details:

1. Minimal matches identified from publicly available code repositories and


blockchain-related documentation, particularly for common terms used in
[Link] and Solidity. These matches are standard and generally used across the
domain of web development and blockchain.

2. Original content verified using a plagiarism detection tool, confirming that the
report meets the required standard with a similarity index below the acceptable
threshold of 15%. The content is original, and all sources have been properly
attributed.

54

You might also like