0% found this document useful (0 votes)
22 views58 pages

Final Report

Block chain
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)
22 views58 pages

Final Report

Block chain
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/ 58

Project Stage-II Report

On

ONLINE VOTING SYSTEM USING BLOCKCHAIN


TECHNOLOGY

Submitted By
Ms.Kadam Rutuja D. Exam No.B190994227
Ms.Bhosale Suvarna B. Exam No.B190994208
Ms.Pisal Maheshwari U. Exam No.B190994239
Ms.Bhor Shaila S. Exam No.B190994207

Under the guidance of


Prof.Mundhe B.B.

Department of Computer Engineering

SAHYADRI VALLEY COLLEGE OF ENGINEERING


TECHNOLOGY ,RAJURI,
2023-2024
SAHYADRI VALLEY COLLEGE OF ENGINEERING
TECHNOLOGY RAJURI,
Department of Computer Engineering

Certificate
This is to certify that
Ms.Kadam Rutuja D. Exam No.B190994227
Ms.Bhosale Suvarna B. Exam No.B190994208
Ms.Pisal Maheshwari U. Exam No.B190994239
Ms.Bhor Shaila S. Exam No.B190994207
of B.E. Computer Engineering has successfully completed the project Stage-II titled
Online Voting System Using Blockchain
towards the partial fulfillment for the requirements of the bachelor Degree of
Engineering course under the University of Pune during the academic year 2023-2024

Prof.Mundhe.B.B. Prof.Mundhe .B.B.


(Project Stage-II Guide) (Co-ordinator)

Prof.Bangar A.P. Prof.Balaramudu.P.


(H.O.D) (Principal)
Savitribai Phule Pune University

CERTIFICATE

This is to Certify that

Ms.Kadam Rutuja D. Exam No.B190994227


Ms.Bhosale Suvarna B. Exam No.B190994208
Ms.Pisal Maheshwari U. Exam No.B190994239
Ms.Bhor Shaila S. Exam No.B190994207

Student of B.E. Computer was examined in


Project stage-II entitled

“ONLINE VOTING SYSTEM USING BLOCKCHAIN”

on . . ./. . . /2024
At
Department of Computer Engineering,
SAHYADRI VALLEY COLLEGE OF ENGINEERING TECHNOLOGY AT ,
RAJURI

..................... .....................
Internal Examiner External Examiner
(Prof.Mundhe.B.B. ) (Prof. )
Acknowledgement

We express our sincere gratitude towards the faculty members who make this Dissertation
Stage-II a success.

We would like to express thanks to our guide Prof.Mundhe B.B.for his wholehearted co-
operation and valuable suggestions, technical guidance throughout the seminar work

Special thanks to our H.O.D. Prof.Bangar A.P. for his kind official support and encour-
agement.

We are also thankful to our project coordinator Prof.Mundhe B.B.for his valuable guid-
ance.

Finally, we would like to thank all our staff members of the Computer Engineering Depart-
ment who helped us directly or indirectly to complete this work successfully.

i
Contents

1 Abstract 1

2 Motivation 2

3 Objective and Problem Statement 3


3.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4 Introduction 4
4.1 Problem Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.2 User Classes and Characteristics: . . . . . . . . . . . . . . . . . . . . . . . 5
4.3 Assumption and Dependencies: . . . . . . . . . . . . . . . . . . . . . . . . 5

5 Literature Survey 6

6 Related Work 8

7 NP Hard Analysis 9

8 System Design 11
8.1 System Implementation Plan . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.2 Scheduling with time line Charts in terms of Months . . . . . . . . . . . . 11
8.3 Proposed System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.3.1 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.4 Existing System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
8.5 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.5.1 First Level DFD . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.5.2 First Level DFD: for Admin . . . . . . . . . . . . . . . . . . . . . 15
8.5.3 First Level DFD: for Voter . . . . . . . . . . . . . . . . . . . . . . 16
8.6 UML Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.6.1 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.6.2 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.6.3 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.6.4 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.6.5 Collaboration Diagram . . . . . . . . . . . . . . . . . . . . . . . . 21

ii
9 Software Requirement Specification 22
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.2 Purpose of document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.3 Scope of Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.4 Requirements Specifications . . . . . . . . . . . . . . . . . . . . . . . . . 23
9.4.1 Functional requirements . . . . . . . . . . . . . . . . . . . . . . . 23
9.4.2 Non-functional requirements . . . . . . . . . . . . . . . . . . . . . 23
9.4.3 Security Requirement . . . . . . . . . . . . . . . . . . . . . . . . . 24
9.5 Software Quality Attributes . . . . . . . . . . . . . . . . . . . . . . . . . 24
9.6 Hardware Requirement Specification . . . . . . . . . . . . . . . . . . . . . 25
9.7 Software Requirement Specification . . . . . . . . . . . . . . . . . . . . . 25
9.8 Database Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
9.9 Analysis Models: SDLC Model To Be Applied . . . . . . . . . . . . . . . 26

10 Project Plan 27
10.1 Risk Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
10.1.1 Risk Identification . . . . . . . . . . . . . . . . . . . . . . . . . . 27
10.1.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
10.2 Project Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
10.2.1 Project Task Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
10.3 Team Oraganization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
10.3.1 Management reporting and communication . . . . . . . . . . . . . 29

11 Test Case Scenario 30


11.1 TEST PLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
11.2 TESTING STRATEGIES . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
11.2.1 Black Box Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 30
11.2.2 White Box Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 31
11.3 TESTING TYPES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
11.3.1 Unit Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
11.3.2 Integration Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 32
11.3.3 System Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
11.4 Test Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

