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

Block Chain in E-Voting

The document describes a proposed blockchain-based e-voting system that aims to address limitations in existing systems. It outlines problems like tampering and multiple voting in current methods. The proposed system would record each vote on the blockchain to provide transparency and prevent manipulation. It would allow for protest votes and decentralized verification across districts. Hardware requirements include a minimum i5 processor and 8GB RAM, while software requirements involve Python, Java, MySQL, and blockchain development tools like Ganache, MetaMask and Remix IDE.

Uploaded by

sce21cs079
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)
116 views

Block Chain in E-Voting

The document describes a proposed blockchain-based e-voting system that aims to address limitations in existing systems. It outlines problems like tampering and multiple voting in current methods. The proposed system would record each vote on the blockchain to provide transparency and prevent manipulation. It would allow for protest votes and decentralized verification across districts. Hardware requirements include a minimum i5 processor and 8GB RAM, while software requirements involve Python, Java, MySQL, and blockchain development tools like Ganache, MetaMask and Remix IDE.

Uploaded by

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

SRI SAIRAM COLLEGE OF ENGINEERING

CONSULTANCY REPORT

The project ‘Blockchain in E-Voting’ aims at one-voting system based on blockchain


that eliminates some of the limitations in existing voting systems. The paper also
presents state of art of some blockchain frameworks for e- voting. The presented
implementation is suitable for small scale elections like inside corporate houses, board
rooms etc.

November 2021 – May 2022

By

Mr. Ram Kumar


Mr. Reji Thomas

1
CONTENTS

1. INTRODUCTION
1.1 Problem Statement
1.2 Aim of the Project
1.3 Existing System
1.4 Proposed System

2. SOFTWARE REQUIREMENTS SPECIFICATIONS


2.1 Software Requirements
2.2 Hardware Requirements

3.SYSTEM DESIGN
•High Level Design
•Low Level Design
3.1 System Architecture
3.2 Use Case Diagram
3.3 Activity Diagram
3.4 Datasets

4. SYSTEM IMPLEMENTATION
4.1 Modules Description

5. RESULTS AND ANALYSIS

6. CONCLUSION AND FUTURE WORK

2
1. INTRODUTION

1.1 PROBLEM STATEMENT


The people and authorities are not happy with the election results and label
them unpredictable. We can offer a better solution to the current problems, such
as tampering, non-residents voting outside of the polling place, quick results
analysis, quick counting, and reduced use of staff and funds during the electoral
franchise process. Blockchain technology is used to create the distributed
application (dApp) framework that will be used for the proposed e-voting
system. Additionally, it has unmatched characteristics such as immutability,
transparency, privacy, and receipt freedom that limit the number of crimes
involving the processing of sensitive data in the electoral franchise system. The
dApp was created using Ganache, MetaMask, and the provided dagger hashing
algorithm. Additionally, it ensures the privacy of each voter and produces
quicker, more accurate results when the votes are counted.

1.2 AIM OF THE PROJECT


• Blockchains generate cryptographically secure voting records to combat voter
manipulation.
• Votes are correctly, permanently, securely, and publicly recorded. As a result, no one can
change or influence votes.
• It may encourage more people to vote.
• It is a versatile system that offers safe, cost-effective voting to enable remote shareholder
involvement and voting.
• Additionally, enhanced identification verification can aid in increasing access and
participation.

1.3 EXISTING SYSTEM


Secure digital identity management is one of the most recent important technological
difficulties in e-voting systems. Their data must be in a digitally processable format.
Furthermore, their personal information should be kept secret in any database that
involves them. Traditional E-voting systems may encounter the following issues:
 Anonymous vote-casting: Each vote, which may or may not include a choice
for each candidate, should be anonymous to everyone, including system
administrators, after it is submitted through the system.
 Individualized ballot processes: It is currently unclear how a vote will be
reflected in the involving online apps or databases. While sending a plain text
message is the worst choice, a hashed token can guarantee privacy and
integrity. Meanwhile, the vote should be untrustworthy, which the token
solution cannot ensure.
3
 Ballot casting verifiability by (and only by) the voter: After submitting
the vote, the voter should be able to see and verify his or her own vote.
This is critical in order to avoid, or at least detect, any potential harmful
activities. This countermeasure, in addition to offering a way of non-
repudiation, will undoubtedly increase voters' trust. Some recent
applications solve these issues in part. Nonetheless, e-voting is
presently used in a number of nations, including Brazil, the United
Kingdom, Japan, and Estonia. Estonia should be judged differently than the
others since it has a complete e-voting system that is believed to be the
equal of traditional paper-based elections.
 High initial setup costs: Though maintaining and supporting online voting
