100% found this document useful (1 vote)
221 views

Blockchain Final Report

This document presents a project report on developing a decentralized, secured and transparent voting system using blockchain technology. The system was developed by 4 students as a graduation project under the guidance of Mr. Santosh Warpe. The report describes the motivation, objectives and scope of the project which is to address challenges in current voting systems like security, trustability and transparency by leveraging blockchain technology. It provides details on the literature review conducted, system design including UML diagrams, methodology, and testing of the developed system.

Uploaded by

NEHA MUSALE
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
221 views

Blockchain Final Report

This document presents a project report on developing a decentralized, secured and transparent voting system using blockchain technology. The system was developed by 4 students as a graduation project under the guidance of Mr. Santosh Warpe. The report describes the motivation, objectives and scope of the project which is to address challenges in current voting systems like security, trustability and transparency by leveraging blockchain technology. It provides details on the literature review conducted, system design including UML diagrams, methodology, and testing of the developed system.

Uploaded by

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

Decentralized, Secured and Transparent

voting system using Blockchain Technology

PROJECT IMPLEMENTATION REPORT


(TY SEMESTER II, 2021-'22)

Presented By

Sujata Khairkar [T218043]

Atharv Yeole [T218041]

Asmita Pawar [T218029]

Sakshi Londhe [T218012]

Guided By

Mr. Santosh Warpe

SCHOOL OF COMPUTER ENGINEERING AND TECHNOLOGY,

MIT ACADEMY OF ENGINEERING, ALANDI (D), PUNE-412105

MAHARASHTRA (INDIA)

MAY, 2022

1
Decentralized, Secured and Transparent
voting system using Blockchain Technology

PROJECT IMPLEMENTATION REPORT


(TY SEMESTER II, 2021-'22)

submitted in partial fulfillment of the

requirements for the award of the degree

of

Bachelor of Technology

in

Information Technology

in

COMPUTER & INFORMATION TECHNOLOGY ENGINEERING

BY

Sujata Khairkar Atharv Yeole Asmita Pawar Sakshi Londhe

SCHOOL OF COMPUTER ENGINEERING AND TECHNOLOGY

MIT ACADEMY OF ENGINEERING, ALANDI (D), PUNE-412105

MAHARASHTRA (INDIA)

MAY, 2022

2
CERTIFICATE

It is certified that the work which is being presented in the Project Implementation Report titled
“Decentralized, Secured and Transparent voting system using Blockchain”, in partial
fulfillment of the requirements for the award of the Bachelor of Technology in Information
Technology and submitted to the School of Computer Engineering and Technology of MIT
Academy of Engineering, Alandi(D), Pune, Affiliated to Savitribai Phule Pune University
(SPPU), Pune is an authentic record of work carried out during an Academic Year 2021-2022,
under the supervision of Prof, Santosh Warpe, School of Computer Engineering and
Technology.

Sr. No. Student Name Prn No.

1 Sujata Khairkar 0120190368

2 Atharv Yeole 0120190352

3 Sakshi Londhe 0120190154

4 Asmita Pawar 0120190265

Date: 05-05-2022

Signature of Project Advisor Signature of Dean

Project Adviser Dean

School of Computer Engineering and School of Computer Engineering and


Technology, Technology,

MIT Academy of Engineering, Alandi(D), MIT Academy of Engineering, Alandi(D),


Pune Pune

(STAMP/SEAL)
Signature of Internal examiner/s Signature of External examiner/s

Name……………………………… Name………………………………

Affiliation………………………… Affiliation…………………………
3
ACKNOWLEDGEMENT

We want to express our gratitude towards our respected project guide Prof. Santosh Warpe for
his constant encouragement, and valuable guidance during the completion of this project work.
We also want to express our gratitude towards respected School Dean Prof. Ranjana Badre for
her continuous suppor and rallying.

We would fail in our duty if we do not thank all the other staff and faculty members for their
experienced advice and evergreen co-operation.

1. Sujata Khairkar
2. Atharv Yeole
3. Asmita Pawar
4. Sakshi Londhe

ABSTRACT
4
Voting is a community system to make an amicable decision on an opinion, by following debates
for election juggernauts . There are colorful styles of advancing similiar as, via ballot or taking
members of political associations. In an informal way, voting could do as a verbal gesture like
raising a hand or electronically[1].

The challenges that the world is trying to overcome in the current voting systems are- Data
security, data trustability, and data vacuity[2]. The current voting system involves the
intervention of a 3rd party, responsible for conducting the choices. But one can not guarantee the
authenticity of the or the 3rd party. Also, in the current voting system, the main thing is that most
of the time people can not cast their vote because they aren't physically present at the voting
venue. In the voting system, to which party the namer votes is a purely private matter, but the
count of votes is a public matter. When the namer votes, it must ensure that the vote that they've
cast is securely and permanently stored in the ballot. It's necessary to insure that the ballots can
not be altered or deleted and vindicated paper ballots are available for a count, including
homemade censuses or digital count if needed by a law[7].

Also comes Blockchain Technology into the picture. Blockchain can effectively break the
current major problems in the voting system. Blockchain is a digital census, distributed across
the entire network of computer systems on the blockchain, which makes it nearly next to
impossible for hackers to barge in and tamper with the data or system. Each block in the chain
contains several deals, and every time a new trade occurs on the blockchain, it appends the
record of that trade to every party’s census. The decentralized database managed by multiple
actors is called Distributed Ledger Technology( DLT)[8]. basically, this is a specific type of
database known as the blockchain. Other databases, analogous to an SQL database, have
someone in charge( admin) who can change the entries. But, Blockchain is different because
nothing is in charge( 3rd Party); it’s run by the people who use it. Hence, data in the blockchain
can noway be forged, addressed or twice- spent( in case of vote or crypto trade) – so people that
enjoy this data( read as a vote) or capitalist( cryptocurrency) can trust that it has some value[8].

LIST OF FIGURES

Fig. No. Fig. Name Page No.

5
Fig 1.1 A decentralized voting system using Blockchain 11

Fig 1.2 12
Properties of Distributed Ledger Technology

Fig 3.1 Use Case Diagram of the System 23

Fig 3.2 Activity Diagram of the Application 23

Fig 3.3 Sequence Diagram of the Application 24

Fig 3.4 State Diagram for User Verification 24

Fig 3.5 Interaction Diagram of the System 25

Fig 3.6 Class Diagram for Application Components 26

Fig 3.7 Component Diagram of the Application 27

Fig 3.8 Deployment Diagram of the Application 28

Fig 3.9 Object Diagram for System Objects 29

Fig 3.10 Block Diagram for Application Flow 29

Fig 3.11 Data Flow Diagram for Voter & Admin 30

Fig 3.12 Architecture Diagram of the System 31

Fig 3.13 Ethereum Node Network 31

LIST OF TABLES

6
Table. No. Table. Name Page No.

Table A1 Cost Estimation 49

Table T1 Testing 35

7
CONTENTS

Acknowledgements i

Abstract ii

List of Figures iii

List of Tables iv

1.
Introduction 10

1.1 History of voting system 10

1.2 Synopsis of IEEE paper 10

1.3 Current applications of blockchain 13

1.4 Algorithms Used 13

1.5 Motivation 14

1.6 Problem Statement 14

1.7 Objective, Scope and Outcomes 14

1.8 Organization of the project 15

2.
Literature Review 15

2.1 Blockchain 17

8
2.2 Blockchain and Elections 17

2.3 Literature Survey 17

3.
System Design 23

4.
Methodology 32

5.
Testing 35

6.
Risk Mitigation Plan 40

7.
Results and discussion 42

8. .
Conclusion 44

References 45

Appendix 48

A1 Cost Estimation of Project


48

A2 Web References
48

9
1. INTRODUCTION
1.1. History of voting system
Elections play an important role in all democracies or, at least, in the monarchy. India's first
national election held by the election commission of India was between 25 October 1951 and 21
February 1952. After independence in August 1947, it was the first Lok Sabha election[3]. Prior
to the launch of the EVM, elections were traditionally held in a hands-on way. This approach
was widely criticized for fraudulent voting and booty, in which case the demolition of booths by
party loyalists was common.
In time, the Electronic Voting Machine (EVM) was launched, which continues to operate to this
day. They are considered a safe voting system. They do not have wireless or wireless internet
components and a visible connector. But in the recent election, various opposition parties
claimed ‌the EVMs were wrong after failing to defeat the opposition. These are the current flaws
in our voting system, so to solve this we have come up with a concept called blockchain. After
going through some of the IEEE papers, this idea became clear to us[4].

1.2 Synopsis of IEEE paper


Subject: Decentralized voting portal using blockchain technology.
Overview: The method provided in this research paper is suitable for small elections such as in
company houses, corporates and board rooms, etc. The implementation uses smart contracts
from Ethereum. The Truffle Framework is used in this paper to develop, test, and implement
smart contracts. Ganache is being used as an Ethereum client for testing. And, Meta-mask is used
as a browser wallet.

Positive prospect:
❖ Implementation shows that blockchain technology can overcome the limitations of
centralized voting systems. This implementation keeps information such as voter
accounts, candidate details and votes.
❖ Smarts Contracts are used in the implementation. This is tested on the virtual client. And,
in the future, it can be tested on the Ethereum Test Net with many accounts.
❖ To analyze the feasibility of blockchain-based voting systems for large scale major
elections such as election for a particular town etc.

10
Figure 1.1 Extended voting system using Blockchain

Ethereum is a blockchain platform used to create Dapps (Decentralized Application) and


develops peer-to-peer network that securely verifies and validates the third- party, i.e. smart
contracts, a period of inactivity, exploration, fraud or third- party hindrance and allows actors to
do effects without a trusted central authority. There,

❖ Downtime: the app will never shut down abruptly and will never turn off.
❖ Research: Ethereum nodes (computers using the protocol - See Figure 3.13 of the
Ethereum Nodes Diagram) are being distributed worldwide, removing research from
central authorities.
❖ Fraud: The contract cannot be altered, broken, or tampered.
❖ Third party: the contract is self-employed and does not require a mediator[10].

11
Fig 1.2 Properties of Distributed Ledger Technology[8]

Ethereum accounts created by the users are used to send and receive Transactions. Sender must
sign the transaction and use the deposited Ether [the traditional Ethereum cryptocurrency] in
his/her Ethereum account as the cost of processing operations on the network[9].

As we have seen; in our current voting system, the votes are being tampered and many malicious
acts are going on with no warning. To overcome this problem, we have thought of bringing a
decentralized blockchain based voting system into the picture. Voting System using Blockchain
Technology, with Ethereum Blockchain will help to overcome the challenges in the current
voting system. It will provide a decentralized, secured, and transparent voting system in India in
legislature elections as well as in corporate elections too.

In this project, we aim to create an online voting portal using blockchain which ensures security
and confidentiality of the votes. The data would be decentralized which makes barging into the
system almost impossible. This system makes sure that there is transparency in the votes casted
which is necessary for any kind of elections whether they are a country's elections or corporate
elections.

The offline elections, that is, on paper is still preferred regardless of the digitalization of some
important modern life aspects. Data will always remain consistent and voting will become more
reliable with the compliance of blockchain. Using blockchain technology in electronic voting can
increase visibility while allowing for more flow and decision-making. It may also introduce new
functions such as 'creating a manifesto'[4].

12
1.3 Current applications of blockchain:

● Building trust with citizens

Independent verification of governmental claims can be allowed for some citizens using
blockchain solutions. e.g. Sweden, Estonia and Georgia Government are experimenting
with blockchain-based land registrations, allowing many parties to securely hold copies
of registrations. Quick resolution of structural conflicts can be achieved with the help of
this mode. It can also prevent them altogether. Potential for mistrust will decrease when
citizens and governments share access to records[5].

● Protecting sensitive data

Many agencies belonging to the government, like Department of Homeland Security, are
committed to use of blockchain applications in cybersecurity. These agencies like DHS
are funding blockchain programs to conduct research and development and to test new
online safety practices. “Blockchain technology has the potential to transform the way we
manage online identity and internet access; this R&D project will help bring this potential
closer.” , states DHS official[5].

● Reducing costs and improving the efficiency

Consider an example of the ongoing challenge of co-operative government to coordinate


transfers to government.‌There are billions of dollars in unspent funds in the state budget.
Reconciling these funds is time-consuming, expensive, and creates uncertainty over
budget. A payment and accounting system using a blockchain can provide a lasting track
record of research and facilitate rapid reconciliation[5].

1.4 Algorithms used:

● Consensus algorithm

Consensus algorithm is used to achieve a single data value agreement between distributed
processes or systems. Consensus algorithms ‌gain reliability on a network that includes
multiple unreliable nodes. Solving that problem known as the compatibility problem is
important for distributed computers or distributed distributors and multi-agent systems.

This algorithm includes a proof of stake algorithm and a given stake of proof algorithm
[6].

13
● Proof of the importance

This mining technique calculates the significance of an individual node based on the
transaction amount and the balance of that node. It assigns a priority with a hash
calculation to more significant nodes. Then the node with the highest priority is chosen
for the next block creation[6].

1.5 Motivation

Blockchain technology is much more than just cryptocurrencies like Bitcoin, Ethereum,
Dogecoin etc, and have many applications in government, finance, banking sector, accounting
and business process management etc. As we already know that there are some big flaws in our
current voting system, the votes are being tampered and many malicious acts are going on
without any warning. To overcome this issue, we have thought of bringing a decentralized
blockchain based voting system into the picture.

1.6 Problem Statement

To build a decentralized, secured and transparent election system in India using blockchain
technology.

1.7 Objectives and Scope

1.7.1 Scope

Successful implementation of this project will save lots of time, money and resources like paper
and electricity from the voting governing body, our implementation also covers use of Smart
Contracts which act as third Party hence no need for an intermediate body following
transparency in our project. The voting results will also be displayed through different bar and
pie charts.

1.7.2 Objectives

● To prevent hackers from barging into the system.


● To reduce the malpractices that are existing in our current voting system.
● To store the digital information in such a way that it should only be recorded but not edited.
● To ensure that there are no mediators in the system which will reduce the biases of the
votes.

1.7.3 Outcomes

● To make use of a decentralized system which will make it impossible to barge into the
system.

14
● To make sure that the accuracy rate for the same is very near to that of presenting it as a
milestone as our project approach has almost nullified the malpractice which was
existing.
● To ensure the information of voters i.e. who voted for whom will be confidential and no
one will be able to manipulate that data.
● To initiate our project, we have smart contracts which will act as a third party.

1.8 Organization of the Project

1) Chapter 1: Introduction

Since independence, the voting system in India has not been a secure process. From ballot paper
to EVMs, vandalizing and manipulating the booth sites has been going on. Faulty EVMs which
lead to fraudulent voting and misinformation of votes are in use. But this is just one of the many
flaws existing in our current voting system which are needed to be rectified. So, to overcome this
we've come up with this concept called blockchain.

With this the votes will no longer be tampered, instead they will remain secure, true to their
identity and no one will be able to look into the data.

2) Chapter 2: Literature Survey

