Professional Documents
Culture Documents
iVOTE CHAIN
iVOTE CHAIN
OF
iVOTE CHAIN
(Blockchain Based Voting System)
Submitted by
Raj Aryan Gupta (Reg. No.20040440029)
Arshia Negar (Reg. No.20040440010)
Sunita Kumari (Reg. No.20040440037)
Alka Kumari (Reg. No.20040445002)
Sourav Gorai (Reg. No.20040440036)
SRS Report
submitted to
Dumka Engineering College
in
partial fulfillment
the award of the degree of
BACHELOR OF TECHNOLOGY
In the department of
Certified that this project report titled “iVote Chain” (A Blockchain Based Voting
System) is the bonafide work of “Raj Aryan Gupta (Reg. No.20040440029),
Arshia Negar (Reg. No.20040440010), Sunita Kumari (Reg. No.20040440037),
Alka Kumari (Reg. No.20040445002), Sourav Gorai (Reg. No.20040440036)”
who carried out the project work under my supervision. Certified further, that to the
best of my knowledge the work reported herein does not form any other project
report or dissertation on the basis of which a degree or award was conferred on an
earlier occasion on this or any other candidate.
Signature
Mrs. SUNIDHI PRIYADARSHINI
Mentor
DECLARATION
I declare that this written submission represents my ideas in my own words and where
other's ideas or words have been included, I have adequately cited and referenced the
original sources. I also declare that I have adhered to all academic honesty and integrity
principles and have not misrepresented, fabricated, or falsified any idea/data/fact/source
in my submission. I understand that any violation of the above will cause disciplinary
action by the Institute and can also evoke penal action from the sources which have thus
not been properly cited or from whom proper permission has not been taken when
needed.
………………………………………
Signature of the Student
TABLE OF CONTENTS
1. Introduction
1.1 Purpose…………………………………………………………………………....2
1.2 Product Scope…………………………………………………………………… 2
1.3 Overview………………………………………………………………………… 3
2. Overall Description
2.1 Product Perspective………………………………………………………........... 4
2.2 Product Functions……………………………………………………………….. 5
2.3 User Classes and Characteristics……………………………..………………... 8
2.4 Operating Environment…………………...……………………………………. 8
2.5 Design and Implementation Constraints……………………….……………... 8
2.6 User Documentation……………………………………………………………. 9
2.7 Assumptions and Dependencies……………………………………………….. 9
3. Specific Requirements
3.1 Functional Requirements……………………………………………………... 10
3.2 Non-Functional Requirements……………………………………………….. 11
6. References…………………………………………………………………….18
1
Introduction
1.1 Purpose
The purpose of a block chain-based voting system is to use the unique properties of
blockchain technology to improve the security, transparency, and accessibility of the
voting process. Specifically, the system aims to provide a secure and tamper-proof
method for storing and counting votes, using the immutability of the blockchain to
ensure that votes cannot be altered or manipulated. It increases transparency by
allowing real-time tracking of voting results and providing a permanent, auditable
record of all votes. It increases voter participation by enabling remote voting and
reducing barriers to entry, such as the need for in-person voting or the requirement for
physical voter identification. It improves the integrity of the voting process by using
digital signatures to authenticate voter identities and prevent voter fraud. To eliminate
intermediaries and centralized systems that can be subject to manipulation. Overall, the
purpose of a blockchain-based voting system is to create a more secure, transparent and
accessible voting system that can increase public trust in the democratic process by
increasing the vote participation.[1]
Voter identity verification: The system may use digital signatures and other forms of
Authentication like unique identification documents and unique id to verify voter
identities, ensuring that only eligible voters are able to participate in the voting process.
Smart contract management: The system may use smart contracts to create and
manage voting events, automating the process of vote counting and tallying results.
Remote voting: The system may allow for remote voting, enabling voters to cast their
ballots from any location with an internet connection, which can increase voter
participation.
Real-time tracking: The system may provide real-time tracking of voting results,
allowing for transparency and the ability to detect and correct errors or fraud in real-
time.
Data immutability: The system may use block chain technology to store the voting
data and results, ensuring that the data cannot be altered or manipulated.
2
1.3 Overview
• Section 3 Focuses on Secure and Transparent voting, the Voting System will be
based on Aadhaar verification system. Once the Aadhaar authentication is done,
the next problem arises is the issue of the data manipulation security and
transparency of each vote. As soon as the voters cast their votes, block chain come
into existence which is integrated inside the EVM. By adopting block chain in the
distribution of databases can reduce the cheating source of database manipulation.
Block chain technology is one solution that can be used to reduce the problems
that occurs in voting.
• Section 4 contains all the specific requirements such as functional and non-
functional requirements.
3
Overall Description
In present days process of voting system in India is very messy, time consuming and
very expensive, there are many loop holes and drawbacks in this voting system like
printing of ballot papers, organizing a physical election and ensuring all securities
concerns, requires a huge amount of unwanted budget.
Sometimes many illegal activities occur during the election like multiple vote casting,
booth capturing some time voters are being forced by some specific parties to vote them
in the election or they give bribees to the voters to vote them.[2]
During elections many disputes occurs among the political parties and sometimes
among voters. The Election commission has to set a huge budget only for the security
concerns, they have to deploy armed forces each and every where during the election
and the major issue which arises is the transportation of the ballot boxes and EVM
machines after the election, many incidents has occurred in past like terrorist attacks or
other destruction. To ensure the safe transportation of the ballot boxes and EVM
machines an army or armed forces are required and many other resources.
In the present voting system, the task of counting votes and publishing results is very
difficult and time consuming and some time it fails to give 100% accuracy.
Our proposed system of online voting system with blockchain technology can easily
solve all the issues which arises in present voting system. The cost or budget to conduct
an election can be reduced to minimum as it will eliminate the misuse of many resources
which were required in present voting system to conduct any physical elections.
The major issue of vote tempering and multiple vote casting can also be resolved
through this system as this system will be based on blockchain technology the chance
of cheating and vote tempering will be eliminated. The votes will be more secure along
with the user information, it will allow voters to cast vote only once and it will be
immutable.
Counting and publishing result will become easier as the votes will be counted in the
real time it will save many resources and cost. The results can be easily published on
the portal just in a single click with 100% accuracy, every voter will also get the
notification of the result on their devices through SMS or email. [3]
The major security concern in transporting the ballot boxes and EVM machines which
is a very risky task after every election will be completely eliminated.
Over all this system will completely change the election process and cultures and will
save many resources and costs, which can be used in different sectors for their
betterment and improvement.
4
2.2 Product Function
• Voters
Description: This function indicates that the users of different region who cannot
operate in the official language can select their preferred language to operate the
system.
Description: This function of the system will allow the new user to register
themselves as a voter and will require identification as well as biometrics
registration.
2.2.3 Login:
Description: This function of the system will allow the registered user to login
to their dashboard where they can see their personal details and perform their
general activities which are required which are required at the time of voting.
Description: Using this function all users who are new to the system can access
instructions and tutorials on how to use this system and perform their specific
activities.
Description: With the help of this function voters will be able to select the
political parties of their own choice whom they want to cast their vote.
Description: Using this functionality the voters will have to verify their identity
which was registered at the time of registration along with their biometric
verification, an unique code which has been sent to the user.
Description: This function will allow the voters to cast their vote to the party of
their choice and record their vote on the database.
5
• Political Parties
Description: This function will allow the political parties to register their parties
on the system, so that they can be eligible to participate in the election.
Description: This function will give access to the registered parties to file their
nomination for the election process and get confirmation to participate in election.
Description: This functionality will allow the parties to edit their entries or details
if entered wrong within a given time period with proper documents and proofs.
Description: By using this function of the system, the parties can check the status
of their nomination and verification whether their entries are verified or not.
• Election Commission
Description: Using this function of the system the Election Commission can
schedule date and time to conduct any election with proper guidelines.
6
2.2.15 Open the voting portal
Description: Using this function the Election Commission can publish the result
with a single click of the election on the portal.
Description: Using this functionality the Election Commission can cancel any
election at any point of time if required.
Description: This function allows the election commission to notify the users
regarding any updates, notification, date and time of the election, result,
instruction and guidelines to be followed by the users.
7
2.4 User Classes and Characteristics
• Voters: Voters are the general users of the system or the portal, they should get
proper knowledge to use the voting online voting portal, they can easily get a
video tutorial on the portal, on the topic how to use the portal and how they can
register themselves how to cast their vote on the day of voting. They will also
have an option if they can’t register or cast their vote by their own this complete
process can be arranged in computer centers. Voters have to register themselves
on the system for the secure voting they have to register their fingerprint and face
identification as well. On the day of voting, they will get the access of the voting
panel with unique id and password. After casting their vote, they will get the
confirmation through SMS and receipt.
• Political Parties: Political parties also need some specialized training to operate
the portal or system as they have some specific role on the portal, they just need
to register their parties on the portal with the proper documents before the
election. They can just check the status of their entries and other information
regarding their parties with all statics, their winning and loose, number of their
MLA’s and their winning regions and can also run ad campaign for their party.
• Election Commission: The Election Commission will hold all the powers to
conduct any elections with proper rules and regulation, they will be responsible
for the verification of the entries made by the political parties and to give them
the party symbol, Notifying the schedules dates of elections and examine
nomination papers. Publishes the result of the Election they will decide the date
and time to conduct the election and notify the general users regarding the election
date and time and general rules. They will give permission and a unique key to
every eligible voter to cast their vote on the online portal.
The design of the proposed system must be simple, user friendly and easy to use. As
the proposed system will be used by every type of user including educated,
uneducated and people who only understand regional languages so it should be
available in all regional languages for the convenience of every user.
User should get an option to register themselves as a voter on the system or the portal
after registration and login, on the home page the use will get details of the ongoing
8
elections, list of political parties participating in the election and their details. Voters
will get an option to select and conform the party whom they want to vote, after
selecting the party and leader they will get an option to cast their vote or to go back
and select party again or cancel. Once they caste the vote they will get a confirmation
on the screen as well as on their registered phone number or email id and they will
also get a printed receipt.
The instruction on how to register user as a voter and how to cate their votes will
be provided on the portal in all regional languages, as well as a video tutorial will
be also provided to the user on the website and all instructions on how to caste vote
along with the link of video tutorial will be given to the user via email or to their
registered phone number.
It is assumed that all voters and political parties have been registered on the system
where the election has to be conducted at least a month before the election and all
users have at least basic knowledge and understanding of the voting system at the
time of voting. The security and integrity of the votes is dependent on the Blockchain
system where every vote and all data of the users will be stored so that the system
could be more secure and authentic way to conduct any elections.
9
Specific Requirements
2. Description: Voters should be able to cast their vote by selecting their preferred
parties.
• Input: Select the option vote
• Output: Shows all the party name along with candidates
10
• Output: Campaign started successfully
1. Input Validation: The system should validate and sanitize all user inputs to
ensure they are accurate, complete, and free from malicious or unauthorized
content. This helps prevent errors, data corruption, and security vulnerabilities.
2. Data Integrity: The system should ensure the integrity of data throughout the
voting process. It should employ mechanisms to detect and prevent data
tampering, such as checksums, hashing, or digital signatures using the
blockchain technology for integrity and security of the user’s data and votes.
3. Data Encryption: The system should encrypt sensitive data, such as voter
information and voting choices, during transmission and storage. This helps
protect the confidentiality of data and prevents unauthorized access or
interception.
11
4. Auditability and Transparency: The system should provide mechanisms for
auditing and verifying the accuracy of voting results. It should enable
transparent and verifiable tracking of votes, ensuring that the entire voting
process is accountable and can be audited if necessary.
5. Data Persistence: The system should securely store and persist voting data,
including ballots, voter records, and audit logs. This ensures data availability
and enables historical analysis, audit trails, and compliance with data retention
policies.
12
External Internal Requirement
• Voters: Voters can view the list of political parties on the system with their
party symbol and can cast their vote to their preferred parties.
• Voting Process: The voting process starts with the ballot creation and
customization. It features encrypted and anonymous voting process which
ensures data security and privacy of the voters, it also provides real time
counting of votes. This system ensures secure and genuine voting by
confirming biometric and identity of the voters.
13
Data Flow Diagram
14
Fig. 5.2: 1-Level DFD
15
Fig. 5.3: 2-Level DFD
16
Fig. 5.4: 2-Level DFD
17
References
[3] Freya Sheer Hardwick, Apostolos Gioulis, Raja Naeem Akram, and Konstantinos
Markantonakis, “E-Voting with Blockchain: An E-Voting Protocol with
Decentralisation and Voter Privacy”, ISG-SCC, 2018.
[4] Ashok Kumar D., Ummal Sariba Begum T., “A Novel design of Electronic Voting
System Using Fingerprint”, International Journal of Innovative Technology &
Creative Engineering (ISSN:2045-8711), Vol.1, No.1. pp: 12 19, January 2011
18