BCT Mini Proj

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

SAVITRIBAI PHULE PUNE UNIVERSITY

A MINI PROJECT REPORT ON

“Create a dApp (de-centralized app) for e-voting system”

Submitted by

CLASS: BE

Abhishek Patil Roll no: 11(B)


Jaydip Vidhate Roll no: 67(B)
Manas Mendhekar Roll no: 77(A)
Tejas Wagh Roll no: 69(B)

Under the Guidance of


Prof. Rohini Rankhamb

DEPARTMENT OF COMPUTER ENGINEERING


RMD SINHGAD SCHOOL OF ENGINEERING
WARJE, PUNE 41105
DEPARTMENT OF COMPUTER ENGINEERING
RMD SINHGAD SCHOOL OF ENGINEERING
WARJE, PUNE 411058

CERTIFICATE

This is to certify that the project report entitles

“Create a dApp (de-centralized app) for e-voting system”

Submitted by

Name: Tejas Wagh PRN No: 72036030H

is a bonafide work carried out by them under the supervision of Ms. Rohini Rankhamb.And
it is submitted towards the partial fulfilment of the requirement of University of Pune for
Final Year.

(Prof. Rohini Rankhamb) (Mrs. Vina M. Lomte)


Guide Head,
Department of Computer Engineering Department of Computer Engineering

(Dr. V.V. Dixit)


Principal,
Certificate by Guide

This is to certify that Mr. Tejas Wagh has completed the MINI Project work under my guidance
and supervision and that, I have verified the work for its originality in documentation, problem
statement, implementation and results presented in the Project. Any reproduction of other
necessary work is with the prior permission and has given due ownership and included in the
references.

Place:

Date:

Signature of Guide

Prof.Rohini Rankhamb
CONTENTS

Sr. No TITLE Page no

1. Abstract 1

2. Introduction 2

3. Methodology 3

6. Conclusion 6

7. Reference 7
1. Abstract

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

Voting is a fundamental part of democratic systems; it gives individuals in a community the


faculty to voice their opinion. In recent years, voter turnout has diminished while concerns
regarding integrity, security, and accessibility of current voting systems have escalated. E-
Voting was introduced to address those concerns; however, it is not cost-effective and still
requires full supervision by a central authority. The block chain is an emerging,
decentralized, and distributed technology that promises to enhance different aspects of many
industries.

Expanding e-voting into block chain technology could be the solution to alleviate the present
concerns in e-voting. In this paper, we propose a block chain-based voting system, named e-
Vote that preserves voter privacy and increases accessibility, while keeping the voting system
transparent, secure, and cost-effective. E-Vote implements a university-scaled voting
framework that utilizes Ethereum’s block chain and smart contracts to achieve voter
administration and auditable voting records. In addition, e-Vote utilizes a few cryptographic
techniques, including homomorphic encryption, to promote voter privacy. Our
implementation was deployed on Ethereum’sTestnet to demonstrate usability, scalability, and
efficiency.

The blockchain-based voting project has two modules to make the whole project integrated
and work along. One will be the Election Commission who will be responsible for creating
elections, adding registered parties and candidates contesting for the election added under the
smart contracts. The other end will be the voter's module where each individual can cast a
vote.