The chapter includes an in-depth explanation of all the advantages and disadvantages that other
systems previously implemented had regarding their project. It lists a thorough explanation of all
the research papers and articles that we had studied for implementing in our project. It also
includes comparison of various systems put together and the difference from our system

3) Chapter 3: System Design

A block diagram is a system diagram in which key components or functions are represented by
the blocks connected by lines indicating block relationships.

A user case diagram is a clear illustration of a possible user-system interaction. Sequence


diagram or system sequence diagram shows the sequence of processes arranged in chronological
order.

Activity diagrams are a visual representation of the work flow of actions and actions with
support for selection, repetition and consistency.

The deployment diagram for use in the Integrated Modeling language shows the practical
application of the artifact in the nodes. The architectural diagram is a visual representation of the
visual implementation of software system components. Shows the general structure of the
software system and the organizations, boundaries, and boundaries between each item.
Classroom Integrated Model Class diagram is a type of structural diagram that describes a
system structure by showing system components, their attributes, functionality, and
interrelationships. Finally, the chapter concludes with our system hardware and software
requirements. It sets out all the requirements for our system to work effectively.

15
4) Chapter 4: Methodology This chapter explains in detail about the technology stack we have
implemented in our system. The list includes ReactJS, ExpressJS and NodeJS and as far as
blockchain technology stack is concerned we have incorporated Solidity, Smart Contract, Truffle
suite and Ganache CLI and GUI .