12 Other Specification 34
12.1 Advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
12.2 Limitations: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

13 Result 37
13.1 Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
13.2 Admin Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
13.3 DashBoard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
13.4 Add Election . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
13.5 Add Nominees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
13.6 User Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
13.7 User Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
13.8 Face Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

iii
13.9 Verify Account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
13.10Vote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
13.11Login Successfully . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

14 Conclusion and Future Scope 44


14.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
14.2 Future Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

15 References 46

16 Certificate 48

iv
List of Figures

8.1 Development Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12


8.2 Proposed System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
8.3 DFD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.4 DFD 1: For Admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
8.5 DFD 1: For Voter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
8.6 use case diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.7 Sequence diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.8 Class diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.9 Activity diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.10 Collaboration diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

v
Online Voting System Using Blockchain

Chapter 1

Abstract

In any democratic country, Voting is a fundamental right of any citizen that enables them
to choose the leaders of tomorrow. It gives individuals in a community the facility to voice
their opinion. It helps them to realize the importance of citizenship. Online voting systems
are software platforms used to securely conduct votes and elections. As a digital platform,
they eliminate the need to cast your votes using paper or having to gather in person. They
also protect the integrity of your vote by preventing voters from being able to vote multi-
ple times. Electronic voting or e-voting has fundamental benefits over paper based systems
such as increased efficiency and reduced errors. The electronic voting system tends to max-
imize user participation, by allowing them to vote from anywhere and from any device that
has an internet connection. The blockchain is an emerging, decentralized, and distributed
technology with strong cryptographic foundations that promises to improve different as-
pects of many industries. Expanding e-voting into blockchain technology could be the
solution to alleviate the present concerns in e-voting. Here we propose a blockchain-based
voting system that will limit the voting fraud and make the voting process simple, secure
and efficient.
Keywords
Blockchain, Cryptocurrency, SHA-256, EVoting, Decentalized

SVCET,Department of Computer Engineering-2023/2024 1


Online Voting System Using Blockchain

Chapter 2

Motivation

• Nowadays, there are tons of things we do online, from shopping to doing any kind of
official arrangement. And you may think, why not voting online too? Whether you
are part of a small, medium or large organization, you may have thought at some point
about the reasons to choose online voting and how it could benefit your entity. Vote
at any time from anywhere: Today’s way of living doesn’t leave much free time. We
have little to no time to do anything or go anywhere. So don’t you think that maybe
giving the chance to the members of your organization to cast their vote in just a few
minutes, without the need to go to a certain place, would be a good option? If your
answer is “yes”, then you should probably consider online voting. Unlike traditional
voting, that makes voters go to a specific place at a specific time in order to vote,
online voting allows them to cast their vote at any time of the day and from any place,
just with the need of an Internet connection

SVCET,Department of Computer Engineering-2023/2024 2


Online Voting System Using Blockchain

Chapter 3

Objective and Problem Statement

3.1 Objective

To provide the good services to the voter for voting by using the concept of online voting
syatem using blockchain.

3.2 Problem Statement

• In the current system, voting is done by using EVM (Electronic Voting Machine).
• Expanding E-voting into blockchain technology could be the solution to alleviate the
present concerns in e-voting.
• With this view in mind, we are going to develop online voting system using blockchain.
• This E-voting system has the potential to make the voting process easier and more acces-
sible for electors
.

SVCET,Department of Computer Engineering-2023/2024 3


Online Voting System Using Blockchain

Chapter 4

Introduction

Online Voting System is a system which enables all citizens to cast their vote online.
The purpose is to increase the voting percentage across the country, as in the present system
people have to visit the booth to cast their vote and those people who live out of their home
town are not able to cast vote during the elections. So due to this the voting percentage
across the country is very less. Through this software those people who live out of their
home town will also be able to cast their votes as this system is online.

4.1 Problem Scope

India has been exploring the possibilities of implementing a remote voting system
through technologies such as blockchain since the past few years. The Election Com-
mission has taken up this idea with enthusiasm, and has been working towards initiatives
that could bring a blockchain-based remote voting system to reality.
In this light, it would be interesting to explore a case for conducting elections over a
blockchain system—whose theoretical underpinnings ensure a transparent and accountable
record of data. However, as we explore the various implications that arise out of adopting
such a technology, it would be imperative to understand its underpinnings (technical and
theoretical) in order to assess its viability for the greater good of the electoral system in
India.

SVCET,Department of Computer Engineering-2023/2024 4


Online Voting System Using Blockchain

4.2 User Classes and Characteristics:

The users can be divided into two main classes:


– The Admin: They manage the entire Voting System Software and Conduct the Elec-
tions. They act as the Election Authority
-The Voters: The voters should have a basic knowledge of how to use a web browser
and navigate through web pages. The voters should be aware that they have to keep their
user-id and password confidential.

4.3 Assumption and Dependencies:

• The end user should have a basic knowledge of English and computer usage.
• Administrator is created in the system already.
• The voting results will be managed and calculated by the admin.
• Roles and tasks are predefined

SVCET,Department of Computer Engineering-2023/2024 5


Online Voting System Using Blockchain

Chapter 5

Literature Survey

SVCET,Department of Computer Engineering-2023/2024 6


Online Voting System Using Blockchain

SVCET,Department of Computer Engineering-2023/2024 7


Online Voting System Using Blockchain