systems is significantly less expensive than traditional elections, initial
installations may be costly, particularly for companies.
 Increasing security problems: Cyber assaults pose a significant risk to
public voting. If a hacking effort succeeds during an election, no one will
admit blame. DDoS assaults are well known and almost never occur during
elections.
 The United States' voter integrity commission recently testified regarding
the status of elections in the United States. According to Ronald Rivest,
"hackers have a plethora of ways of attacking voting machines." Barcodes
on ballots and cellphones in polling booths, for example, can be exploited
in the hacking process. Apple argued that we cannot disregard the fact that
computers may be hacked and that evidence can be quickly erased.
Double voting and voters from different regions are also prevalent issues.
To counteract these dangers, software techniques that offer the
following benefits should be implemented:
 Avoidance of evidence elimination.
 Transparency while maintaining privacy.
 Lack of transparency and trust: How can individuals be convinced that
the outcomes are reliable when everything is done online? Perceptual
issues must not be overlooked.
 Voting delays or inefficiencies related to remote/absentee voting:
Timing is critical in voting systems; technological capabilities and
infrastructures must be stable and run at peak performance to allow
remote voting to be synchronous.

4
1.2 PROPOSED SYSTEM

• The first transaction added to the block will be a candidate-specific transaction.


• When this transaction is generated, it will include the candidate's name and will
operate as the foundation block, with each vote for that specific candidate being
added on top of it. Unlike the other transactions, the foundation will not count
as a vote.
• Our e-Voting system will allow for a protest vote, in which the voter may cast a
blank ballot to express displeasure with all candidates or a refusal of the present
political system and/or election.
• Every time someone votes, the transaction is recorded and the blockchain is updated.
• The block will hold the prior voter's information to ensure the system's
security. If any of the blocks were hacked, it would be obvious because they are
all linked together.
• The blockchain is decentralized and cannot be tampered with; there is no
single point of failure. The real vote takes place on the blockchain.
• The user's vote is delivered to one of the system's nodes, which subsequently
adds the vote to the blockchain. To guarantee decentralization, the voting system
will contain a node in each district.

5
2. REQUIREMENTS SPECIFICATIONS

2.1 SOFTWARE REQUIREMENTS


The following is the software requirements of the system for the
proposed system:
OS : Windows
Platform : Windows 10/11
Language : Python, Java, MySQL
IDE/tool : Anaconda Navigator, Netbeans IDE

2.2 HARDWARE REQUIREMENTS


The following is the hardware requirements of the system for the
proposed system:
Processor : Minimum intel i5 Processor
RAM : Minimum 8GB
Hard Disk : 500 GB
Display : Keyboard, monitor and mouse
Anaconda Environment is necessary for doing this project as it enables us to
create a Jupyter Notebook custom to our device’s IP address. This allows us for
reducing server times and the requests from blockchain and the device remix
IDE. Anaconda also playsa major role in running crucial python code to check
for blockchain security. It is the interface where we retrieve the block’s
address, public/private key’s address tags.
Remix IDE is a webpage where we deploy the blockchain technology itself.
It embodies certain principles and rules that helps us to create a safe secure
environment where the blockchain can be implemented. It lets us create a
custom blockchain server for our needs and a transactions paycheck copy to
let us know of the transactions that happens exactly.
Ganache is a software that lets us quickly fire up an Ethereum blockchain
which you can use to run tests, execute commands, inspect state while
controlling how the chain operates. It gives blockchain log output as in
responses and vital debugging information. It also gives advanced mining
tools with a single click setting block times to best suit your development
needs. Mainly, gives all the latest Ethereum features for decentralized app
development.
 Blockchain technology is key to our endeavor. Blockchain technology is a framework
that maintains public transactional information, also known as blocks.

