Abstract
Secure Voting with Blockchain is e-voting systems which provided the goal of increasing security and
minimizing cost. Blockchain is a major breakthrough in the technological industry that
provide immense secured platform. With the launch of Ethereum, a decentralized platform
which runs decentralized applications on it, a secured voting system now seems possible.
There’s a very high chance that a normal voting method won’t lead to a clear majority.
There can be many ways to deal with this issue which includes another voting process to
take place which can be quite expensive in terms of time and resources. With this new vote trading concept where the votes can be cast online. We discuss the design for the
blockchain based preferential e-voting system using HTML, CSS, JavaScript at front end
and truffle framework, node js, metamask, Solidity programming language where we
provided one vote per candidate.
Click here to download abstract
Introduction
Voting system is a very crucial activity of all democratic country. The traditional
voting system is leading to lot of expenditure and very un-convenient to the enduser. A whole world is exploring a secure and reliable voting system which can
take care of user convenient. The advent of block chain technology has given a new
hope towards the development of secure and convenient voting system.
Block chain is the public distributed database, which holds the encrypted ledger.
The reason behind encrypted, is to keep the details of the user anonymous. Instead
of a centralized database, all the transaction data that is shared across the nodes in
the blockchain is contained in bundles of records called blocks, which are chained
together to create the public ledger. This public ledger represents all the data in the
blockchain. All the data in the public ledger is secured by cryptographic hashing,
and validated by a consensus algorithm. Nodes on the network participate to ensure
that all copies of the data distributed across the network are the same. That’s one
very important reason why we’re building our voting application on the blockchain,
because we want to ensure that our vote was counted, and that it did not change.
Since, block chain technology prevents the recorded vote from any short of
tempering at the same time it offers to changes the casted option to the legitimate
user.
Literature Review
Some of the evident work done to reflect these benefits are as follows:
i. Very Vote System by Rui Joaquim, Carlos Ribeiro, and Paulo Ferreira in which
they provide the threshold encryption scheme which enable the vote and the
verification without compromising the voters privacy.
ii. Securing e-voting based on blockchain in P2P network by Haibo Yi in which
they provided the user credential system and compute the hash value which are
based upon SHA-256. It usually used to compare the hash value to expected hash
value for the Data Integrity.
iii. Secure Digital Voting System based on Blockchain Technology by Kashif
Mehboob Khan, Junaid Arshad, Muhammad Mubashir Khan NED University of
Engineering and Technology where they use the concept of Multichain to protect
the anonymity and integrity of a vote. Their System Generate the Strong
Cryptographic Hash for Each Vote Transaction based on specific user.
Implementation
Secure Voting with Blockchain is implemented as follows. The user needs an account with a wallet address with some Ether, Ethereum’s
cryptocurrency. Once they connect to the network, they cast their vote and pay a
small transaction fee to write this transaction to the blockchain. This transaction fee
is called “gas”. Whenever the vote is cast, some of the nodes on the network, called
miners, compete to complete this transaction. The miner who completes this
transaction is awarded the Ether that we paid to vote.
Smart contracts are where all the business logic of our application lives. This is
where we’ll actually code the decentralized portion our app. Smart contracts are in
charge of reading and writing data to the blockchain, as well as executing business
logic. Smart contacts are written in a programming language called Solidity,
Smart Contracts
The function of smart contracts on the Bock-chain is very similar to a microservice
on the web. If the public ledger represents the database layer of the blockchain, then
smart contracts are where all the business logic that transacts with that data lives.
We’ll have a traditional front-end client that is written in HTML, CSS, and
JavaScript. Instead of talking to a back-end server, this client will connect to a local
Ethereum blockchain that we’ll install.
We’ll code all the business logic about our dapp in an Election smart contract with
the Solidity programming language. We’ll deploy this smart contract to our local
Ethereum blockchain, and allow accounts to start voting. We’ll build a client-side
application that will talk to our smart contract on the blockchain. This client-side
application will have a table of candidates that lists each candidate’s id, name, and
vote count. It will have a form where we can cast a vote for our desired candidate.
It also shows the account we’re connected to the blockchain with under “public
address” which are unique each user.
Click here to learn advanced java with block chain
Click here to explore more blockchain projects