Chapter 6

Related Work

This paper presents in this area different arrangements that endeavor to incorporate
E-casting a ballot and Blockchain to empower the decentralization of casting a ballot
administra- tions. The most significant of them are going to be reported here.Maintaining
the Integrity of the Specifications. All the noteworthy data like results and votes stored on a
blockchain. There was no authority access to the data or the information to change it from
any node or ledger
Previous work has been considered with various different schemes and their important as-
pects are discussed below. In their paper Robbie Simpson et al (2018) suggests about
Receipt free, voter verifiable system and how it gives assurance to voters about their vote.
And also this system scheme prevents voters from being bribed or coerced. This paper dis-
cusses idea of isolating voter in a secure polling booth to vote and then using a document
as a witness to voter. This witness provides voter the confirmation that their vote has been
counted correctly

SVCET,Department of Computer Engineering-2023/2024 8


Online Voting System Using Blockchain

Chapter 7

NP Hard Analysis

When solving problems we have to decide the difficulty level of our problem. There are
three types of classes provided for that. These are as follows:

• P Class

• NP-hard Class

• NP-Complete Class

P Class

Informally the class P is the class of decision problems solvable by some algorithm
within a number of steps bounded by some fixed polynomial in the length of the input.
Turing was not concerned with the efficiency of his machines, but rather his concern was
whether they can simulate arbitrary algorithms given sufficient time. However it turns out
Turing machines can generally simulate more efficient computer models (for example ma-
chines equipped with many tapes or an unbounded random access memory) by at most
squaring or cubing the computation time. Thus P is a robust class and has equivalent defi-
nitions over a large class of computer models. Here we follow standard practice and define
the class P in terms of Turing machines.

SVCET,Department of Computer Engineering-2023/2024 9


Online Voting System Using Blockchain

NP-Hard

A problem is NP-hard if solving it in polynomial time would make it possible to solve


all problems in class NP in polynomial time. Some NP-hard problems are also in NP (these
are called ”NP-complete”), some are not. If you could reduce an NP problem to an NP-hard
problem and then solve it in polynomial time, you could solve all NP problems. Also, there
are decision problems in NP-hard but are not NP-complete, such as the infamous halting
problem .

NP-Complete

A decision problem L is NP-complete if it is in the set of NP problems so that any given


solution to the decision problem can be verified in polynomial time, and also in the set of
NP-hard problems so that any NP problem can be converted into L by a transformation of
the inputs in polynomial time. The complexity class NP-complete is the set of problems
that are the hardest problems in NP, in the sense that they are the ones most likely not to be
in P. If you can find a way to solve an NP-complete problem quickly, then you can use that
algorithm to solve all NP problems quickly.

SVCET,Department of Computer Engineering-2023/2024 10


Online Voting System Using Blockchain

Chapter 8

System Design

8.1 System Implementation Plan

The begin with the designing level, which will include a user-friendly Graphical User
Interface (GUI) and working on the UI Map of the entire system that entirely explains the
application flow. At the software development level, we will develop the basic modules for
the interaction between the application and the API providers. Entire work will be divided
into modules.
The developed modules can then be integrated to complete the system. This will be fol-
lowed by the testing phase.

8.2 Scheduling with time line Charts in terms of Months

The development process for the completion of the project is estimated as shown in the
figure 9.1:

SVCET,Department of Computer Engineering-2023/2024 11


Online Voting System Using Blockchain

Figure 8.1: Development Plan

8.3 Proposed System

We are proposing a system which has greater accessibility as it is an android application


and possess greater security as authentication, authorisation and verification. In this system
the voter/user has to first register themselves using a registration form available within the
android application and once the registration form is being submitted, an entry is being
made in the centralized database

• The Admin: They manage the entire Voting System Software and Conduct the Elec-
tions. They act as the Election Authority

• The Voters: The voters should have a basic knowledge of how to use a web browser
and navigate through web pages. The voters should be aware that they have to keep
their user-id and password confidential.

8.3.1 Algorithm

• SHA-256 Algorithm

• Mining Algorithm

SVCET,Department of Computer Engineering-2023/2024 12


Online Voting System Using Blockchain

Figure 8.2: Proposed System

8.4 Existing System

Voting is done by secret ballot still at some places whereas by Electronic Voting Ma-
chines at others. To maximize the participation of voters polling stations are set up in public
institutions within 2km of every voter.

• Ballot Papers
The paper on which the name of the candidates and their party symbol or symbol allot-
ted to each of the candidate is printed is called Ballot paper.These ballot papers are used
for casting vote in elections.

• Electronic Voting Machine


With the advancement of technology voting also went on electronic path. Since 1998,
the Commission has directed the use of Electronic Voting Machines instead of ballot boxes
keeping in view to minimize the use of paper. The Commission introduced EVM’s in 16

SVCET,Department of Computer Engineering-2023/2024 13


Online Voting System Using Blockchain

Assembly Constituencies during State Legislative Assembly Elections in November 1998


on an experimental basis.
EVMs are more user-friendly. Even illiterates can use (operate) them easily. Electricity too
is not a problem as they use alkaline battery.

• Procedure
Inside the voting compartment lies the EVM with candidate’s name and symbols. Press the
blue button against the name of the candidate for whom you want to give your vote to on
the Balloting Unit.

• Existing System limitation


In previous system user want to physically visit location.
In whole this process waste of time money was done.

8.5 Data Flow Diagram

8.5.1 First Level DFD