6
owner's digital signature, which authenticates the transaction and prevents it from
being tampered with.
As a result, the information contained in the digital ledger is extremely safe. In a
nutshell, the digital ledger is similar to a Google spreadsheet shared across
several computers on a network, where transactional data are recorded
based on real purchases. The intriguing aspect is that everyone can view the
data, but they cannot modify it.
Navicat is responsible for MySQL database administration and development.
This software front-end provides an intuitive and powerful graphical interface
for database management. This is where the datasets and data is feeded to the
blockchain is stored. It also is the one stop place for referring to any doubts
or information needed by the users.
Netbeans IDE is a free and open-source integrated development for
application development on windows, mac, linux, and solaris operating
systems. The IDE simplifies the development of web, enterprise, desktop,
and mobile applications that use the java and html5 platforms.
The jupyter notebook is a server-client application that allows editing and
running notebooks documents via a web browser. The jupyter notebook app
can be executed on a local desktop or can be installed on a remote server and
accessed through the internet.

2.3 RESOURCES REQUIREMENT

NetBeans IDE is the official Java 8 IDE. You may


Netbeans quickly and easily upgrade your programmes to
IDE leverage new Java 8 language structures like
lambdas, functional operations, and method
references using its
editors, code analyzers, and converters.
MySQL MySQL ("My Sequel") is the world's most popular
open source relational database management
system (RDBMS) that operates as a server and
allows many users to access various databases.
SQL is an
abbreviation for Structured Query Language.

7
Java It is a phase free programming lingo that extends its
parts wide over the framework. Java2
interpretation introduces another parts than are
possible with AWT

Apach Apache Tomcat, routinely insinuated as Tomcat


e Server, is an open-source Java Servlet Container
Tomca made by the Apache Software Foundation (ASF).
t
Server
7.0
PYTHON Python is an interpreter, object-oriented
programming language similar to PERL, which
has gained popularity because of its clear syntax
and readability. It is a scripting language like
PHP, Perl, Ruby and so
much more.
Jupyter The Jupyter Notebook is an extremely effective
Notebook tool for generating and presenting data science
projects interactively.

Navicat is a multi-connections database


Navicat: administration tool allowing you to connect to
MySQL, MariaDB, SQL Server, and SQLite,
Oracle and PostgreSQL databases
simultaneously within a single application,
making database administration.

8
3.SYSTEM DESIGN
 High Level Design
A high-level concept for blockchain in e-voting would entail utilising
blockchain technology's transparency, immutability, and security to establish
a decentralised and tamper-proof system for recording and counting votes. The
user interface would make it simple and intuitive for people to vote. This might
be done using a web-based portal or a mobile application.To ensure that only
qualified voters may vote, the e-voting system would need voter verification.
This might be accomplished through the use of standard authentication
techniques such as login and password, as well as more modern methods such
as biometric authentication. The rules of the election and the management of
votes would be governed by smart contracts. These contracts would be
configured to automatically validate votes and ensure they met election
standards. The votes would be recorded and stored in an immutable and
transparent manner using a blockchain network. The blockchain would be
decentralised, with nodes across the network maintaining copies of the ledger.
The e-voting method would allow voters to confirm that their vote was
correctly recorded. Algorithms would also be used in the system to
automatically count votes and decide election outcomes. The e-voting system
would be built with security in mind, preventing hacking, manipulation, and
other forms of interference. Encryption, digital signatures, and access limits
are examples of such methods.

Low Level Design


A low-level blockchain design for e-voting would include a more
thorough technical definition of the components mentioned in the high-level
design. The user interface would be clean and straightforward, with clear
instructions on how to vote. An authentication mechanism would also be
included in the interface to guarantee that only eligible voters could access the
system. Voter authentication would be accomplished through a variety of
means, including usernames and passwords, biometric authentication, and
digital signatures. These procedures would be used to guarantee that only
qualified voters may vote. Smart contracts would be created to regulate
election regulations and vote processing. The smart contracts would be built
to automatically validate the votes and guarantee they met the election rules.
LLD provides class diagrams using methods, relationships between classes,
and programme requirements. It specifies the modules in detail so that the
programmer may write the software straight from the text.

9
3.1 SYSTEM ARCHITECTURE
System architecture describes about each component of system. The modules
in this project are shown below:

Fig. 3.1: Blockchain Based Electronic Voting System


