using Blockchain as Database
Department of Electrical and Computer
Department of Electrical and Computer
Abstract—There is a need of improvement in the current
voting system used since the development of technology. The current Voting
system lags in security and transparency. There has been a significant change
after the introduction of e-voting and mobile voting, but with new technology
comes new flaws, hence there is a need to improve the e-voting techniques to
provide essential security and transparency. database In this paper we propose the use of
Blockchain as a database to cast votes. Use of Blockchain as a database can
reduce the shortcomings observed in current e-voting methods. Blockchain is one
of the most secure and transparent technology that can be used as a database.
It was introduced by Satoshi Nakamoto in 2008, and was later used as a core component
of the digital currency Bitcoin. Blockchain has found many applications since
then and researches are going on to implement Blockchain as a technology for
safe exchange or sharing of data. This paper proposes the use of Blockchain as
a database for voting system which stores the voter’s information as well as
the votes casted by the registered voter, securely and maintains transparency
over the whole process.
Keywords—Blockchain, e-voting, database.
following democracy, elections play a major role in deciding a government. In a
democracy, election is done through voting, hence, voting is a crucial event.
There have been many ways to cast votes and with time the methods have
developed. E-voting was introduced a few years ago to increase number of
voters, to reduce fake voting and improve security in the voting system.
Electronic voting Machine (EVM) were also introduced for the same purpose, but
E-voting precisely helped the voters to vote from any location, which as a
result increase number of voters. Security is a major concern when talking
about the digital systems. This security can be achieved by various techniques.
One such way is using Blockchain technology. Blockchain technology originate
from the underlined architectural design of the cryptocurrency Bitcoin 2. Using Blockchain we can obtain a secure and
robust system for e-voting. In this Proposal a Blockchain is used as a database
to store casted vote and also the information of the registered voters. These
two databases are used in synchronization with each other to keep a track that
no duplication of votes. The proposed method is discussed in the following
was first defined in the original source code for Bitcoin 3. It was
conceptualized by an anonymous person or group known as Satoshi Nakamoto 2.
It use the technology of peer-to-peer networking in combination with public key
cryptography and Blockchain algorithm. it was first introduced as a distributed
ledger for digital currency. the technology gained more applications with time
and researches are going on to implement blockchain in various applications.
The primary block of the Block chain is known as
‘genesis Block’ or ‘Block 0’ 2. The first block that is the ‘Block 0’ is
coded in the algorithm and after that a new block gets added to it if a request
is created. Every block that is created has a transaction data part 2, every
copy is hashed and paired with another hashed copy. this is continued till a
single has remains 2. As explained previously, it works on peer-to-peer
network, hence, when a request is generated a peer gets connected with another
peer and data or transaction exchange takes place. This creates a decentralized
network 2. The following figure 1 2 describes the Hash table.
Fig1. Hash table 1
as a Database:
In our proposed paper we are using Blockchain
as a database because of its highlighted features like decentralized network,
data transparency and timestamping. This decentralization will remove singular
control over the system, and a small failure will not lead to a complete
failure. The Blockchain database will store votes of the citizens and there can
be no changes made once the votes are stored in the blocks. In the proposed
scheme we use two different types of Blockchain databases, one which store the
information of registered voters, namely, their name, age, sex, address,
birthdates, etc. The second type will store the votes casted by the citizens
and these two types of databases will be synchronised with each other so that
there is no duplication of votes on the name of single candidate. The date and
time will also be stored. More detailed working of the proposed system is
explained in the following sections.
5. Proposed Scheme
The scheme that is being proposed in this paper is not the
replacement of current voting system. Infact, it is the integration of new
system with current system. This would help in providing many other ways for
voting so that it becomes accessible to majority of people. Thus, rather than
relying on conventional mode of voting, one can have other option which can be
secure. Subsequent portions highlight the important segments of the proposed
Registration essentially implies the verification of voter,
whether the person is eligible for voting in the designated voting ward. This
is the first step in ensuring security within voting system. It is well known
fact that every vote counts and there should not be case of bogus voting. The proposed
design for the registration is as
For letting the users to register to vote in proposed service
will require information to be filled in both forms-postal based and web based.
This takes care of the voters who don’t have internet access. The important data required are their national
identity number (an example would be AADHAR number in India which is a
citizen’s national insurance number), residence address with postal code, date
of birth. This information allows the voters to create a transaction on the
voter blockchain in agreement with the government.
After registering, it is on discretion of the miner to decide
whether to verify the user or not based on transaction analysis. Once the
verification is successfully accomplished, they will then receive a voter’s
card with all the information that the user is verified, they will be sent a
hard copy of the ballot card with their information and a copy of the card on
email address, if mentioned on the form. A password, which is randomly
generated is also sent to the voters which will then be used on the polling
stations. Once this correspondence has been sent, the miner will create a
transaction giving the user a vote from an infinite government pool of votes on
the voter blockchain.
An important function of the voter blockchain is to keep a
track of both transactions involved in every step for each user.
1. The transaction is created on registration by the user
2. Next is done when the user’s right to vote is authorized
by the miner
On receipt of the correspondence, the user looks forward to
using their credentials for voting at poll stations. This voter blockchain will
never consist of details of the vote casted by the user.
5.2 Voting Mechanism and Architecture
The underlying concept for the architecture is adopted from
both the distributed and availability of the Bitcoin network and When deciding
on the architecture we took strong inspiration from both the distributed and
the combination process of conventional voting. The two distinct blockchains is
housed in the architecture which consists of multiple abstract tiers: National,
state and city. (Appendix B Figure 5)
The city tier consisting of all the digital polling stations
across the country is associated to a state node. A city node is organized such
that it can only communicate with the other city nodes beneath the associated state
node and the state node itself. The state tier consists entire nodes which are
at the state level. These nodes are interconnected and form a subset of the
voting booths depending on the location.
The uppermost national tier is a union of nodes that are not
tied to location, their sole purpose being mining the transactions and adding
blocks to the vote blockchain. This can be created in such way that all state nodes
connect to a national node and all national nodes can intercommunicate. There
will be independent bodies that will conduct monitoring and audit of the voting
process. These bodies will have access to the national node to verify whether
the unencrypted results match with the encrypted votes.
The national node can be any individual or organization. They
can also be treated as miners for counting the votes. These applications must
abide by the minimum standards set by the government. The proposed scheme has an encryption method
consisting public and private keys and implements a structure consisting a
segregated data in the blockchain. The state nodes generate key pairs to
The connected voting booths are then informed about the
public key and use these public keys for encryption of any vote made to that
voting booth. The information is stored in encrypted format within the
blockchain and circulates out to the entire network. Each state consists different public key
implying that major portions of data will be encrypted in a different manner. This
ensures prevention of decrypting the voter data by any random person before the
deadline ends. Any hacker who is able to access the state private key can only decrypt
certain portions of the blockchain without understanding the final outcome.
After the deadline ends, the software within the state nodes issues the private
keys which helps the blockchain network to decrypt the data. The votes are
counted in this manner.
5.3 The Voting Process
A user is authenticated based on three important details:
personal identification number (e.g. AADHAAR card number as in Indian citizens),
the password sent to the voters after successful registration and finally the
QR code on the ballot card. Different methods of voting will require the user
to input the details in a different manner. Any voter in a particular state
will be able to vote at a designated voting booth in city belonging to that
state through the URL printed on the voter’s card or via internet. This is made possible through the state having
a web address of own and also an URL so that the votes are accumulated inside
the correct network.
Another important aspect would be checking whether the voter
has already voted in the polling booth and this is confirmed only after
consultation with the voter blockchain. In case the user has used their vote,
the system will immediately respond to the user., otherwise it will allow the
user to vote through the voting screen.
Once the vote is selected from list of options which also
includes denial of vote as one of the options, the vote becomes a transaction
after the submission is complete. This vote will then be encrypted with
corresponding state’s public key. It is then transferred to the state node
which is followed by a bock addition and then the update is sent to all other
nodes which are connected to the state node. These connected nodes keep passing
the data to their peers until the entire network is updated. On confirmation of
vote, a transaction is then generated by the voting booth for removing the
user’s vote from the voter blockchain. The most important aspect of the
proposed scheme is anonymity which is ensured by holding separate blockchains
for distinct purposes- one, containing all the transactions about which users
have registered vote and which have not, and the second consisting the details
about the vote (the party for which the vote was casted).8
6. Analysis of the Design
The design is aimed at reducing the potential attacks. The
design is being evaluated and analyzed from all angles for all steps of the
voting process. The potential risks
related to the scheme will be discussed and recommendations for mitigating
these risks are provided.
The first risk that comes to anyone’s mind is when the voter
forgets their ID and password or voting card on the voting day. The voters will
not be able to vote as they won’t be able to log into the system. One way to
mitigate this would be asking the voter to return sometime later in the day
with all correct details or any other backup authentication tool which could be
through a phone call or regenerating/ resetting the password by sending a link
on the email id. But this makes it more vulnerable for the voting system to be
attacked by the hackers. Thus, the chances of an attack through this design is
half. Another possible instance of an attack could be controlling the voting
rate and manipulate the public ledger.
However, there are very weak chances of such attacks as this
shall require highly automated machine that are expensive. An additional
security of auditor is ensured through checking and tracking the number of
people in network with the locations of each node, which is lacked by systems
The biggest threat is the online aspect of voting which will
invite the hackers to exploit the voting by their devices in numerous ways. To
mitigate this, a special software can be developed which can only be downloaded
in the client’s machine so that the connection with the voting booth is
The proposed design involves
machines from both government and public infrastructure in a geographical
distributed network. Two different blockchains are created, one for who has
voted and the other for which party has been voted. Separate handling of these
blockchains helps in mitigating the risk of linking votes from the certain
parties to individual voters. Also, a track of who has voted and how many votes
are present are also maintained with the help of these blockchains. Information
about who has voted is will ensure that each vote is unique and the vote from
same voter is not repeated. A 3 way
authentication system allows a secure voting with minimum chances of hacking9.
One important issue which emphasized is that the voter must not be forced to
cast the vote to a particular party, which is ensured by submission prompt
button that is displayed on the voting screen. This removes the chances of any
sort of accidental vote. An encryption mechanism
used in the design makes it nearly impossible for anyone to access all vote
without gaining an access to entire service network.