Figure 8.3: DFD

SVCET,Department of Computer Engineering-2023/2024 14


Online Voting System Using Blockchain

8.5.2 First Level DFD: for Admin

Figure 8.4: DFD 1: For Admin

SVCET,Department of Computer Engineering-2023/2024 15


Online Voting System Using Blockchain

8.5.3 First Level DFD: for Voter

Figure 8.5: DFD 1: For Voter

SVCET,Department of Computer Engineering-2023/2024 16


Online Voting System Using Blockchain

8.6 UML Diagram

8.6.1 Use Case Diagram

A use case diagram 8.6 is a representation of a user’s interaction with the system. A use
case diagram can represent pictorially the different users of a system. Various ways that
user interacts with the system. This diagram is typically used with the text which shows
the user and component of system. Use-case diagram provide help for higher-level view
of the system. Use case itself gives idea about every possibility. Use case diagrams are
the blueprints of system. This diagram provides the simple and graphical representation of
system what must actually do.

Figure 8.6: use case diagram

SVCET,Department of Computer Engineering-2023/2024 17


Online Voting System Using Blockchain

8.6.2 Sequence Diagram

shows that how processes component operate with each other. Also in what order they
operate. Object interactions are arranged in time sequence. Sequence diagram provide the
scenario on which the sequence of messages exchanged between the objects of system.
A sequence diagram gives the logical view. Use case diagram and sequence diagram are
associated. It also called as event diagrams shown in figure 8.7.
In sequence diagram vertical lines are lifelines of different objects that live simultaneously.
Horizontal arrows shows the messages exchanged between objects.

Figure 8.7: Sequence diagram

SVCET,Department of Computer Engineering-2023/2024 18


Online Voting System Using Blockchain

8.6.3 Class Diagram

Figure 8.8: Class diagram

SVCET,Department of Computer Engineering-2023/2024 19


Online Voting System Using Blockchain

8.6.4 Activity Diagram

We use Activity Diagrams to illustrate the flow of control in a system and refer to the
steps involved in the execution of a use case. We model sequential and concurrent activi-
ties using activity diagrams. So, we basically depict workflows visually using an activity
diagram. An activity diagram focuses on condition of flow and the sequence in which it
happens. We describe or depict what causes a particular event using an activity diagram.

Figure 8.9: Activity diagram

SVCET,Department of Computer Engineering-2023/2024 20


Online Voting System Using Blockchain

8.6.5 Collaboration Diagram

Figure 8.10: Collaboration diagram

SVCET,Department of Computer Engineering-2023/2024 21


Online Voting System Using Blockchain

Chapter 9

Software Requirement Specification

9.1 Introduction

Online Voting System is a system which enables all citizens to cast their vote online.
The purpose is to increase the voting percentage across the country, as in the present system
people have to visit the booth to cast their vote and those people who live out of their home
town are not able to cast vote during the elections. So due to this the voting percentage
across the country is very less. Through this software those people who live out of their
home town will also be able to cast their votes as this system is online.

9.2 Purpose of document

A software requirements specification (SRS) is a comprehensive description of the in-


tended purpose and environment for software under development. The SRS fully describes
what the software will do and how it will be expected to perform.

9.3 Scope of Document

It gives the detailed information about system requirements, hardware and software re-
quirement, detailed designed of the proposed system. The scope of this project is to deal
with incomplete patterns thanks to the belief function framework used classically in evi-
dential reasoning approach.

SVCET,Department of Computer Engineering-2023/2024 22


Online Voting System Using Blockchain

9.4 Requirements Specifications

9.4.1 Functional requirements

• Maintaining user: interface responsiveness: If the application needs to perform a time-


consuming task, multiple threads can be used to prevent user interface from becoming
unresponsive while the task is in progress. If the program is downloading information
from the Internet, this will keep the user-interface running at nearly full-speed while the
download is in progress.
• Simple Multitasking: Multitasking allows to execute multiple instances of a process
quit easily. The downloading routine just mentioned can be extended so that the program
can transfer multiple files simultaneously and still keep the user interface well behaved. All
that is needed is to create another thread for each file to download.
• Building Multi-user Applications: Multithreading is often used when building server
applications. Server applications wait for request to arrive and then establish conversations
with the requester.
• Multiprocessing: Many operating systems support machines with multiple processors.
Most of these systems are unable to break a single thread of execution for execution on
different processors. By breaking an application into different Threads, it is possible to
make the best use of processing power.

9.4.2 Non-functional requirements

Performance Requirement

• The software is expected to have reasonably short response time. It should be able to
log-in and feed the voter with new pages on request with a response time of the order
of a few seconds.

SVCET,Department of Computer Engineering-2023/2024 23


Online Voting System Using Blockchain

Safety Requirement

• In order to prevent data loss in case of system failure, the result of votes that were
polled till then have to be saved in the database, for the system to resume the counting
process on reboot.

• The EA should set up his system time appropriately for the election process to start
at the correct time.

• In case the EA detects any security lapse in the system, he should able to shut down
the server and close all connections immediately while preserving the already polled
votes.

• The system should be capable of gracefully recovering from earlier crashes and
continuing the voting process.

9.4.3 Security Requirement

• The system should provide basic security features like password authentication and
encrypted transactions.

• All the passwords generated and communicated to the users should be stored in the
server only in an encrypted form for login management to prevent misuse.

• Serial attacks should be avoided by maintaining a minimum time gap between suc-
cessive invalid log-in attempts.