5) Chapter 5: Testing This chapter includes all the test cases performed with our projects to test
its success rate and accuracy on various factors. It tests all the factors and aspects to guarantee
the results of all the functionalities of our system.

6) Chapter 6: Risk Management and Risk Mitigation This chapter contains all the risks and
ways to prevent such accidents or to treat those risks if they occur during the implementation of
our project. Risk Management and Risk Mitigation is the process of identification, evaluation,
and mitigation of risk in order to meet plan, cost and project quality. Risks come in the form of
opportunities and threats and are identified in the potential and impact of the project.

7) Chapter 7: Result and Discussion In this chapter we have included the screenshots of our
project execution and all the various functionalities that our system provides to its end user.

8) Chapter 8: Conclusion Finally, the report concludes with all the outcomes we had discussed
earlier in the report and provides a perfect ending to our project and its understanding.

16
2. LITERATURE REVIEW
2.1 Blockchain
Blockchain verifies the data in a decentralized manner. Data tracking is easier as backup is
easily available every time even if one server fails. Blockchain helps achieve clarity in any
system. It is an append only data structure; which means once the data is installed it cannot
be interrupted.

2.2 Blockchain and elections


Using this technology in online voting produces data which cannot be tampered with or
manipulated. Authenticity of the votes casted by the people is ensured through this. The
system makes it easier to calculate the election results. Transparency and security; the main
requisites for an impartial election, is achieved using block-chain. The voters can cast their
votes from any place while the election is running as it would be completely online.

