E-Voting Using Bock Chain Srs

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

System Requirement Specification

On

“E-Voting System Using Block Chain”


Submitted in partial fulfillment of the requirement
for the award of the degree

BACHELOR OF COMPUTER APPLICATIONS


of

Bangalore University
by
HEMANTH KASHYAP 18XHSB7021
Under the guidance of
Mr.Jinesh v n
Professor

Department of Computer Applications GIMS, Bangalore

GLOBAL INSTITUTE OF MANAGEMENT SCIENCES


(Affiliated to Bangalore University, Recognized by Govt. of Karnataka and Approved by
AICTE)

Ideal Homes Township, Rajarajeshwari Nagar, Banglore-98


Abstract
Electronic voting or e-voting has been used in varying forms since 1970s with fundamental
benefits over paper based systems such as increased efficiency and reduced errors.
However, there remain challenges to achieve wide spread adoption of such systems
especially with respect to improving their resilience against potential faults. Blockchain is
a disruptive technology of current era and promises to improve the overall resilience of e-
voting systems.

Keywords: electronic voting, e-voting, blockchain, e-government, verifiable voting

INTRODUCTION
The ways of paper voting and E-voting maintain one thing in common, which is voters need
to travel to the designated polling station to register their vote. The counting process of paper
voting which completed manually or machine (physical counting) after the voting process. In
contrast, E-voting is synchronously counting when each vote was cast. The last process will
be the same to both that results by integrating all counts of each candidate from the polling
stations. Since 1999, India has been one of the countries that have used EVMs for the election
. EVMs in India is definitely cost-effective compared to the others E-voting. While I-voting
allows voters to cast from anywhere via browser (web application) or mobile application.
Since 2005, Estonia has been the country use I-voting for the election [. The reason for using
I-voting due to its strength in terms of accessibility and cost-effective that outplayed the
others voting system. An election is not merely about the security but verifiability,
auditability, transparency, anonymity, affordability, and consistency

SCOPE
While I-voting intended to resolve the E-voting limitations. Nonetheless, the Internet
vulnerability like DDoS has represented up until now a challenge that nearly impossible to
overcome which made its most of the strength become weaknesses

To resolve I-voting limitations, blockchain technology is an irreplaceable existence. Nature


of blockchain technology like an incontrovertible ledger, immutable, and distributed

Purpose of E-Governance

 Simple, convenient and effective interaction between the government and the citizen
has become a common expectation in the modern information society. Electronic
government solutions based on automation of decision making processes on a nation-
wide scale-are serving to meet these expectations, while generating efficiencies in
government and social communications for each member of the society.of interest
beneficial to society.

 Electronic government brings fundamental changes to the distributed governance


system, and affects the entire range of functions related to document management and
processing

 Among the multiple technological solutions, varying in speed, and the degrees of
reliability anddata safety, several recent technological innovations stand out, based on
radically new principles of compatibility and offering great promise for electronic
government

 Blockchain technology acts as a control on the egoistic motives that cause some
people to engagein corrupt practices to the detriment of society and statesovereignty.It
also creates a powerful incentive to abide by the rules that apply to all participants
equally, thus creating a spirit ofcollective responsibility

Introduction to Block chain

A blockchain is a continuously growing set of records that are linked to each other using
cryptography and consensus algorithms. It is a distributed ledger in a digital format that
contains the information of all the events or transactions that have taken place in the
network. This information is shared among the network members also called the nodes.
Blockchain is a peer to peer network. Blockchain was introduced as a backbone of the crypto
currency “Bitcoin”. Satoshi Nakamoto, an individual or a group of people published the first
paper on Bitcoin as a “pure peer to peer network” in the year 2008.

Overview

Eliminate the central database. P2P Network that each node has the same blockchain (data)
but distributed that resulting in no single point of failure . When a new data or so-called block
creating, the previous block will be referenced by the new block that constructed an
immutable chain which protects data from tampering . Control over half of the nodes (51%)
in the network which made the system extremely secured (Greatest wins the game.). It is
impossible to launch DDoS to multiple nodes in the network simultaneously . Ethereum
brings additional enhancements while remaining the blockchain functionalities are:
 Allow the developer to program and customize blockchain (i.e. smart contracts) .
 Least CPU resources cost in terms of performance .

Moreover, with blockchain technology, the decentralized architecture and its


consensus algorithm bring the security level to the higher than the centralized
architecture (client-server).

Why Blockchain ?
centralization architecture’s server possesses the full power while decentralization
architecture’s clients possess the full power. Technically, blockchain technology
represents a P2P network, each peer with a distributed database, all nodes maintaining
the equivalent "level" in the network. This further confirms blockchain technology is
the closest to democracy. In the P2P Network, blockchains will be synchronously
distributed to all nodes that make sure they hold the same copy.

The blockchain is a data structure that allows adding operation but not update and
delete operations Blockchain technology uses a consensus algorithm so-called PoW
throughout the process. The longest chain will always be considered as uniqueness and
trueness in the P2P Network. PoW will detect vote tampering and rejected by other
nodes in the P2P Network.
Consensus

By definition, a consensus represents an agreement in a party or group that been


reached through a dynamic way . One of the standard blockchain consensus algorithm
– Proof Of Work (Pow)

Existing system

Voting Process

 Voter travel to the designated polling station.


 Poll official verifying voter’s identity.
 Voter moves to the place for cast vote.
 The voter cast vote press any one of the buttons that represent the candidate on
the EVM.

Proposed System

 Privacy - Keeping an individual’s vote secret


 Eligibility - Allowing only registered voters to vote, with each such voter voting only
once
 Receipt Freeness - Voters should be unable to prove to a third party that they voted in
a particular way
 Convenience - Voters must be able to vote easily, and everyone who is eligible must
be able to vote
 Verifiability - The ability to trust the vote tallying process
Process Flow

We open/host the front end at the right stipulated time of the election. Suppose we have 10
voters allocated to a voting booth, we have 10 accounts that can be used to cast the votes. Of
the 10 account holders/voters that are allocated, one vote can be cast from each account.
After one vote has been casted, this account cannot be used again to cast another vote. Hence
we eliminate the concept of double spending. So we maintain the required feature of the
election that no duplicate vote is casted to a candidate or a single voter cannot cast 2 or more
votes. Now, we have seen cases where in the accounts from which the votes are casted are
revealed to the voter much before the election. This encourages casting pseudo votes which
again is not desirable. So we make sure that this account is revealed to the voter just before
the election. This is done in order to maintain anonymity. Once all the nodes have completed
voting, the voting automatically ends and the results are instantaneously announced without
any further delay. If all the voters are not present then the admin can close the voting process
manually.

Use case diagram


SmartContracts

By definition, a smart contract completely represents a set of rules or conditions


that process on top of a blockchain that allows the “eligible party” to be involved.
In general, smart contracts been used to transparently exchange things like property,
money, and so on . Moreover, the smart contract is capable to execute, verify, and
prevent data tampering in real- time
 Candidates’ blockchain was set up by the organizer.
 A voter who wants to cast vote to one of the candidates.
 Smart contracts verify voter’s identity, “if an eligible voter (i.e.
identity) to cast vote to that candidate, add one vote to that
candidate blockchain.”
 The candidate gains the vote.

With smart contracts, the voting process was extremely straightforward that
automatically verify the voter with certain conditions without the middleman.

Some Important Terminologies

1. Node : A member of the Blockchain network.

2. Address : An address is a string of alphanumeric characters which identify an entity in the


blockchain network. Used to send and receive cryptocurrency transactions.

3. Block : A block is a data structure that contains all the necessary metadata about the
block(Block
Header) itself and contains transactions. The first block in a blockchain is called the genesis
block.

4. Mining : Process of solving a complex mathematical problem in order to attach the new
block of transactions to the blockchain. This term is used in reference to blockchains that use
Proof-of-Work as consensus mechanism. But general use of this term is prevalent too.

5. dApp :decentralized Application , An application that is open sourced which is oper


ated anonymously and has its data stored on a blockchain. It must have some kind of
incentive for the members who help to construct the blockchain.
6. Smart Contracts : A smart contract has details and permissions written in code that
require an exact sequence of events to take place to trigger the agreement of the terms
mentioned in the smart contract. It can also include the time constraints that can introduce
deadlines in the contract. Also known as crypto contract and digital contract.

7. Transaction : An exchange of assets between two parties/entities.


8. Hash : Performing a hash function on the output data in a blockchain is termed as hash.

9. Confirmation : The confirmation is the act of successfully adding a transaction to the


blockchain after verification. As a rule of thumb, more confirmations means more security
against a double spend attack (permanency).

10. Block Rewards : Reward that is given to the entity which connects the new block to the
blockchain.

11. Cryptocurrency : A formal digital asset which is regulated and transacted on the
blockchain network. Encryption techniques are used to regulate the cryptocurrency, hence the
name.
Technology Used

1. Node.js : Node.js an asynchronous event-driven JavaScript runtime, Node.js is


designed to buildscalable network applications. Node.js is similar in design to, and
influenced by, systems like Ruby's Event Machine and Python's Twisted. Node.js
takes the event model a bit further. It presents an event loop as a runtime construct
instead of as a library.

2. Npm : npm is a package manager for the JavaScript programming language. It is the
default package manager for the JavaScript runtime environment Node.js. It consists
of a command line client, also called npm, and an online database of public and paid-
for private packages, called the npm registry.
3. Truffle framework - ganache : Ganache is a personal blockchain for Ethereum
development you can use to deploy contracts, develop your applications, and run
tests.

4. Metamask extension : Metamask is available as a browser extension and as a


mobile app , MetaMask equips you with a key vault, secure login, and token wallet
everything you need to manage your digital assets.

5. Solidity Programming Language : Solidity is an object-oriented, high-level


language for implementing smart contracts. Smart contracts are programs which
govern the behaviour of accounts within the Ethereum state. Solidity was influenced by C++,
Python and JavaScript and is designed to target the Ethereum Virtual Machine (EVM).
Solidity is statically typed, supports inheritance, libraries and complex user-defined types
among other features.

6. Html : Hypertext Markup Language is the standard markup language for


documents designed to be displayed in a web browser. It can be assisted by
technologies such as Cascading Style Sheets and scripting languages such as
JavaScript.

7. CSS : CSS describes how HTML elements are to be displayed on screen, paper, or
in other media. CSS saves a lot of work. It can control the layout of multiple web pages all at
once

Hardware requirments
 Os- windows 7 and above
 Ram-4Gb
 Rom- 100 gb
 Needs active internet connection
Bibliography

1. Bitcoin.org : Blockchain, a peer to peer network by Satoshi Nakamoto. (official release)


2. Blockchain - Based Electronic Voting System for Elections in Turkey by Rumeysa Bulut,
A lperen Kantarcı,Safa Keskin, Şerif Bahtiyar
3. Blockchain-Based E-Voting System by Friðrik Þ. Hjálmarsson, Gunnlaugur K.
Hreiðarsson,
Mohammad Hamdaqa, Gísli Hjálmtýsson.
4. solidity.readthedocs.io
5. Truffle-Ganache Documentation.
6. www.geeksforgeeks.com
7. www.blockchain-council.org
8. www.fxempire.com
9. www.dappuniversity.com

You might also like