9.5 Software Quality Attributes

• Reliability: Our application is reliable to every context. It produces same types of


frequent item sets in iteration. Hence it generates the same output every time.

• Availability: The application is freely available to all users. Any unknown user can
use this application. Thus it does not require any username and password.

• Portability: The application is portable and can be installed on any environment.

• Performance: The application seems to be performing faster under 4 GB of RAM.


However, the basic requirement to run the application is 1GB.

SVCET,Department of Computer Engineering-2023/2024 24


Online Voting System Using Blockchain

• Security: Since the application is developed on Php .It is much more secure than the
other environment.

• User Friendliness: Since, the application is a GUI application; the output generated
is much user friendly in its behavior.

• Robustness: The application is robust, since the buttons to Reset and submit are
provided in GUI. Therefore, it ignores incomplete information or the error in it.

9.6 Hardware Requirement Specification

• Processor: Processor type: Intel core i3 and above


• Processor speed: Minimum 2.00 GHz and above
• RAM: 6-10 GB
• HARD DISK: 400 GB or more
• Monitor: 800x600 or higher resolution
• Keyboard: 110 keys enhanced

9.7 Software Requirement Specification

• Operating System: Windows 7 (32 bit and 64 bit) and Above


• Development Environment: Php, Web Development (CSS, HTML, JAVA SCRIPT)
• Browser: Google Chrome
• Software: Visual Studio or Similar IDE

9.8 Database Requirements

1. In Our system, database will store all the information related to registration, authentica-
tion and modification. It is an important part of the architecture as the first process that is
login starts with the database.
2. In our project we are using SQL database. The database will store users information
and will be created using SQL. SQL is a popular choice of database for use of document
management applications

SVCET,Department of Computer Engineering-2023/2024 25


Online Voting System Using Blockchain

3. MySQL is database system that runs on a server.

9.9 Analysis Models: SDLC Model To Be Applied

1. Planning: - We started the plan for domain selection point. Found two Domains Data
management and Data scheduling.

2. Requirement Gathering: - Gathering of information for the two domains was successful.
Data managment was user based and easy implementation part of the system, while Data
scheduling had a great aspect, but was difficult for implementation process.

3. Scheduling: - The project we selected is related to Fire evacuation system and its Ap-
plications using wireless modules. Hardware connection and software app creation we
divided among two parts.

4. Designing: - The designing of GUI and server was important, also completion of project
report and paper publishing was processed in this sector.

5. Implementation: - The first half was designed as Phase I Implementation of Module


While the later consisted of Phase II and Final implementation process.

6. Testing: - Check the implemented modules.

7. Deployment: - Creation desktop server application and android application is the main
part of deployment.

SVCET,Department of Computer Engineering-2023/2024 26


Online Voting System Using Blockchain

Chapter 10

Project Plan

10.1 Risk Management

10.1.1 Risk Identification

1. It is the process of determining potential threats which can later harm the performance of
the project. One method of identifying risks is to create a risk item checklist. The checklist
can be used for risk identification and focuses on some subset of known and predictable
risks in the following generic subcategories:

2. Product size: Risks associated with the overall size of the software to be built or modi-
fied.

3. Business Impact: Risks associated with constraints imposed by management or the


market place.

4. Customer characteristics: Risks associated with the sophistication of the customer and
the developer’s ability to communicate with customer in a timely manner.

5. Process definition: Risks associated with the degree to which the soft- ware process has
been defined and is followed by the development organization.

6. Development Environment: Risks associated with the ability and quality of the tools to
be used to build the product.

7. Technology to be built: Risks associated with the complexity of the system to be built.

8. Used System: System on which we are going to implanted are damaged due to some
reasons.

SVCET,Department of Computer Engineering-2023/2024 27


Online Voting System Using Blockchain

10.1.2 Analysis

1. Risk management is concerned with identifying risks and drawing up plans to minimize
their effect on a project.

2. A risk must also have a probability. It must be a chance to happen or it is not a risk.

3. The risks for project can be analyzed within the constraint of time and quality.

4. Overview of Risk Mitigation, Monitoring and Management

5. If the overall system used in the building and implementation of the project is out dated,
then it may cause problems which may disturb the entire flow of the project. For this case,
the system used should be up to date.

6. For the better and easy undertaking of the customer. The web application must be
designed in such a way that implicates sophistication and ease of understanding and usage.

10.2 Project Schedule

10.2.1 Project Task Set

1. Task 1: Selection of topic

2. Task 2: Literature Survey

3. Task 3: Applications and Objectives

4. Task 4: Platform/Technology Selection

5. Task 5: Internal Presentation - 1

6. Task 6: Study of Algorithms

7. Task 7: Software Requirements Specification

8. Task 8: UML Diagrams

9. Task 9: Problem Definition using NP Hard/ NP Complete

10. Task 10: System Architecture

11. Task 11: Testing phase

12. Task 12: Internal Presentation - 2

SVCET,Department of Computer Engineering-2023/2024 28


Online Voting System Using Blockchain

13. Task 13: Report Preparation

14. Task 14: Installation

15. Task 15: Overview of Project Model

16. Task 16: Module Identification

17. Task 17: Module 1 - User Authentication

18. Task 18: Module 2 - Database generation

19. Task 19: Module 3 - Connection of GUI to Database

20. Task 20: Module 4 - Testing and Result

21. Task 21: Test Planning

22. Task 22: Testing

23. Task 23: Research of Journals For Final Report