2.3 Literature Survey

1. T. Vairam, S. Sarathambekai and R. Balaji, "Blockchain based Voting system in Local


Network," 2021 7th International Conference on Advanced Computing and
Communication Systems (ICACCS), 2021, pp. 363-366, doi:
10.1109/ICACCS51430.2021.9441912.

Overview:

The paper aims towards creating a voting system that provides transparency and security
using Blockchain technology. The count of voters may go up as people can vote from
anywhere at any time, making this an ideal alternative to the current voting system. This
paper provides the Electronic voting system used on the Ethereum network.

Advantages:

Blockchain provides transparency and security requirements for non-biased elections. It


is a completely separate, immutable ledger system. The online voting system allows
voters to vote in any constituency at any time leading to an increase in the number of
voter turnout.

Disadvantages:

The most important problem is location and accessibility. People struggle going to their
polls at native place to vote. This must be considered as each person's vote plays a key
role in determining the most deserving leaders.

17
2. E. Febriyanto, Triyono, N. Rahayu, K. Pangaribuan and P. A. Sunarya, "Using
Blockchain Data Security Management for E-Voting Systems," 2020 8th International
Conference on Cyber and IT Service Management (CITSM), 2020, pp. 1-4, doi:
10.1109/CITSM50537.2020.9268847.

Overview:
This paper proposes an existing limitation of the E-voting system, which covers the 2019
election case between candidates, where the possibility of manipulation of the vote is
seen. This research uses block-chain technology that can verify data from voting with a
decentralized system. The application of block-chain technology in electronic voting can
produce data that cannot be manipulated and will maintain legitimacy.

Merits:
-The system facilitates voting mechanisms and processes the calculation of election
results.
-It allows each server to connect and have the same role and form a peer- to-peer
network. Data tracking is easier, as even if one of the servers is in trouble, backups are
available.
-Voter satisfaction is increased with the calculation of results. Hence the research is
declared reliable.

Demerits:
The emergence of negative views from voters on the security of the system began to be
doubted and questioned because voters felt that using the system was safe, but there were
still problems manipulating votes.

3. A. K. Tyagi, T. F. Fernandez and S. U. Aswathy, "Blockchain and Aadhaar based


Electronic Voting System," 2020 4th International Conference on Electronics,
Communication and Aerospace Technology (ICECA), 2020, pp. 498-504, doi:
10.1109/ICECA49313.2020.9297655.

Overview:
This proposed lookup work introduces a novel thought that gives tamper-proof and
paperless elections in India. This work presents a simple, reliable, affordable
concept the use of Block-chain science and Aadhaar for deploying paperless digital
balloting in India.
The predominant focal point of the paper is to enforce authorization of customers with
Aadhar Card. Also, block-chain significances are used with the distinct parameters.

Merits:
- Aadhar Card is suggested to use as an excellent way of user authorization.
- With the use of Aadhaar Card for authentication can provide effortless participation of
large people in India.

18
- System is presented as the Blockchain as a service (BaaS) based on Service as a Service
(SaaS)

Demerits:
- Authentication is not much secured
- Chances of manipulation of votes.

4. T. G. Tan, V. Sharma and J. Zhou, "Right-of-Stake: Deterministic and Fair Blockchain


Leader Election with Hidden Leader," 2020 IEEE International Conference on
Blockchain and Cryptocurrency (ICBC), 2020, pp. 1-9, doi:
10.1109/ICBC48266.2020.9169422.
Overview:
One of the principal problems confronted used to be to be in a position to
deterministically become aware of the chief is the opportunity of a Denial-of-Service
attack. A contender can undermine the block-chain through disrupting the leader’s
capacity to get admission to the system, via setting apart the chief from the network, or
via aping the leader. The Libra block-chain [9]. which additionally helps the deterministic
chief concept, tries to tackle this difficulty by using a set of validatory (rather than 1
validate), which function on a turn-basis, to vote for blocks.

Merits:
-Deterministic chief election with low or almost no verbal exchange overheads.
-Malicious interfering with the information in the system, for instance; tampering with
vote casting records, can't go undetected.
Demerits:
-Adding new technologies to systems may create new potential for attacks. Particular
caution is appropriate in security-critical applications, especially where political pressures
may favor an expedited approach (“New problems blockchains introduce” section).