1
2. Introduction
2.1.Introduction
Internet is the greatest thing invented humanity. But there are some flaws on the. But there
are some flaws on the internet. Consider a situation where you are depositing money or
casting a vote, there is a single point of authority, and we are supposed to believe him/her
with our data/money/vote. The limitation of the present system is a single point of
control/failure. The Authority may or may not Authority be telling the truth or corrupted. The
solution to this is to employ a decentralised and distributed system where the consensus of
the users/peers is used to evaluate the transactions./votes/data.
2.2 What is Blockchain ?
A blockchain is a collection of blocks linked together with chains using cryptography.
Blockchain is one of the emerging technologies with strong cryptographic foundations
enabling applications to leverage these abilities to achieve resilient security solutions. Here
the data is divided into blocks and linked together. Each block is associated with a hash value
(which represents the block), and the (which represents the block), and the link is made link
is made possible by listing the possible by listing the hash of the previous block into the
current block. To summarise a block consists of the data section, hash, section, hash, previous
hash.
Now the created chain of blocks doesn’t get stored in a single computer in a single computer.
All the users he users have their own copy of the blockchain which known as Distributed
Ledger.
If someone tries to tamper with the data, the hash value gets changed, hash value gets
changed, and the link is broken and the link is broken. To make the attempt successful, the
attacker needs to change and recalculate the hashes of subsequent blocks. Each block, when
created, is curated by the users and based on their consensus, and the block may be added or
rejected. Hence the blockchains provide Security, Immutability and Transparency.
There are three main types of blockchains in practice; they are Public, Private and
Consortium Blockchain.
2.3.Election Process
The election is a formal way of making decisions. A democratic society has its foundations
from voting. Elections are powerful as they are the deciding factors for the fate of an
organisation/country organisation/country. The question of Transparency and parency and
Security is still unanswered.
• Administrator – Manages and conducts the election
• Candidate – Participant in the election
• Voter – Person who is entitled to vote

2
Traditional elections use a centralised system where a body is trusted to conduct and manage
the whole process. Some problems with this structure are administrative authority may be
compromised, tampered may be occurred.

3. Methodology

3.1. Problem Statement


Several studies have been done on using computer technologies to improve elections. These
studies tell about the risks of adopting electronic voting system, because of the software
challenges, insider threats, network vulnerabilities, and the challenges of auditing.
3.2. Aim & Objective
The main objective of this project is to build a web application using blockchain technology
where people can vote from anywhere if he/she possess a valid Citizenship of respective
country where he/she wants to vote and protect each and every vote to ensure that each and
every vote matters.
The vast majority of the ongoing work discusses security, exactness, respectability,
quickness, protection, and review capacity however existing frameworks are powerless for
assaults at some degree.
Disadvantages of Existing System:
1. Centralized architecture.
2. Attack prone.
3. Not trustable.
4. Non-transparent vote casting process.
The existing systems are prone to attacks and are either easily hackable or very difficult to
maintain. Data integrity and security are the major concerns and the proposed solution should
be able to address all the short comings of the existing systems.

Voting is an integral part of a democratic society. It is a decision making mechanism and


security plays an important role in voting. The existing systems are:
1. Ballot System: In India, before 2004 there was a paper-based voting system. This is called
as ballot Paper system. It is placed in the election booth and is used the voters.
2. Electronic Control System: In order to overcome duplication and damage of ballot
problems Electronic Voting Machines Were introduced. It stores and assembles votes, used
by poll workers.

3
3. Current Digital Voting Systems: A number of digital voting systems are currently in use in
countries around the world. We researched some of these systems to familiarise ourselves
with current implementations, particularly Estonia.
Estonia has had electronic voting since 2005 and in 2007 was the first country in the world to
allow online voting. In the 2015 parliamentary election 30.5% of all votes were made though
the nation’s i-voting system (VabariigiValimiskomisjon, 2016). The bases of this system is
the national ID card that all Estonian citizens are given.
These cards contain encrypted files that identify the owner and allows the owner to carry out
a number of online and electronic activities including online banking services, digitally
signing documents, access their information on government databases and i-voting.
(Electronic ID card, no date)

3.3. System Requirement


Build a predictive model that answers the question: “what sorts of people were more likely to
Functional Requirements
Functional Requirement defines a function of software system and how the system must
behave when presented with specific inputs or conditions. These may include calculations,
data manipulation and processing and other specific functionality. The functional
requirements of the project are one of the most important aspects in terms of entire
mechanism of modules.
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.

Non-Functional Requirements