10.3 Team Oraganization

10.3.1 Management reporting and communication

1. We report the progress of our project to our internal guide twice a week. We show our
weekly status to our guide and incorporate the necessary changes. We communicate among
ourselves in case we want suggestions while executing our tasks.

SVCET,Department of Computer Engineering-2023/2024 29


Online Voting System Using Blockchain

Chapter 11

Test Case Scenario

11.1 TEST PLAN

To test this application we are going with proper sequence of testing like unit, inte-
gration, validation, GUI,major scenarios likewise. We will go with the GUI testing first
and then integration testing. After integration testing performs the high level test cases
and major scenarios which can affect the working on the application. We will perform the
testing on the data transmitted using the various inputs and outputs ,validate the results. It
also intends to cover any deviations that project might take from the initially agreed Test
Strategy in terms of scope, testing methodology, tools, etc.. This test plan covers details of
testing activities for this project and scope.

11.2 TESTING STRATEGIES

11.2.1 Black Box Testing

Black box testing methods focus on the functional requirements in the software. That
is, black box testing enables us to derive sets of input conditions that will fully exercise.
All functional requirements of the program Black box testing attempts to find errors in the
following categories:

• Incorrect or missing function

• Interface errors

SVCET,Department of Computer Engineering-2023/2024 30


Online Voting System Using Blockchain

• Errors in data structure or external job access

• Performance errors

• Initialization and termination errors.

In the proposed application with the help of this technique, we do not use the code to
determine a test suite; rather, knowing the problem that we’re trying to solve,But in our
application, we do not provide any external data, the role of the user is only to send data
and at the receiving side, it is necessary to get original data rather than adding with noise.

11.2.2 White Box Testing

White box testing is a set case design method that uses the control structure of the
procedural design to derive test cases. Using White box testing methods, we can derive test
cases that:

• Guarantee that all independent paths within a module have been exercised at least
once

• Exercise all logical decisions on their true and false sides

• Execute all loops at their boundaries and within their operational bounds

• Exercise internal data structures to ensure their validity

In the proposed application the white box testing is done by the developer implemented
the code, the implemented code is studied by the coder, determines all legal (valid and
invalid) AND illegal inputs and verifies the outputs against the expected outcomes, which
is also determined by studying the implementation code.

11.3 TESTING TYPES

11.3.1 Unit Testing

Unit testing enables a programmer to detect error in coding. A unit test focuses verifica-
tion of the smallest unit of software design. This testing was carried out during the coding

SVCET,Department of Computer Engineering-2023/2024 31


Online Voting System Using Blockchain

itself. In this testing step, each module going to be work satisfactorily as the expected out-
put from the module.
– Project Aspect
The front end design consists of various forms. They were tested for data acceptance. Sim-
ilarly, the back-end also tested for successful acceptance and retrieval of data. The unit
testing is done on the developed code. Mainly the unit testing is done on modules.

11.3.2 Integration Testing

Through each program work individually, they should work after linking together. This
is referred to as interfacing. Data may be lost across the interface; one module can have
adverse effect on the other subroutines after linking may not do the desired function ex-
pected by the main routine. Integration testing is the systematic technique for constructing
the program structure while at the same time conducting test to uncover errors associated
with the interface. Using integrated test plan prepared in the design phase of the system
development as a guide, the integration test was carried out. All the errors found in the
system were corrected for the next testing step.
– Project Aspect
After the data reach at other side it need to be check integrity constraints on transactions.

11.3.3 System Testing

After performing the integration testing, the next step is output testing of the proposed
system. No system could be useful if it doesn’t produce the required output in a specified
format. The outputs generated are displayed by the user. Here the output format is consid-
ered in to two ways. One in on screen and other in printed format.
– Project aspect:
The entire project was tested and found successful.

11.4 Test Case

Following are high level test case scenarios

1. User Authentication

SVCET,Department of Computer Engineering-2023/2024 32


Online Voting System Using Blockchain

2. Input validation of fields from input user.

3. Input transaction validation check through apply integrity policy.

4. Request and response validation.

5. Application database validation.

SVCET,Department of Computer Engineering-2023/2024 33


Online Voting System Using Blockchain

Chapter 12

Other Specification

12.1 Advantages

• Transparency:
The first benefit that blockchain can bring about is transparency. We know that without
transparency, people can become discouraged about the legitimacy of their votes and
can lead to questions about tampering and falsified results. Transparency makes for
a trustworthy democracy which then leads to more positive outcomes from the votes.
This is why it is important that all records are accurate and kept safely. Blockchain
and its decentralised ledger can bring about trust at every stage of the voting process

• Security:
One of the most important factors of voting is security. Currently, voting systems are
very open to hacks. Without substantial security mechanisms in place, malicious ac-
tors can enter the system and alter the outcome. This is where blockchain comes in.
The technology has the ability to introduce a seemingly un hackable system. All votes
could be verified as soon as voting is finished to ensure they are all counted correctly.
Without blockchain, this would have to be done by a central body overseeing the pro-
cess. This causes many questions to arise about the trust of these central bodies. But
with blockchain and its decentralised ledger system, there is no need for a potentially
fallible or corruptible central body.

• Anonymity:

SVCET,Department of Computer Engineering-2023/2024 34


Online Voting System Using Blockchain

People want privacy when voting and don’t always want others to know who or what
they voted for. Blockchain allows for anonymity when voting. As with transactions
on the blockchain, voters can use their private keys to keep themselves anonymous.
They can then vote in the system without the worry of others knowing how they voted.
Having the ability to guarantee anonymity might then encourage more people to take
part in and use the voting system.