5. A. Kaudare, M. Hazra, A. Shelar and M. Sabnis, "Implementing Electronic Voting


System With Blockchain Technology," 2020 International Conference for Emerging
Technology (INCET), 2020, pp. 1-9, doi: 10.1109/INCET49848.2020.9154116.

Overview:
The most important principle of election is that they must represent the free expression of
the will of the people. In block-chain, the network is decentralized. The decentralized
network has no central authority hence no one can tamper with it without a consensus.
Encryption adds a layer of security to the system.

Merits:
-Robustness
-Universally verifiable
-Privacy of Voter
19
-Transparency
-Integrity of Ballot
-One voter, one vote

Demerits:
Internet and blockchain-based balloting science would notably extend the danger of
undetectable, nation-scale election failures.

6. K. Patidar and S. Jain, "Decentralized E-Voting Portal Using Blockchain," 2019 10th
International Conference on Computing, Communication and Networking Technologies
(ICCCNT), 2019, pp. 1-4, doi: 10.1109/ICCCNT45670.2019.8944820.

Overview:
The approach furnished in this lookup paper is appropriate for small scale elections like
interior Meeting rooms, Corporates, board-rooms etc. The implementation makes use of
smart contracts from Ethereum Blockchain. For development, checking out and
deploying smart contracts, Truffle framework is used. As an Ethereum client for testing;
Ganache is used. Meta-mask is used as a browser wallet.

Merits:
-Given paper indicates that the block-chain technology can omit the obstacles of present
day centralized vote casting systems. The implementation records and maintains voter’s
accounts, candidate important points and votes in the system. This implementation makes
use of clever contracts. This implementation is examined on a virtual client. In the future,
it can be examined on an authentic Ethereum test net. Take a look at the internet with a
wide range of accounts.

-The feasibility of blockchain is totally based on the e-voting structures for large-scale
elections that ought to be analyzed.

Demerits:
One of the major issues is digital user skills. On this large-scale, people require
awareness, research on its consensus.

7. K. Košt’ál, R. Bencel, M. Ries and I. Kotuliak, "Blockchain E-Voting Done Right:


Privacy and Transparency with Public Blockchain," 2019 IEEE 10th International
Conference on Software Engineering and Service Science (ICSESS), 2019, pp. 592-595,
doi: 10.1109/ICSESS47205.2019.9040770.
Overview:
A blockchain-based e-voting platform is shown, which can be used for any kind of voting
i.e. both private and public block-chains. It is fully utilized by blockchain and all
processes can be handled within it.
After the start of the voting, the platform behaves as fully independent and decentralized
without possibilities to affect the voting process. It is also compared with other three
different blockchain.
20
Merits:
-The identities of the voters are secured by homomorphic encryption.
-Both public and private block-chains can be used with only a little difference in speed.
-Three main roles are identified here i.e. vote publisher; key authority; and voter. The
roles of vote publisher and key authority can be grouped to one role due to the fact that
they can be the same organization or person.
Demerits:
-In public block-chains, there is a high risk of potential collisions
-Energy consumption is quite high
-Not too many restrictions are there. Anyone can have access to the data

8. I. A. Srivastava, B. Saini, S. Phansalkar and S. Patwe, "Secure and Transparent Election


System for India using Block chain Technology," 2018 IEEE Punecon, 2018, pp. 1-6,
doi: 10.1109/PUNECON.2018.8745404.

Overview:
In this paper, Blockchain Technology, powered by Ethereum, is used to overcome the
challenges in the existing voting system. Two consensus algorithms namely - PoW and
PoS are used for the consensus purpose. Smart Contract concept is used along with the
ethereum blockchain. And, the implementation has done naming it as the BlockVote.

Merits:
- Consensus Algorithms - PoW and PoS are used.
- Gas ethers are used for the transaction of vote.
- Explained with the Implementation of blockchain.
- QR-Code canning is suggested instead of typing a hash or key.
- For a high level of authorization, face ID sounds as a good option.

Demerits:
- No exchange of currency or crypto- currency is used.
- Creates the possibility of vote duplication.
- High level security is not used for authentication in the project.

9. N. Kshetri and J. Voas, "Blockchain-Enabled E-Voting," in IEEE Software, vol. 35, no.
4, pp. 95-99, July/August 2018, doi: 10.1109/MS.2018.2801546.

Overview:
To use a digital-currency analogy, BEV issues each voter a “wallet” containing a user
credential. Each voter gets a single “coin” representing one opportunity to vote.
It employs an encrypted key and tamper-proof personal IDs.

Merits:
-Nobody can engage in nefarious activities because such activities will be evident on the
ledger or corrected by a peer-to-peer consensus network.
-The blockchain’s audit trail ensures that no vote has been changed or removed and that
21
no fraudulent and illegitimate votes have been added.
-It is a flexible solution that enables secure, cost-effective voting to facilitate shareholder
participation and voting from a distance.

Demerits:
-Block-chains’ complexity might hinder mainstream public acceptability of BEV.
Broadband access and digital user skills are also concerns.
-It requires much energy to perform authentication and validation, and they’re quite slow.

10. R. Cooley, S. Wolf and M. Borowczak, "Blockchain-Based Election Infrastructures,"


2018 IEEE International Smart Cities Conference (ISC2), 2018, pp. 1-4, doi:
10.1109/ISC2.2018.8656988.