4
Reliability
The framework ought to be dependable and solid in giving the functionalities. When a client
has rolled out a few improvements, the progressions must be made unmistakable by the
framework. The progressions made by the Programmer ought to be unmistakable both to the
Project pioneer and in addition the Test designer.
Security
Aside from bug following the framework must give important security and must secure the
entire procedure from smashing. As innovation started to develop in quick rate the security
turned into the significant concern of an association. A great many dollars are put resources
into giving security. Bug following conveys the greatest security accessible at the most
noteworthy execution rate conceivable, guaranteeing that unapproved clients can't get to
imperative issue data without consent. Bug following framework issues diverse validated
clients their mystery passwords so there are limited functionalities for all the clients.
Maintainability
The framework observing and upkeep ought to be basic and target in its approach. There
should not be an excess of occupations running on diverse machines such that it gets hard to
screen whether the employments are running without lapses.
Performance
The framework will be utilized by numerous representatives all the while. Since the
framework will be facilitated on a solitary web server with a solitary database server out of
sight, execution turns into a noteworthy concern. The framework ought not succumb when
numerous clients would be utilizing it all the while. It ought to permit quick availability to
every last bit of its clients. For instance, if two test specialists are all the while attempting to
report the vicinity of a bug, then there ought not to be any irregularity at the same time.
DEPT. OF CSE, AMCEC 9
Hardware Requirements
• Processor type : Intel core i5 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
Software Requirements
• Operating System : Windows 7 (32 bit and 64 bit) and Above
• Development Environment : Solidity Programming, Web Development (CSS, HTML,
JAVA SCRIPT)
• Scripting Language : Solidity Proramming
• Decentralized Applications :Ethereum Framework ie. Truffle and Ganache
5
• Browser : Google Chrome
• Add-on in Browser :Metamask
• Software : Visual Studio or Similar IDE

Conclusion

A reliable and truthful voting system is crucial for any democratic society.
Democracies depend on trusted elections and citizens should trust the election
system for a strong democracy. However traditional paper-based elections do
not provide trustworthiness. The idea of adapting digital voting systems to
make the public electoral process cheaper, faster and easier, is a compelling
one in modern society.

Making the electoral process cheap and quick, normalizes it in the eyes of the
voters, removes a certain power barrier between the voter and the elected
official and puts a certain amount of pressure on the elected official. It also
opens the door for a more direct form of democracy, allowing voters to
express their will on individual bills and propositions.

This project has been developed to a blockchain-based electronic voting


system that utilizes smart contracts to enable secure and cost-efficient
election while guaranteeing voters privacy. It outlines the systems
architecture, the design, and a security analysis of the system.

In the next build of this application, it has been proposed to create separate
client designs for various roles such as one for election commission and one
for candidates registered to a certain party with the existing voting client
design. Also, the current versions lack authentication as we don’t have access
to current Aadhar’s or Voter SDK to integrate in our application. Also, it is
planned that in the next build notification prompt will be given on the day of

6
voting to all the voters to cast their vote so that the voter turnout is maximum
for that election.

Reference

[1] Wolchok, Scott, et al. "Security analysis of India's electronic voting machines."
Proceedings of the 17th ACM conference on Computer and communications security. ACM,
2010.

[2] Ohlin, Jens David. "Did Russian cyber interference in the 2016 election violate
international law." Tex. L. Rev. 95 (2016): 1579.

[3] Ayed, Ahmed Ben. "A conceptual secure blockchain-based electronic voting system."
International Journal of Network Security & Its Applications 9.3 (2017): 01-09.

[4] Hanifatunnisa, Rifa, and Budi Rahardjo. "Blockchain based e-voting recording system
design." 2017 11th International Conference on Telecommunication Systems Services and
Applications. IEEE, 2017.

[5] Yu, Bin, et al. "Platform-independent secure blockchain-based voting system."


International Conference on Information Security. Springer, Cham, 2018.

Book Used

• PHP For Dummies

• Mastering BlockchainBy Imran Bashir

• Blockchain Blue Print for New Economy By Melanie Swan

• HTML & CSS: Design and Build Web Sites

• PHP Begineers Guide ByMcGrawhill Publication

7
• Fundamentals of Database Systems, Seventh Edition, Elmasri, Navathe, Pearson

• JavascriptByMcGrawhill Publication

• The Complete Reference J2EE, Seventh Edition, Mc-Graw Hill

• A Beginner's Guide to Building Responsive Layouts with Bootstrap 4

• Decentralized Applications BySirajRaval

You might also like