• Processing time:
Current voting systems often take time to collate and process answers. Often when
voting stations are in different areas and offices are not all together, it can be difficult
to gather all the information quickly and efficiently. This then leads to time and cost
issues.But blockchain can transform all of this. Instead of having to wait for a large
number of people to communicate manually, all organisers will be able to see the
outcome instantly on the blockchain. Results can be gathered and processed quickly
and straight after the voting has finished.

12.2 Limitations:

• Lack of Awarness:
There is a lot of discussion about blockchain, but people do not know the true value
of blockchain and how they could implement it in different situations.

• Limited availability of technical talent:


Today, there are a lot of developers available who can do a lot of different things
in every field. But in the blockchain technology, there are not so many developers
available who have specialized expertise in blockchain technology. Hence, the lack of
developers is a hindrance to developing anything on the blockchain.

• Immutable:
In immutable, we cannot make any modifications to any of the records. It is very
helpful if you want to keep the integrity of a record and make sure that nobody ever
tampers with it. But immutability also has a drawback.

• Key Management:

SVCET,Department of Computer Engineering-2023/2024 35


Online Voting System Using Blockchain

As we know, blockchain is built on cryptography, which implies that there are differ-
ent keys, such as public keys and private keys. When you are dealing with a private
key, then you are also running the risk that somebody may lose access to your private
key. It happens a lot in the early days when bitcoin wasn’t worth that much. People
would just collect a lot of bitcoin, and then suddenly forgot what the key was, and
those may be worth millions of dollars today.

• Scalability:

Blockchain like bitcoin has consensus mechanisms which require every participat-
ing node to verify the transaction. It limits the number of transactions a blockchain
network can process. So bitcoin was not developed to do the large scale volumes
of transactions that many of the other institutions are doing. Currently, bitcoin can
process a maximum of seven transactions per second.

• Consensus Mechanism:
In the blockchain, we know that a block can be created in every 10 minutes. It is
because every transaction made must ensure that every block in the blockchain net-
work must reach a common consensus. Depending on the network size and the num-
ber of blocks or nodes involved in a blockchain, the back-and-forth communications
involved to attain a consensus can consume a considerable amount of time and re-
sources.

SVCET,Department of Computer Engineering-2023/2024 36


Online Voting System Using Blockchain

Chapter 13

Result

13.1 Home Page

SVCET,Department of Computer Engineering-2023/2024 37


Online Voting System Using Blockchain

13.2 Admin Login

13.3 DashBoard

SVCET,Department of Computer Engineering-2023/2024 38


Online Voting System Using Blockchain

13.4 Add Election

13.5 Add Nominees

SVCET,Department of Computer Engineering-2023/2024 39


Online Voting System Using Blockchain

13.6 User Registration

SVCET,Department of Computer Engineering-2023/2024 40


Online Voting System Using Blockchain

13.7 User Login

13.8 Face Verification

SVCET,Department of Computer Engineering-2023/2024 41


Online Voting System Using Blockchain

13.9 Verify Account

13.10 Vote

SVCET,Department of Computer Engineering-2023/2024 42


Online Voting System Using Blockchain

13.11 Login Successfully

SVCET,Department of Computer Engineering-2023/2024 43


Online Voting System Using Blockchain

Chapter 14

Conclusion and Future Scope

14.1 Conclusion

The concept of incorporating online voting systems to make the public election
process cheaper, quicker and easier is a compelling one in modern society.Having the
electoral process cheap and fast, normalizing it in the electorate’s eyes, removing a
certain control barrier between the elector and the elected official and putting some
pressure on the elected official. It also opens the door to a more transparent type of
democracy that requires electors to speak their will on specific bills and initiatives.
We have deployed online-based blockchain voting framework in this project where
smart contracts are used to allow secure and cost-effective election while preserving
the secrecy of the voters. Compared with previous research, we have shown that the
blockchain technology provides a new opportunity for democratic countries to move
from the pen and paper election scheme and paperless direct-recording electronic vot-
ing machine (DRE) to a more cost-effective and time-efficient election scheme, thus
mounting the security measures of the current scheme and offering new accessibility

14.2 Future Scope

The current system uses ethereum which is public blockchain. It is permissionless in nature
as nothing is standing in the way of participation and anyone is able to engage with con-

SVCET,Department of Computer Engineering-2023/2024 44


Online Voting System Using Blockchain

sensus mechanism, scaling obstacles have been encountered and throughput is relatively
weak. To avoid such issues consortium blockchain can be used which combines elements
from both public as well as private blockchain

• The current project is built for small organization, but in future we would build it as a
national voting system. In addition to the present fingerprint module which is used for
authorization a facial recognition module would be incorporated for better security

SVCET,Department of Computer Engineering-2023/2024 45


Online Voting System Using Blockchain

Chapter 15

References