Overview:
This paper proposed two block-chain based vote casting structures i.e. re-use and re-
invent. The re-use gadget branched Ethereum to leverage its security and privacy
benefits. The re-Invent machine created a new blockchain vote casting machine which
used two separate chains; one for validating voters and some other for securing votes.
This lookup additionally demonstrates a proof-of-concept.

Merits:
-The goal is to supply integrity, privacy and safety to its users. Additionally, they attempt
to be fault tolerant.
-This system may want to additionally be prolonged to cellular balloting structures and
smart contracts.
- This system ensures the reliability of the voting portal in smart cities.

Demerits:
-In cellular vote casting apps, it would require high level security for impervious
downloading which is no longer possible in some areas.
-Due to this the audibility of the chain becomes less important.
-This is mainly applicable in smart cities but not in small towns and villages. In
developing countries like India, most of the population lives in small towns so it is less
efficient in these countries.

22
3. SYSTEM DESIGN

3.1 Use case diagram

Figure 3.1 Use case diagram of the System


3.2 Activity Diagram

3.2 Block diagram/ Proposed System setup


23
Figure 3.2 Activity diagram of the Application

3.3 Sequence diagram

Figure 3.3 Sequence Diagram of the Application

3.4 User verification state diagram

24
Figure 3.4 State diagram for User Verification

3.5 Interaction Diagram[13]

Figure 3.5 Interaction diagram of the System

25
3.6 Class Diagram

Figure 3.6 Class diagram for Application Components

26
3.7 Component Diagram

Figure 3.7 Component diagram of the Application

27
3.8 Deployment Diagram

28
Figure 3.8 Deployment diagram of the Application

3.9 Object Diagram

29
Figure 3.9 Object diagram for System Objects

3.10 Block Diagram

Figure 3.10 Block Diagram for Application Flow

30
3.11 Data Flow Diagram (DFD)

Figure 3.11 Data flow diagram Voter & Admin

31
3.12 Architecture Diagram

Figure 3.12 Architecture diagram of the System

3.13 Ethereum Nodes Network

Figure 3.13 Ethereum node network


32
4. METHODOLOGY
Initially, the Admin of the project will have to enter his/her details in the system. Admin details
include First Name, Last Name, Email, and Job Title or Position. Candidates can be added by the
Admin with their unique Metamask Account Ids. Candidates have to provide Name and
Campaign Slogan by registering with a unique Metamask Account ID. Then Admin can start
Selection. After the election starts, Admin will be able to register voters on the system. Until
then, Admin will not be able to add voters to the system. After successful voter registration, the
administrator can verify them by verifying their account details and information. Then, verified
voters can vote for registered people by logging in with their Metamask account ID. If voters
vote for a candidate, a small fixed ballot will be charged through their Metamask Wallet. Also,
after the completion of the work, votes to be added to the candidate will be reflected in the final
voting results.

Further, when the voter votes for the candidate, block information is sent to all nodes in the
network and the nodes confirm the block with an algorithm and when most of the nodes say so,
the transaction is activated and the block is added to the blockchain (website) we are in each
place) This happens in the main Ethereum Network.And for the local blockchain that block of
transaction will be formed on the Ganache - Created local blockchain for testing DApps. Block
will contain Block No., its Mining Date and Time, Amount of Gas used, Transaction Hash,
Sender Account Address and Receiver’s Account ID.

where,

Block No - Sequential Block creation serial no in the blockchain,

Mining No - Unique no generated when a block is formed

Amount of Gas - if refers the cost necessary to perform a transaction on the blockchain network

Transaction Hash - Hash created while verifying the transaction

Sender Account ID - Unique Metamask ID for transaction in the network

Receiver Account ID - Unique Metamask ID for transaction in the network

Each next block of transaction will be linked to the previous block with its unique hash and the
chain of blocks will be formed, which is known as Block-chain. This chain of blocks will form a
decentralized network which cannot be tempered or altered at any cost. Any tempering and
altering of values will change the hash and system will inform the other nodes in the network.
And, hence the previous version of the chain of block will be continued by the network of nodes.

33
Blockchain Concepts

Ethereum Blockchain: Ethereum Blockchain is used for the development of Limited


Applications (more commonly known as Dapps). Ethereum is a blockchain platform dedicated
for creating a peer-to-peer network that securely validates and validates the application code,
called smart contracts. Smart contracts allow participants to trade without a trusted central
authority (Smart Contracts act as an external party).

DApps:Dapps has its own back end code (smart contracts) running on a decentralized network
and not on a central server. They use the Ethereum blockchain to store data and smart contracts
for their smart app. Smart contracts are like a set of on-chain rules for everyone to see and work
on. One can think of a vending machine app: if you provide it with enough money and the right
choice, you will get something stored in it. And just like vending machines, smart contracts can
hold funds the same as your Ethereum account. This allows the code to mediate agreements and
activities. If dapps are used in the Ethereum network, you cannot change them. Dapps is
designed to be segregated because it is governed by the mind written on that smart contract, not
the person or company[15].

Solidity: Solidity is a contract-based, high-level planning language used to use smart contracts.
Designed to identify Ethereum virtual machines (EVM).

Ethereum Virtual Machine (EVM): EVM is a computer-assisted computing engine with millions
of usable projects. It is considered as a part of Ethereum that carries out executions and smart
contract submissions. It is important to note that every Ethereum node running on EVM
maintains consistency across the blockchain[14].

Used Technology Stack

Ganache: Ganache is an instant blockchain for Ethereum and Corda 's distributed application
development. Ganache can be used throughout the development cycle; It allows you to develop,
use, and test your dApps in a safe and secure environment. Ganache comes in two flavors: GUI
and CLI.

Metamask: It is a cryptocurrency wallet used to communicate with the Ethereum blockchain.


