Proposal Report
Proposal Report
1. Introduction .............................................................................................................................................. 2
2. Problem Statement ................................................................................................................................... 2
3. Objective ................................................................................................................................................... 2
4. Scope and Limitation................................................................................................................................. 3
5. Methodology ............................................................................................................................................. 3
5.1 Requirement Identification ................................................................................................................. 3
5.1.1 Study of existing system .............................................................................................................. 3
5.2 Feasibility Study .................................................................................................................................. 4
6. Tools .......................................................................................................................................................... 5
6.1 Design and analysis tools .................................................................................................................... 5
6.2 Implementation tools ......................................................................................................................... 5
7. Algorithm used .......................................................................................................................................... 5
7.1 RSA algorithm...................................................................................................................................... 5
7.2 Other Blockchain algorithms............................................................................................................... 5
8. Client/Admin side features ....................................................................................................................... 6
8.1 Client-side features ............................................................................................................................. 6
8.2 Admin side features ............................................................................................................................ 6
9. Expected Outcome .................................................................................................................................... 6
1
1. Introduction
E-voting, or electronic voting, refers to the use of electronic systems to cast and count votes in an
election. E-voting has the potential to improve the convenience, accessibility, and security of the voting
process. However, it also introduces new challenges, such as the need to ensure the integrity and
confidentiality of the vote, and to prevent fraud or manipulation.
One approach to addressing these challenges is the use of blockchain technology in e-voting systems.
Blockchain is a distributed ledger technology that allows for the secure and transparent recording of
transactions. In the context of e-voting, a blockchain-based system could be used to store and verify the
votes cast in an election.
This report will explore the use of blockchain technology in e-voting web apps, including the benefits
and challenges of this approach. The report will also discuss current and potential future developments
in the field, and consider the implications for the future of voting.
2. Problem Statement
Despite the ease and enhanced accessibility that electronic voting may offer, there are still persistent
worries regarding the security, secrecy, and integrity of these systems. Voters may be forced to trust a
third party authority, such as the election commission, because the votes may have been tampered with
and they may not be able to confirm the accuracy of the election. By offering a safe and transparent way
to record and validate votes, blockchain technology has the ability to allay some of these worries.
3. Objective
The objectives of the e-voting system based on blockchain are:
2. To enable remote voting: Blockchain-based e-voting systems can allow voters to cast their
ballots remotely, either through the internet or via a mobile. This can make it more convenient
for voters and potentially increase participation in elections.
3. To improve the efficiency and speed of the voting process: Traditional voting methods, such as
paper ballots, can be time-consuming and prone to errors. E-voting systems can streamline the
process and reduce the risk of mistakes, resulting in faster and more accurate vote counts.
4. To reduce the cost of elections: By automating many of the tasks involved in the voting process,
e-voting systems can potentially reduce the cost of running elections.
5. To protect the privacy of voters: A properly designed e-voting system based on blockchain
should be able to protect the privacy of voters by using cryptographic techniques to ensure that
their votes are anonymous.
2
6. To support the decentralization of the electoral process: Blockchain technology is based on
decentralized networks, which can help distribute power and control among different
stakeholders. This could potentially enable more democratic and inclusive electoral processes.
The system will enable voting through electronic means, such as the internet or mobile browser.
The system will use blockchain technology to ensure the security, transparency, and auditability
of the voting process.
The system will support remote voting, allowing voters to cast their ballots from anywhere with
an internet connection.
The system may support various types of elections, such as national, regional, or local elections.
Limitations:
The system may not be suitable for all types of elections or voting contexts. For example, it may
not be appropriate for elections with low voter turnout or for places with limited internet
infrastructure.
The system may require significant resources and expertise to implement and maintain, which
could pose a challenge in some contexts.
5. Methodology
5.1 Requirement Identification
5.1.1 Study of existing system
We have thoroughly studied the existing e-voting systems that use blockchain technology. There are
several existing e-voting systems that use blockchain technology. Some examples include:
Sierra Leone Presidential Elections: In 2018, Sierra Leone became the first country to use a blockchain-
based voting system in a national election. The system was developed by Agora, a Swiss-based
blockchain company, and was used to tally the votes in the presidential election.
West Virginia Secretary of State: In 2018, the state of West Virginia conducted a pilot project using a
blockchain-based e-voting system for military personnel overseas. The system was developed by Voatz,
a startup that specializes in mobile voting solutions. The pilot was deemed a success, with over 150
military personnel casting their ballots using the system.
Moscow Blockchain Voting Experiment: In 2019, the Moscow city government conducted an
experiment using a blockchain-based voting system for local elections. The system was developed by the
Russian company Kaspersky Lab and was used to vote on a range of issues, including the budget and the
development of a new park.
3
5.2 Feasibility Study
Technical Feasibility: The e-voting system will need a secure and reliable network infrastructure to
support it, including internet connectivity and hardware such as servers and storage. This simply
demands devices such as computers and mobile phones for voters to use and software for managing the
voting process.
Economic Feasibility: The e-voting system does require initial hardware and software purchases. A
blockchain platform like Ethereum costs money to deploy smart contracts and charges per transaction
based on gas prices. However, in the long run, it results in cost savings due to reduced costs for printing
and distributing paper ballots.
Operational Feasibility: Users don’t require high technical skills to cast their vote besides general
computer (or internet) knowledge. It automates the vote-counting process. The resources required to
operate the system can be easily accessible and at a lower cost.
Schedule Feasibility:
The project will be completed within the deadline. The schedule feasibility of the application is:
4
6. Tools
6.1 Design and analysis tools
Diagramming tools - For creating visual representation of the system such as flowchart, use case
diagram, DFDs, tools like Draw.io will be used.
Prototyping tools – Figma will be used for building prototypes of the system.
Project management tools – Notion will be used to manage and co-ordinate overall project.
The UI of the system will be built with Next JS and Tailwind CSS.
Backend
Node JS will be used to build a server. Solidity will be used to write smart contracts. Mongo DB will be
used as primary database for storing user information and other related data.
Blockchain platform
A blockchain platform - Ethereum will be used to build and deploy the e-voting system on the
blockchain.
Development tools
Visual studio code will be used as primary code editor and version control systems like git will be used to
build and manage the codebase for the e-voting system.
7. Algorithm used
7.1 RSA algorithm
RSA is a widely used public-key cryptography algorithm that allows for secure communication, based on
the idea of using two different keys for the encryption and decryption process: a public key that is used
to encrypt the message, and a private key that is used to decrypt the message. Working of RSA: Key
Generation: First, a user generates a pair of keys – a public key and a private key. Encryption: The sender
uses the recipient's public key to encrypt the message. Decryption: The recipient uses their private key
to decrypt the message.
Proof of Stake(PoS): In a proof-of-stake system, the probability of a node being chosen to create the
next block is proportional to its stake (how many coins it holds) in the network. This process is more
energy-efficient than proof-of-work, but it can be more vulnerable to certain types of attacks.
5
8. Client/Admin side features
8.1 Client-side features
1. The voter gets their both private and public keys after successful registration where they need
to store their private key by themselves to use at the time of voting.
2. A voter can make registration if and only if the voter id details match with sim card details.
3. Voters can view the candidate's information After voters vote, they will receive the hash id in
their email through which the votes will be transparent.
9. Expected Outcome
The expected deliverables of this project include a detailed report, a presentation, and a working
prototype of the e-voting system. The report will summarize our findings and provide recommendations
for how to improve the design and implementation of blockchain-based e-voting systems. The
presentation will provide a summary of the key points of the report, and the working prototype will
demonstrate the capabilities of the e-voting system.