[1 A.Garcia, ”El vote electronic in spanish,” Master’s thesis, Universidad Inter na de la


Rioja, Jul 2016. [Online]. Available: https://reunir. unite. net/handle/123456789/4470

[2 ] Euskadi, ”Electronic voting. ’electronic voting’ in the world,” dec 2018. [Online].
Available: https://www.Euskadi. eus/informacion/votoelectronico-voto-electronico-
en-el mundo/web01-a2haukon/es

[3 ]A. Molan, ” implement electronic vote digital an Colombia ” Apr 2017, (Accessed
on 04/05/2020). [Online]. Available: https://blogs.theviewer.com/actualid/internet-
paldia/ implement-vote-digital-Colombia

[4 ] C. Wang, K. Ren, S. Yu, and K. M. R. Urs, “Achieving usable and privacy-assured


similarity search over outsourced cloud data,” in 2012 Proceedings of IEEE INFO-
COM, 2012, pp. 451–459.

[5 ] N. Cao, C. Wang, M. Li, K. Ren, and W. Lou, “Privacy-preserving multi-keyword


ranked search over encrypted cloud data,” IEEE Transactions on Parallel and Dis-
tributed Systems, vol. 25, no. 1, pp. 222–233, 2014.

[6 ]R. Li, Z. Xu, W. Kang, K. C. Yow, and C. Z. Xu,“Efficient multikeyword ranked query
over encrypted data in cloud computing,” Future Generation Computer Systems, vol.
30, no. 1, pp. 179–190, 2014.

[7 ]C.Orencik,M.Kantarcioglu,andE.Savas,“A practicalandsecure multi-keyword search


method over encrypted cloud data,” in IEEE Sixth International Conference on Cloud
Computing (CLOUD), 2013, pp. 390–397.

SVCET,Department of Computer Engineering-2023/2024 46


Online Voting System Using Blockchain

[8 ]J. Yu, P. Lu, Y. Zhu, G. Xue, and M. Li, “Toward secure multikeywordtop-kretrievalover
encrypted cloud data,”IEEE Transactions on Dependable and Secure Computing, vol.
10, no. 4, pp. 239–250, 2013.

[9 ]C. Wang, N. Cao, J. Li, K. Ren, and W. Lou, “Secure ranked keyword search over en-
crypted cloud data,” in IEEE30thInternational Conference on Distributed Computing
Systems (ICDCS), 2010, pp. 253–262.

[10 ] R. Agrawal, J. Kiernan, R. Srikant, and Y. Xu, “Order preserving encryption for
numeric data,” in ACM SIGMOD International Conference on Management of Data,
2004, pp. 563–574.

SVCET,Department of Computer Engineering-2023/2024 47


Online Voting System Using Blockchain

Chapter 16

Certificate

International Journal of Advanced Research in


Science, Communication and Technology
International Open-Access, Double-Blind, Peer-Reviewed, Refereed, Multidisciplinary Online Journal

IJARSCT

International Standard
Serial Number

Of Publication ISSN No: 2581-9429

This is to certify that


Rutuja Devidas Kadam
Sahyadri Valley College of Engineering & Technology ,Rajuri, India
HAS Published A Research Paper Entitled
Online Voting System using Blockchain
in IJARSCT, Volume 4, Issue 3, April 2024

Crossref 7.53
DOI: 10.48175/IJARSCT-17259
Certificate No: 042024-A0899 www.doi.org
www.ijarsct.co.in Editor-in-Chief
www.crossref.org www.rpri.com

SVCET,Department of Computer Engineering-2023/2024 48


Online Voting System Using Blockchain

International Journal of Advanced Research in


Science, Communication and Technology
International Open-Access, Double-Blind, Peer-Reviewed, Refereed, Multidisciplinary Online Journal

IJARSCT

International Standard
Serial Number

Of Publication ISSN No: 2581-9429

This is to certify that


Suvarna Bansi Bhosale
Sahyadri Valley College of Engineering & Technology ,Rajuri, India
HAS Published A Research Paper Entitled
Online Voting System using Blockchain
in IJARSCT, Volume 4, Issue 3, April 2024

Crossref 7.53
DOI: 10.48175/IJARSCT-17259
Certificate No: 042024-A0900 www.doi.org
www.ijarsct.co.in Editor-in-Chief
www.crossref.org www.rpri.com

International Journal of Advanced Research in


Science, Communication and Technology
International Open-Access, Double-Blind, Peer-Reviewed, Refereed, Multidisciplinary Online Journal

IJARSCT

International Standard
Serial Number

Of Publication ISSN No: 2581-9429

This is to certify that


Maheshwari Udaykumar Pisal Patil
Sahyadri Valley College of Engineering & Technology ,Rajuri, India
HAS Published A Research Paper Entitled
Online Voting System using Blockchain
in IJARSCT, Volume 4, Issue 3, April 2024

Crossref 7.53
DOI: 10.48175/IJARSCT-17259
Certificate No: 042024-A0901 www.doi.org
www.ijarsct.co.in Editor-in-Chief
www.crossref.org www.rpri.com

SVCET,Department of Computer Engineering-2023/2024 49


Online Voting System Using Blockchain

International Journal of Advanced Research in


Science, Communication and Technology
International Open-Access, Double-Blind, Peer-Reviewed, Refereed, Multidisciplinary Online Journal

IJARSCT

International Standard
Serial Number

Of Publication ISSN No: 2581-9429

This is to certify that


Shaila Sakharam Bhor
Sahyadri Valley College of Engineering & Technology ,Rajuri, India
HAS Published A Research Paper Entitled
Online Voting System using Blockchain
in IJARSCT, Volume 4, Issue 3, April 2024

Crossref 7.53
DOI: 10.48175/IJARSCT-17259
Certificate No: 042024-A0902 www.doi.org
www.ijarsct.co.in Editor-in-Chief
www.crossref.org www.rpri.com

SVCET,Department of Computer Engineering-2023/2024 50

You might also like