Allows users to access their Ethereum wallet via a browser extension or mobile application,
which may be used to communicate with country-divided applications.

Truffle suite: This is an Ethereum Blockchain-based development site, used to develop DApps
(Distributed Applications). Truffle is a single solution for building DApps: Consolidating
Agreements, Issuing Agreements, Injecting into a Web App, Creating a Dupps Front and
Testing.

Solidity: It is a programming language focused on implementing smart contracts on various


blockchain platforms, in particular, Ethereum. Developed by Christian Reitwiessner, Alex
Beregszaszi, and a few previous Ethereum contributors. Programs at Solidity run on Ethereum
Virtual Machine.
34
Algorithms Used By Ganache

Ganache allows you to develop, use and test your dapps in a very safe and decisive
environment[13]. It follows the most influential blockchain approach namely compliance
approach. Compatibility methods (also called compliance agreements or compliance algorithms)
allow distributed systems (computer networks) to integrate and remain secure. For many years,
these methods have often established synergies between databases, application servers, and other
enterprise infrastructure. In recent years, new algorithms have been developed to allow crypto
economic systems, such as Ethereum, to adapt to the network environment[16].

The types of consensus mechanism are

● Proof-of-work

Proof-of-work is completed by miners who confirm whether the transaction is authentic


or not. They also compete to make stuff with processed transactions. The winner shares
the new block with the remainder of the network and earns some freshly minted ETH.
The race is won by the pc which is in a position to unravel a math puzzle fastest – this
produces the cryptographic link between this block and therefore the block that went
before.[16] Solving this puzzle is that the add "proof-of-work"[16].

● Proof-of-stake

Proof-of-stake is finished by validators who have staked ether(ETH) to participate within


the system. A validator is chosen haphazardly to form new blocks, share them with the
network and earn rewards. rather than wanting to do intense computational work, you
merely must have staked your ETH within the network. this can be what incentivises
healthy network behavior[16].

Hash Algorithm Used By Ganache

Keccak-256 Algorithm: The keccak-256 algorithm (SHA-3 family) incorporates an input hash at
a fixed length output. Input may be a character unit of variable length or number but the result
will always be with a fixed byte that is a 32-bit data type. A one-way cryptographic hash
function, which can also be decoded in reverse. Contains 64 characters (letters and numbers) that
can be displayed as hexadecimal numbers. The hash effect was not intended to be encrypted with
keystrokes such as encryption algorithms (e.g., public key encryption). The best way to recover
hash code is to verify it as a result of the hash function. Brute force method may be another, but
not the fastest way to solve hash code to restore the original message. That is a form of a
security from attacks[17].

35
5. TESTING

Testing is the process of making a plan with the intention of finding errors. To make our
software work properly it must be free of any defects. If the test is performed successfully it will
remove all software errors[12].
Unit Testing:- Unit testing is a method of testing software in which individual units or software
components are tested[11].
We’ve performed individual testing on various functionality of our project named login
functionality, metamask functionality, ganache-cli functionality and logout functionality. Below
are the results for the same.

T1: Testing

36
37
38
6. RISK MITIGATION PLAN
39
40
41
7. RESULTS AND DISCUSSION
42
43
44
8. CONCLUSION
Solution architecture by us ultimately remembers all the barriers and limitations in existing
systems and gives the result as expected. Votes are completely secure and transparent as can be
seen by voters. Voting on blockchain is part of encrypted data which is fully open and stored on
a blockchain network rather than on a single server. The blockchain consensus process confirms
each encrypted vote, and the public records each vote on distributed copies of the blockchain
block. The electoral body will consider how the votes are cast and recorded, but this information
is not limited to policy. Our system is diverse and completely open, yet ensures that voters are
safe and protected. This means that anyone can count the votes by voting via electronic
blockchain, but no one knows who voted for who. As more research is needed, we are not fully
aware of all the dangers associated with security and the proliferation of blockchain-based
electronic voting systems. Accepting blockchain voting methods may expose users to unexpected
security risks and errors.

REFERENCES
1. E. Febriyanto, Triyono, N. Rahayu, K. Pangaribuan and P. A. Sunarya, "Using
Blockchain Data Security Management for E-Voting Systems," 2020 8th International
Conference on Cyber and IT Service Management (CITSM), 2020, pp. 1-4, doi:
10.1109/CITSM50537.2020.9268847.

45
2. T. Vairam, S. Sarathambekai and R. Balaji, "Blockchain based Voting system in Local
Network," 2021 7th International Conference on Advanced Computing and
Communication Systems (ICACCS), 2021, pp. 363-366, doi:
10.1109/ICACCS51430.2021.9441912.

3. T. Vairam, S. Sarathambekai and R. Balaji, "Blockchain based Voting system in Local


Network," 2021 7th International Conference on Advanced Computing and
Communication Systems (ICACCS), 2021, pp. 363-366, doi:
10.1109/ICACCS51430.2021.9441912.

4. N. B. Al Barghuthi et al., "An Analytical View on Political Voting System using


Blockchain Technology - UAE Case Study," 2019 Sixth HCT Information Technology
Trends (ITT), 2019, pp. 132-137, doi: 10.1109/ITT48889.2019.9075074.

5. A. Kaudare, M. Hazra, A. Shelar and M. Sabnis, "Implementing Electronic Voting


System With Blockchain Technology," 2020 International Conference for Emerging
Technology (INCET), 2020, pp. 1-9, doi: 10.1109/INCET49848.2020.9154116.

6. F. Þ. Hjálmarsson, G. K. Hreiðarsson, M. Hamdaqa and G. Hjálmtýsson, "Blockchain-


