Report - E-Voting Finaly
Report - E-Voting Finaly
A Project Report
Submitted
In Partial Fulfillment of the Requirements
For the Degree of
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
Signature:
Name: Tripti Tiwari
Signature:
Name: Alok Kumar
Signature:
Name: Shubham Vishwakarma
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.
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)
References……………………………………………………………………………....(53)
vii
LIST OF FIGURES
viii
LIST OF TABLES
ix
Chapter 1
Introduction
1.1 Preliminaries
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
8
2. Blockchain-based E-voting Systems
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 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.
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.
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.
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.
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.
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.
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.
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.
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
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.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 .
18
4.3 Project SRS
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.
# protected
- private
/ derived
19
Diagram
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.
20
3. Identify external and internal factors influencing the system.
4. Show the interacting among the requirements are actors.
Symbols
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
22
Diagram
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
Diagram
DFD level 0 :
24
DFD level 1 :
Symbols
Start State
Final State
Simple State
25
Table 4.5 Event Trace Diagram Symbol Table
Diagram
Symbols
Start State
26
Final State
Simple State
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.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.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.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.
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).
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.
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.
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.
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.
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.
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
Get the locations and outlines of each person’s eyes, nose, mouth and chin.
40
Identify faces in pictures
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
42
Chapter 5
Implementation and Testing
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.
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.
44
Figure 5.1 Admin Login
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.
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.
46
5.2.5 Add Candidate
Admin can add candidate and in the voting phase user will vote for this candidates.
47
5.2.7 Edit Phase
From this Page Admin can change the phase of election.
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.
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.
50
5.2.12 Result of Elections
Here user can view all the election which phase is result and view details of the elections.
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.
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
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
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
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
Source Details:
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