As per the above structure the working of e-voting system using blockchain is:
• Requesting to vote: The user must check in to the voting system using his
credentials--in this case, the e-voting system will utilise his Social Security
Number, address, and the voting confirmation number supplied by the local
authorities to registered voters [1]. The system will validate all information
supplied and, if it matches a genuine voter, the user will be allowed to vote.
Participants will not be able to create their own identities and register to vote
using our e-Voting system. Systems that allow for the arbitrary generation of
identities are typically vulnerable to the Sybil
attack, in which attackers claim a large number of false identities and stuff
the ballot box with bogus votes.
• Casting a vote: Voters will have to choose between voting for one of the
candidates or voting in protest. Voting will be done using a user-friendly
interface. A token known as Ethereum is produced for each voter, with an
initial Boolean value of one; after a vote is cast, it becomes 0. A voter may
vote if and only if the Ethereum value is 1. The revoting issue is therefore
handled.
• Encrypting votes: Following the user's vote, the system will create an
input including the voter identification number, the voter's full name, and the
hash of the preceding vote. This ensures that each input is unique and that the
encrypted output is also unique. Each vote made will have the encrypted
information stored in the block header. Each vote's information will be
encrypted using the SHA one-way hash algorithm, which has no known flaws.
The only theoretically viable way to reverse the hash is to estimate the seed
data and encryption technique, then hash the results.
hashing ballots makes it nearly hard to reverse engineer, therefore voter

10
information could not be recovered.
 Adding the vote to the Blockchain: Following the creation of a block, and
based on the candidate chosen, the information is recorded in the related
blockchain. Each block is associated with the preceding vote.
3.2 USE CASE DIAGRAM

At its most basic, a use case diagram is a depiction of a user's engagement


with the system that depicts the relationship between the user and the many
use cases in which the user is involved. A use case diagram may identify
distinct sorts of system users and use cases, and it is frequently supplemented
by other types of diagrams. The use cases are denoted by circles or ellipses.

Fig 3.2: Use Case Diagram

11
3.3 ACTIVITY DIAGRAM

Another essential diagram in UML for describing the dynamic


characteristics of the system is the activity diagram. An activity diagram is
essentially a flowchart that depicts the flow from one activity to another.
The action can be defined as a system operation.

Fig 3.3 Activity diagram

3.4 DATASETS

Fig 3.4 Voter Register table


12
Fig 3.5 Nominees details table

13
4. IMPLEMENTATION

4.1 MODULES
Module1(Voter UI):

An application where the voter can cast their votes and see the results after
the election periods. This is a secure voting app that provides convenience
to the users allowing for online e voting.
Module 2(Transaction ID, stamp):
Each vote has a address id tag which is sent to the blockchain. The block
stores this tag along with the blocks address for security. The hashmap then
adds this new block to its map.
Module 3(Broadcasting):
The blockchain makes a copy of itself and is then sent to every user such
that each user knows when and what happens if any changes is made to the
blockchain transactions. Each nodes are connected to the hashmap.
Module 4(Addition of vote to the chain):
The voters upon casting their votes, this transaction vote is added to the
blockchain and is stored separately.
Module 5(Voter UI changes):
This final module will consist of the user seeing the result of the election for a
certain period of time. This is shown along with the votes count and the party
that has won.

Fig 4.1: Modules

14
5. RESULT AND ANALYSIS

Fig 6.1 Screenshot of the android app Fig 6.2: Screenshot of the android app
for the voter. with fingerprint for security.

15
Fig 6.3: Homepage of admin side webpage to manage e-voting

Fig 6.4: Categories shown in the webpage after log in

16
Fig 6.6: Voter Registration page

17
6. CONCLUSION AND FUTURE WORK

In conclusion, the use of blockchain technology in online e-voting systems has


the potential to significantly enhance the security, transparency, and
efficiency of the voting process. By leveraging the decentralized and
immutable nature of blockchain, e-voting systems can provide a tamper-
proof platform for conducting fair and trustworthy elections.
The use of blockchain-based e-voting systems can also reduce the need for
intermediaries and manual processing, leading to faster and more cost-
effective voting processes. Additionally, by providing a verifiable record
of every vote, blockchain-based e-voting systems can increase voter
confidence in the integrity ofthe electoral process.
However, while blockchain-based e-voting systems offer significant
benefits, they also face challenges such as voter privacy concerns,
scalability issues, and the need for adequate cybersecurity measures.
Therefore, it is essential to carefully design and implement blockchain-
based e-voting systems to ensure their security, integrity, and accessibility
for all voters.
Overall, the potential benefits of using blockchain technology in e-voting
systems are significant, and with proper implementation, they can help
ensure fair and secure elections in the digital age. We also plan to make the
devices that the voters use to connect to be able to different networks and
still be able to use the device secure app to cast the votes and use the
application itself. And we also plan to improve the server maintenance
times and server responses to better serve the customers along with
improving the UI of the app itself.

18

You might also like