Based E-Voting System," 2018 IEEE 11th International Conference on Cloud Computing
(CLOUD), 2018, pp. 983-986, doi: 10.1109/CLOUD.2018.00151.

7. T. G. Tan, V. Sharma and J. Zhou, "Right-of-Stake: Deterministic and Fair Blockchain


Leader Election with Hidden Leader," 2020 IEEE International Conference on
Blockchain and Cryptocurrency (ICBC), 2020, pp. 1-9, doi:
10.1109/ICBC48266.2020.9169422.

8. K. Košt’ál, R. Bencel, M. Ries and I. Kotuliak, "Blockchain E-Voting Done Right: Privacy
and Transparency with Public Blockchain," 2019 IEEE 10th International Conference on
Software Engineering and Service Science (ICSESS), 2019, pp. 592-595, doi:
10.1109/ICSESS47205.2019.9040770.

9. N. Kshetri and J. Voas, "Blockchain-Enabled E-Voting," in IEEE Software, vol. 35, no. 4,
pp. 95-99, July/August 2018, doi: 10.1109/MS.2018.2801546.
46
10. R. Cooley, S. Wolf and M. Borowczak, "Blockchain-Based Election Infrastructures," 2018
IEEE International Smart Cities Conference (ISC2), 2018, pp. 1-4, doi:
10.1109/ISC2.2018.8656988.

11. F. Þ. Hjálmarsson, G. K. Hreiðarsson, M. Hamdaqa and G. Hjálmtýsson, "Blockchain-


Based E-Voting System," 2018 IEEE 11th International Conference on Cloud Computing
(CLOUD), 2018, pp. 983-986, doi: 10.1109/CLOUD.2018.00151.

12. W. Zhang et al., "A Privacy-Preserving Voting Protocol on Blockchain," 2018 IEEE 11th
International Conference on Cloud Computing (CLOUD), 2018, pp. 401-408, doi:
10.1109/CLOUD.2018.00057.

13. K. Patidar and S. Jain, "Decentralized E-Voting Portal Using Blockchain," 2019 10th
International Conference on Computing, Communication and Networking Technologies
(ICCCNT), 2019, pp. 1-4, doi: 10.1109/ICCCNT45670.2019.8944820.

14. I. A. Srivastava, B. Saini, S. Phansalkar and S. Patwe, "Secure and Transparent Election
System for India using Block chain Technology," 2018 IEEE Punecon, 2018, pp. 1-6, doi:
10.1109/PUNECON.2018.8745404.

15. A. K. Tyagi, T. F. Fernandez and S. U. Aswathy, "Blockchain and Aadhaar based


Electronic Voting System," 2020 4th International Conference on Electronics,
Communication and Aerospace Technology (ICECA), 2020, pp. 498-504, doi:
10.1109/ICECA49313.2020.9297655.

16. S. Prasetya Cahya and Inayatulloh, "Block Chain Model for Regional Elections in
Indonesia," 2020 International Conference on Information Management and Technology
(ICIMTech), 2020, pp. 61-66, doi: 10.1109/ICIMTech50083.2020.9211220.

47
17. D. Seftyanto, A. Amiruddin and A. R. Hakim, "Design of Blockchain-Based Electronic
Election System Using Hyperledger: Case of Indonesia," 2019 4th International
Conference on Information Technology, Information Systems and Electrical Engineering
(ICITISEE), 2019, pp. 228-233, doi: 10.1109/ICITISEE48480.2019.9003768.

Appendix
A1: Cost estimation of project
48
Sr. No. Software/ Providing Quantity/ Rate Amount
Hardware Company Duration

1 Domain and GoDaddy 12 Months - 7866


Hosting

2 Fingerprint Mantra 1 2299 2299


Scanner

3 Internet - 3 months 1500 4500


Connection

4 Bug Tracking Tool Backlog 3 months’ 2520 7560

5 Customer Mixpanel 3 months’ 1875 5475


Analytics Service

A2: Web References

[1] https://en.wikipedia.org/wiki/Voting
[2] Secure and Transparent Election System for India using Block chain Technology - Ishaan
Anand Srivastava, Bhumika Saini
[3] https://en.m.wikipedia.org/wiki/1951%E2%80%9352_Indian_general_election
[4] https://en.m.wikipedia.org/wiki/Electronic_voting_in_India
[5]https://www.boozallen.com/s/insight/blog/3-potential-benefits-of-government-
blockchain.html#:~:text=A%20blockchain%20solution%20for%20some,hold%20copies%20of
%20the%20registry.
[6]https://www.researchgate.net/publication/
348127582_A_Brief_Analysis_of_Blockchain_Algorithms_and_Its_Challenges
[7] https://verifiedvoting.org/publication/summary-of-the-problem-with-electronic-voting/
[8] https://www.euromoney.com/learning/blockchain-explained/what-is-blockchain
[9] https://aws.amazon.com/blockchain/what-is-ethereum/
[10] https://consensys.net/knowledge-base/ethereum/
[11] https://www.guru99.com/unit-testing-guide.html
[12] https://users.ece.cmu.edu/~koopman/des_s99/sw_testing/
[13] https://trufflesuite.com/docs/ganache/
[14] https://coinmarketcap.com/alexandria/glossary/ethereum-virtual-machine-evm
[15] https://ethereum.org/en/dapps/#what-are-dapps
[16] https://ethereum.org/en/developers/docs/consensus-mechanisms/#pow-block-creation
[17] https://medium.com/0xcode/hashing-functions-in-solidity-using-keccak256

49

You might also like