0% found this document useful (0 votes)
32 views47 pages

Design and Implementaation of Blockchain Voting System

This document presents a project on the design and implementation of a blockchain-based voting system by Muhammad Jamiu Habeb Abolaji, aimed at enhancing the security, transparency, and integrity of the electoral process in Nigeria. The proposed system leverages blockchain technology to address issues such as vote manipulation and lack of voter anonymity, ensuring that each vote is securely recorded and verifiable. The study outlines the objectives, significance, and scope of the project, emphasizing the potential of blockchain to revolutionize voting systems and restore public trust in democratic processes.

Uploaded by

Issa Ismaila
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views47 pages

Design and Implementaation of Blockchain Voting System

This document presents a project on the design and implementation of a blockchain-based voting system by Muhammad Jamiu Habeb Abolaji, aimed at enhancing the security, transparency, and integrity of the electoral process in Nigeria. The proposed system leverages blockchain technology to address issues such as vote manipulation and lack of voter anonymity, ensuring that each vote is securely recorded and verifiable. The study outlines the objectives, significance, and scope of the project, emphasizing the potential of blockchain to revolutionize voting systems and restore public trust in democratic processes.

Uploaded by

Issa Ismaila
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 47

DESIGN AND IMPLEMENTAATION OF BLOCKCHAIN VOTING

SYSTEM

MUHAMMAD JAMIU HABEEB ABOLAJI


WITH
CS/HND/F22/3368

SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE,


IN PARTIAL FULFILMENT FOR THE AWARD OF HIGHER
NATIONAL DIPLOMA (HND) IN COMPUTER SCIENCE.
SCHOOL OF APPLIED SCIENCES AND TECHNOLOGY
FEDERAL POLYTECHNIC, OFFA
P.M.B. 420, OFFA, KWARA STATE, NIGERIA.

SUPERVISED BY:
DR SALIMONU, R.I. (PhD)

2023/2024
CERTIFICATION

I certify that this project was carried out by me MUHAMMAD JAMIU HABEEB
ABOLAJI with matric numbers (CS/HND/F22/3368), a student of the department
of Computer Science, School of Applied Sciences and Technology, Federal
Polytechnic, Offa, Kwara State. In partial fulfilment of the requirements for the
award of Higher National Diploma (HND) in Computer Science.

_____________________________ _______________________

MUHAMMAD JAMIU HABEEB ABOLAJI DATE

PROJECT STUDENT

i
APPROVAL PAGE

This project work carried out by MUHAMMAD JAMIU HABEEB ABOLAJI


with matric numbers (CS/HND/F22/3368), has been read and approved by my
supervisor for submission to the department of Computer Science, School of Applied
Sciences and Technology, Federal Polytechnic, Offa, Kwara State. In partial
fulfilments of the requirements for the award of Higher National Diploma (HND) in
Computer Science.

_____________________________ __________________________

SALIMONU, R. I. (PhD) DATE

PROJECT SUPERVISOR

_____________________________ __________________________

SALIMONU, R. I.(PhD) DATE

HEAD OF DEPARTMENT

ii
ABSTRACT

Voting refers to the submission of an election or an opinion on a specific matter by


expressing an intention on the ballot to a certain place. The existing voting method
has the burden of counting time and cost. For this reason, research has been
conducted to introduce an e-voting system. However, despite the advantages of e-
voting, it is not widely used due to the risk of manipulation of voting results and
various requirements. Recently, in order to reduce the risk of data manipulation,
research is being conducted to apply the blockchain, a technology that guarantees
data integrity, to e-voting. Blockchain guarantees the integrity of data, but has a
weakness in secrecy. This paper applies the critical encryption technique to the
blockchain and satisfies the requirements for voting such as verifiability, anonymity,
fairness, non-reusability, competence, safety, transparency, and non-ticketing. We
propose a system design and implementation method. The proposed blockchain-
based e-voting system provides voter anonymity by issuing a voter certificate based
on a blockchain address. The e-voting election monitoring committee generates a
threshold group encryption key, and the proposed blockchainbased e-voting system
guarantees confidentiality by a threshold group encryption algorithm during the
voting process. The voting result is encrypted through a homomorphic encryption
algorithm and stored in the blockchain. Thus, the released voting results ensure
safety, confidentiality, transparency, and non-vote ticketing. In addition, the
proposed blockchain-based e-voting system guarantees the unity and competence of
voting through the blockchain's smart contract.

iii
DEDICATION

[Pre-Chapter Body Text: The first line of each paragraph is not indented and the
lines are justified, i.e., the right margin is even rather than ragged.Paragraph are
formatted as follows: Times New Roman, Size 12, single spacing, Sentence case and
Justified.>

iv
ACKNOWLEDGEMENT

[Pre-Chapter Body Text: The first line of each paragraph is not indented and the
lines are justified, i.e., the right margin is even rather than ragged.Paragraph are
formatted as follows: Times New Roman, Size 12, spacing of 1.5 lines, Sentence
case and Justified.>

v
TABLE OF CONTENTS

CERTIFICATION.....................................................................................................................i
APPROVAL PAGE..................................................................................................................ii
ABSTRACT............................................................................................................................iii
DEDICATION.........................................................................................................................iv
ACKNOWLEDGEMENT........................................................................................................v
TABLE OF CONTENTS........................................................................................................vi
LIST OF TABLES..................................................................................................................vii
LIST OF FIGURES...............................................................................................................viii
LIST OF APPENDICES..........................................................................................................ix

CHAPTER ONE.........................................................................................................1
1.1 General Introduction
1.2 Statement of the Problem
1.3 Aim and Objectives
1.4 Significance of the Study
1.5 Scope of the Study
1.6 Limitation of the Study
1.7 Definition of terms

CHAPTER TWO........................................................................................................7
2.1 Theoretical Concept
2.2 Review of related work
CHAPTER THREE.................................................................................................17
3.1 Data Collection
3.2 Description of the proposed system
3.3 Analysis of the proposed system
3.4 System Design
CHAPTER FOUR....................................................................................................24
4.1 System Requirements
4.2 System Implementation
4.3 Results presentation
4.4 System Evaluation/Testing (optional)
4.5 System Documentation and Maintenance
4.6 Benefits of the System
CHAPTER FIVE......................................................................................................29
5.1 Summary
vi
5.2 Conclusion
5.3 Recommendation
REFERENCES.........................................................................................................32

APPENDIX
 FLOWCHART
 PROGRAM CODING
 PROGRAM OUTPUT

vii
LIST OF TABLES

LIST OF FIGURES

viii
LIST OF APPENDICES

ix
CHAPTER ONE

INTRODUCTION
1.1. General Introduction:

Elections are fundamental pillar of a democratic system enabling the general public
to express their views in the form of a vote. Due to their significance to our society,
the election process should be transparent and reliable so as to ensure participants of
its credibility. Within this context, the approach to voting has been an ever evolving
domain. This evolution is primarily driven by the efforts to make the system secure,
verifiable and transparent. In view of its significance, continuous efforts have been
made to improve overall efficiency and resilience of the voting system. Electronic
voting or e-voting has a profound role in this. Since its first use as punched-card
ballots in 1960’s, e-voting systems have achieved remarkable progress with its
adaption using the internet technologies (Gobel, 2024). However, evoting systems
must adhere to specific benchmark parameters so as to facilitate its widespread
adoption. These parameters include anonymity of the voter, integrity of the vote and
non-repudiation among others. Blockchain is one of the emerging technologies with
strong cryptographic foundations enabling applications to leverage these abilities to
achieve resilient security solutions. A Blockchain resembles a data structure which
maintains and shares all the transactions being executed through its genesis. It is
primarily a distributed decentralized database that maintains a complete list of
constantly germinating and growing data records secured from unauthorized
manipulating, tampering and revision. Blockchain allows every user to connect to
the network, send new transactions to it, verify transactions and create new blocks
(Rosenfeld, 2017). Each block is assigned a cryptographic hash (which may also be
treated as a finger print of the block) that remains valid as long as the data in the
block is not altered. If any changes are made in the block, the cryptographic hash
would change immediately indicating the change in the data which may be due to a
malicious activity. Therefore, due to its strong foundations in cryptography,
blockchain has been increasingly used to mitigate against unauthorized transactions
across various domains (Narayanan, 2019). Bitcoin remains the most distinguished
application of blockchain however researchers are keen to explore the use of
1
blockchain technology to facilitate applications across different domains leveraging
benefits such as non-repudiation, integrity and anonymity. In this paper, we explore
the use of blockchain to facilitate e-voting applications with the ability to assure
voter anonymity, vote integrity and end-to verification. We believe e-voting can
leverage from fundamental block chain features such as self-cryptographic validation
structure among transactions (through hashes) and public availability of distributed
ledger of records. The block chain technology can play key role in the domain of
electronic voting due to inherent nature of preserving anonymity, maintaining
decentralized and publicly distributed ledger of transactions across all the nodes.
This makes block chain technology very efficient to deal with the threat of utilizing a
voting token more than once and the attempt to influence the transparency of the
result. The focus of our research is to investigate the key issues such as voter
anonymity, vote confidentiality and end-to-end verification. These challenges form
the foundation of an efficient voting system preserving the integrity of the voting
process. In this paper, we present our efforts to explore the use of the block chain
technology to seek solutions to these challenges. In particular, our system is based on
the Prêt à Voter approach (Ryan, 2022) and uses an open source block chain
platform, Multichain (Multichain, 2017)as the underlying technology to develop our
system. In order to protect the anonymity and integrity of a vote, the system
generates strong cryptographic hash for each vote transaction based on information
specific to a voter. This hash is also communicated to the voter using encrypted
channels to facilitate verification. The system therefore conforms with the
fundamental requirements of an e-voting system as identified by (Rura et al, 2016).
More discussion around this is presented in section. The rest of the paper is
organized as follows: the next section presents the requirements for an e-voting
system as identified by (Rura et al, 2016) and explains how our proposed system
fulfils them. the paper identifying current progress and plans for further work. In
the modern era, traditional voting systems often face challenges related to security,
transparency, and accessibility. Manipulation of votes, coercion, and tampering of
results are common issues. The block chain technology offers a promising solution
by providing a decentralized, secure, transparent, and immutable platform for voting.
The use of block chain can revolutionize the way we conduct elections, enabling a
2
tamper-proof and trust less system. Each vote can be securely recorded on the block
chain, ensuring the integrity of the electoral process and enhancing public trust in
democratic systems. Nigeria has a long history of electoral fraud, with allegations of
vote rigging, ballot stuffing, and other irregularities being common. This has led to a
lack of trust in the electoral process among the Nigerian people, and has contributed
to low voter turnout.

 Block chain technology has the potential to revolutionize the way that
elections are conducted.
 Block chain is a distributed ledger technology that is secure, transparent, and
tamper-proof. This makes it ideal for use in voting systems, as it can help to
prevent fraud and ensure that every vote is counted accurately.

1.2. Statement of the Problem:

The existing voting system in Nigeria grapples with various pressing challenges.
Firstly, its centralized structure exposes it to security vulnerabilities, making it prone
to hacking and tampering, thus jeopardizing the integrity of the electoral process.
Secondly, a lack of transparency in the voting process raises concerns among
citizens regarding fairness and the potential for manipulation. Thirdly, ensuring the
integrity and verification of voting data poses a significant challenge, leaving the
system susceptible to errors. In response to these issues, the central objective of this
project is to address these shortcomings by implementing a system using block chain
technology to establish a more secure and transparent voting cycle for Nigeria.

1.3. Aim and Objectives of the study:

The main objective of this project is to build a web application using block-chain
technology where people can vote from anywhere if he/she possess a valid
credentials or citizenship of respective organization or country where he/she wants to
vote and protect each and every vote to ensure that each and every vote matters.

3
Objectives:

The specific objectives are:

 Real time election result monitoring: One of the aims of this project is to
develop a system that makes use of block chain technology to actively
monitor elections in order to prevent results manipulation and to combat
rigging.
 User Authorization: The objective of user authorization in an e-voting block
chain system is to establish a reliable mechanism for ensuring that only
authorized and legitimate users are granted access to the system. By
implementing a login protocol, we aim to prevent fraudulent activities, such
as identity theft, and ensure that every vote cast is genuine and traceable to
the rightful voter.
 Evaluate and implement a block chain e-voting system: Block chain
technology provides high-level security for transactions, making it difficult
for hackers to access and manipulate data. This means that the block chain-
based e-voting system is more secure and less susceptible to fraud than a
regular e-voting system.
 The vast majority of the ongoing work discusses security, exactness,
transparency, respectability, and quickness, protection, and review capacity.

1.4. Significance of the Study:

This study would help increase the level of trust in the Country’s gradual shift in
implementing technology in its voting process and would also improve on the
existing voting system used in the most recent Nigerian federal and state elections
thus making it more accurate, less error prone, transparent, secure and faster and will
ensure a more free and fair electoral process ultimately leading to the conduct if
more credible elections.

Over the years technology related systems were developed and tested in order to
resolve some of the issues like electoral fraud, impersonation, double voting etc, and
4
example of such system can be found in the Federal government’s initiative to curb
malpractice during the last election cycle by the use of BVAS (Bimodal Voters
Accreditation System) and the IREV portal, but unfortunately the implementation of
both systems failed woefully. The implementation of this study would aim to address
all of the recurring issues we have witnessed over the last few years like the above
mentioned and other important areas such as voter security, time spent and many
more. So by taking these issues into consideration we have come up with a Block-
chain voting system.

1.5. Scope of the Study:

The scope of this project revolves around the development of a Web based voting
system that makes use of block-chain for vote security and accountability which will
allow users/voters to participate in elections regardless of their physical location.
Federal and State elections in Nigeria have been adopted as the case study for the
system to be developed.

1.6. Limitation of the Study:

It is important to mention that time and cost was a major constraint in the course of
fact finding. It is also wise to mention here that some information needed to work
with was not collected because of the unwillingness of the agency to reveal such
information. This leads to the scope of this project as mentioned above.

1.7. Definition of terms:

 Computerize – to store information in a computer system or process it by


computer
 Data – information, often in the form of facts or figures obtained from
experiments or surveys, used as a basis for making calculations or drawing
conclusions
 Database – a systematically arranged collection of computer data, structured
so that it can be automatically retrieved or manipulated
 Electronic – relating to, using, or accessed through a computer or computer
network, e.g. the Internet
5
 Software – programs and applications that can be run on a computer system,
e.g. word processing or database packages
 Validation – to register something formally and have its use officially
sanctioned
 Voting – a formal indication of somebody's choice or opinion, especially in
an election or referendum.

6
CHAPTER TWO
LITERATURE REVIEW
2.1 Theoretical Concept:
This literature review chapter explores the evolving landscape of blockchain-based
voting systems. According to (kramer, 2021) As societies become increasingly
digital, it is essential to assess the potential of blockchain technology to address the
challenges and vulnerabilities associated with conventional voting methods.
Traditional voting systems, despite their historical significance, have been marred by
issues like fraud, vote tampering, and doubts surrounding the integrity of the process.
Blockchain technology offers a novel approach to address these concerns. The
objective of this literature review is to analyse existing research and developments in
the realm of blockchain-based voting systems, providing a comprehensive
understanding of the state of the art in this field. It delves into the historical
background, key principles, advantages, and challenges of integrating blockchain
technology into the voting process. This review will highlight not only the successes
and potential advantages of blockchain voting but also the practical challenges,
security concerns, and regulatory considerations that need to be addressed. By
critically examining the existing literature, this chapter will establish the foundation
for the subsequent chapters that focus on the design and implementation of a
blockchain voting system. It will provide insights into the existing knowledge gaps
and areas where further research and innovation are required. In this section, we
introduce study done by few researchers. (QuocKhanh Nguyen, 2023) Proposed a
review paper on Block chain Technology for the Advancement of the Future. This
article gives an overall view of Blockchain technology and its potential to contribute
to the development of the future by proposing several directions for further research.
This paper proposed the effects of industrial revolution 4.0 to the society were robots
will replace humans completely in the work force. This paper explains the basic
operation of blockchain technology that is peer-to-peer decentralized ledger which
provides a method to record and distribute information publicly on peer-t-peer
systems of computers through crypto protocol. This paper also describes the
advantages of blockchain such as it is arranged rationally that allows user to execute
quick insurance requests that can be valuate immediately using AI and Blockchain
7
decentralization helps it become less likely to be attacked. It gives role of blockchain
in technological revolution 4.0 and also within the society. Blockchain can help in
faster insurance and payments, it can make travelling easier by helping the travel
insurance agencies to automate payment which saves a great amount of time, helps
in protecting corporate identities, in banking sectors, internet security, supply chain
management, helps government to alleviate bureaucracy, increase safety and
transparency in government activities and many more. (Hussein Hellani, 2020)
Proposed a review paper On Blockchain Technology: Overview of Bitcoin and
Future Insights. This paper investigates bitcoin crypto currency application and
blockchain technology that enables existence of digital currency. This paper also
highlights requirements and benefits related to security, database and network. This
paper gives the understanding of Bitcoin as it is a peer-to-peer electronic cash
system. The word bitcoin denotes three different objects: blockchain platform, digital
currency and protocol that runs over this platform to define how transactions are
moved. This paper describes the characteristics of block chain where the distributed
ledger is structured into two main network types: permission less network such as
bitcoin where anyone can join the network without previous permission. Participants
of this type can validate the transaction and might be part of the consensus and block
creation and the permissioned network which is a private network limited to a
number of trusted entities that got permission to join the network in order to validate
transactions. Microsoft recently deployed blockchain as a service called Ethereum
consortium blockchain.

2.2.1 Historical Background

In Nigeria, the conventional voting system has long been characterized by


centralization and a multitude of intermediaries. During elections, voters are required
to submit their identification documents to third-party individuals, often comprising
election administrators or volunteers. Only after their identities have been verified by
these third parties are voters granted permission to cast their ballots. This process
involves using indelible ink to mark their preferred candidates on a physical
document. Once completed, these documents are placed inside sealed envelopes and
8
stored in closed containers until the voting process concludes and the ballots are
counted. This traditional voting method, as practiced in Nigeria, presents several
vulnerabilities that can be exploited for electoral malpractice. For instance,
representatives can potentially permit ineligible voters to participate, and there exists
a risk of tampering with the ballot boxes. These inherent weaknesses erode trust in
the entire electoral process and pose substantial risks to the integrity of the process.
Consequently, the Nigerian electoral system demands a robust transformation to
incorporate elements of security, transparency, and data preservation, while
mitigating the risk of data loss. Blockchain can solve the many problems discovered
in these early attempts at online voting. A blockchain-based voting application does
not concern itself with the security of its Internet connection, because any hacker
with access to the terminal will not be able to affect other nodes. Voters can
effectively submit their vote without revealing their identity or political preferences
to the public. Officials can count votes with absolute certainty, knowing that each ID
can be attributed to one vote, no fakes can be created, and that tampering is
impossible.

2.1.2 Elections
Elections are a fundamental component of democratic societies and are used to
determine who will hold public office, make legislative decisions, or lead a group.
The primary objective of an election is to select authentic representatives to govern a
nation or organization, thus upholding the principles of democracy within
administrative structures. Ensuring the security, transparency, and veracity of the
electoral process is of utmost importance.

2.1.3 Types of Elections

There are different types of election conducted each based on different contexts to
select representatives or decide on specific issues. Electoral systems and types of
elections can vary widely across different countries, regions, and political structures,
each serving specific purposes in the democratic process. Here are some types of
elections:

9
 General Elections: These are the standard elections held in a country to
choose representatives for legislative bodies, such as members of parliament
or congress, the president, or other key government officials. General
elections often involve multiple positions being contested simultaneously.
 Primary Elections: In countries like the United States, primary elections are
held by political parties to select their candidates for the general election.
Voters choose from within the same party to decide who will represent their
party in the main election.
 Local Elections: These elections focus on selecting officials at the local
level, such as mayors, city council members, school board members, or other
positions that primarily affect a specific locality or region.

 By-Elections (Special Elections):By-elections are a term used for special


elections in some countries, particularly in the Commonwealth of
Nations.By-elections occur to fill a political office that has become vacant
between general elections. They might be triggered due to resignation, death,
or disqualification of the incumbent. Only the affected area votes in a by-
election.
 Referendums and Initiatives: These are direct votes by citizens on a
particular policy issue or proposed law. Referendums allow voters to directly
decide on a specific question, while initiatives enable citizens to propose new
laws or amendments to existing laws.
 Runoff Elections: In cases where no candidate secures the required majority
in the initial election, a runoff or second-round election is held between the
top candidates to determine the final winner.
 Proportional Representation Elections: Proportional representation (PR)
constitutes an electoral framework where a party's seat allocation corresponds
proportionally to its received votes. This signifies that if a party garners 20%
of the votes, it secures 20% of the legislative seats. PR systems find
application in numerous countries globally, including Germany, Norway, and
Sweden. Their fundamental objective is to align the number of seats a party
attains in an election with the percentage of votes they garner. Diverse
10
variations of proportional representation systems are implemented across
different nations.
 Electoral College Elections: In some countries, including the United States,
the president is not directly elected by the popular vote but through an
Electoral College system. The Electoral College is a body of electors, each of
whom is appointed by a state's legislature. The number of electors each state
gets is based on its population. Electors from each state vote for the president
based on the popular vote in their state. The candidate who receives a
majority of electoral votes wins the presidency. ("The Electoral College:
How It Works and Why We Need to Change It" by( David C. Huckabee
2016))
 Nonpartisan Elections: These elections don't involve political parties.
Candidates run as individuals, and their party affiliation isn't part of the
voting process.
2.1.4 Blockchain

Blockchain has become an important technology in all the fields. Blockchain is a


decentralized and distributed ledger technology that records the provenance of a
digital asset. Blockchain is sometimes referred as distributed ledger technology
(DLT) that makes any digital asset transparent with the help of decentralization and
cryptographic hashing. An easy example to explain blockchain technology is the
Google Doc. When we create a document and shared with many people, this
document will get distributed rather than copying and transferring. This creates a
decentralized distributed chain that can provide access to everyone at the same time.
No one will wait other party for making changes and all this modification will be
recorded in real time which are transparent to everyone. However, blockchain is
more complicated than a Google Doc but the concept is same. Blockchain is said to
as a promising technology as it helps to reduce risk, eliminate fraud and brings
transparency in a scalable way. Blockchain has a distributed database that maintains
an ever-growing list of data records secured for tampering. Also, it is decentralized
that avoids a single point failure which may occur in centralized systems. As the
name indicates blockchain is chain of blocks where each block is linked with other

11
using cryptography. Blockchain consists of two cryptographic keys that are private
key and public key. These keys help to perform successful transaction between two
parties. Each person has two keys which is used to produce a secure identity
reference. This identity is referred as digital signature and is used for controlling
transactions. Each block consists of a cryptographic hash value of the previous
block, a timestamp and transaction data. For using distributed ledger, blockchain
manages peer-to-peer network which helps in inter-node communication and
validating new blocks.

 Blocks: As shown in figure 1 every chain consists of multiple blocks. Each


block holds a transaction that are hashed and encoded into a Markle tree.
Each block contains a cryptographic hash of previous block and the link of
blocks form a chain like structure. Each block contains digital signature, a
time stamp and other relevant information. It should be noted that the block
does not include identities of individuals, this block is transmitted across all
network and when right person uses his private key and matches it with block
the transaction gets successful. Each block consists of three basic elements,
data in a block, a 32- bit whole number called as nonce and a 256-bit number
called as hash. Blockchain technology uses hash encryption to secure data
mainly SHA256 algorithm to secure information. This nonce will be
generated randomly when a block is created. The hash is extremely small and
it must start with huge number of zeroes. When the first block is created, a
nonce generates the cryptographic hash.
 Miners: Miners creates new blocks on chain through the process named as
mining. In blockchain every block contains unique nonce and hash, but it also
refers the hash of previous block in the chain. So, mining a block is not an
easy task especially on large chains. A special software is used to solve the
complex math problem of finding nonce that generate hash. As the nonce is
only 32 bit and the hash is 256, there are almost four billion combinations
that are mined before the right one is found. When a block is mined
successfully, the change is accepted by all nodes on network.

12
 Nodes: In blockchain technology no one computer can own the chain.
Instead, it is distributed with the help of nodes connected to the chain. Nodes
can be of any kind such as an electronic device that maintains copies and
keeps network functioning.

2.1.5 Challenges in Voting System Privacy

The voter is allowed to view only his details and to whom voted. The only disclosed
information in election is total votes in entire election.
 Lack of evidence: There is no evidence that the votes that are being casted is
under effect of bribes or any other fraud.
 Scalable: Elections must be flexible enough to work at large scale also.
 Speed: It must be ensured that the election result should be declared within
few hours of procedure ends.
 Low cost: Cost is one of the major factors for any system design. The system
must be cost efficient.
2.1.6 E-voting using blockchain

Blockchain has become important in almost all the fields but one of the most valid
domains is voting. To construct a secure electronic voting machine is a difficult task
as it is a crucial system that must be executed without failure.

The advantages of e-voting using blockchain includes:

 Greater transparency due to open and distributed ledgers


 Inherent Anonymity
 Security and Reliability(especially against Denial of service attacks)
 Immutability (strong integrity for the voting scheme and individual votes.)
Blockchain distributes the information of votes to thousands of computers
that makes impossible to alter or delete votes once they have been cast.

13
This method promotes greater trust between voters and governments by protecting
their data. Blockchain will allow all to cast their votes on smartphone or from the
computer with the apps, rather than having a queue at polling stations. Implementing
blockchain will not require a government to change their existing system rather their
existing platform can be re-modelled. The major weakness of blockchain is that it
can handle a small string of text that simply record a balance transfer between two
parties. However, Interplanetary file system (IPFS) provides much of the
infrastructure needed for the blockchain content storage as it provides permanent
decentralized web and no central entity controls the data.

2.2 Review of related work:

In (Yung, 2024), a self-tallying voting system is proposed that does not require any
trusted third parties for vote aggregation and any private channel for voter-to-voter
privacy. The proposed protocol involves extensive computation. In (Hao et al, 2010)
a two round protocol is proposed that computes the tally in two rounds without using
a private channel or a trusted third party. The protocol is efficient in terms of
amputation and bandwidth consumption but is neither robust nor fair in certain
conditions (Dalia, 2021) in a protocol is proposed to improve the robustness and
fairness of the two round protocol. In (Chaum, 2019), authors propose E2E verifiable
voting system named DRE-ip (DRE-i with enhanced privacy), that overcomes
limitations of DRE-i. Instead of pre-computing ciphertexts, DRE-ip encrypts the vote
on the fly during voting process.

2.2.1 Online Voting System Using Blockchain

The article aims to create a secure and transparent voting application using
blockchain technology, ensuring one vote per Aadhar number (Aadhar number is the
national identification number of Indian citizens) and preventing fraud. It integrates
blockchain for secure voting, with a user-friendly interface. Three phases: creation,
voting, and result declaration. Each voter can cast one vote per Aadhar card,
authenticated to prevent fraud. The system provides a secure and transparent voting
process, ensuring integrity. Each vote is a transaction added to the blockchain, and

14
results are displayed through a pie chart. Gap Found: Challenges include addressing
real-world complexities and ensuring safety in practical RL-based EMS applications.

2.2.2 Blockchain Enabled Online-Voting Systems

 Objective: Aims to create a mobile application using biometrics and


blockchain for transparent, immutable, and secure voting, boosting voters'
confidence.
 Methodology: Uses a systematic literature review to analyze existing
research on operational strategies, technology adoption, blockchain
integration, and mobile applications in elections.
 Results: Highlights the growing importance of blockchain and web3 for
security and transparency. Creates a mobile app using biometrics and
blockchain to improve overall voting experience.
 Gap Found: Identifies research gaps in practical implementation of
blockchain technologies in elections and calls for more comprehensive
approaches and assessments of economic viability.

2.2.3 Investigating Performance Constraints for Blockchain-Based Secure E-


Voting System

 Objective: Proposes a block-based e-voting architecture (BEA) using


blockchain, testing scalability and reliability factors.
 Methodology: Uses an experimental setup with permission less and
permissioned blockchain access. Tests involved voting population, block
size, block generation rate, and block transaction speed.
 Results: Reveals insights on scalability and reliability factors but identifies
faults, including vulnerability to quantum attacks and issues with voter
integrity.
 Gap Found: Identifies vulnerabilities in the model, including quantum attack
susceptibility and issues with voter integrity. Questions the suitability of the
Multichain framework for nationwide voting.

2.2.4 Survey on Blockchain-Based Electronic Voting


15
 Objective: Proposes a taxonomy and evaluation framework for blockchain-
based e-voting systems, aiming to identify challenges and future research
directions.
 Methodology: Evaluates the proposed methodology on real-world web
applications, comparing it with existing approaches.
 Results: Discusses the development of electronic voting, its advantages, and
challenges. Recommends improvements in blockchain transaction throughput
for large-scale voting scenarios.
 Gap Found: Specific gaps are not mentioned, but the paper discusses general
issues in electronic voting systems and suggests blockchain solutions.

2.2.5 Decentralized Voting Platform Based on Ethereum Blockchain

 Objective: Proposes a decentralized voting platform using Ethereum


blockchain for transparency, security, and cost-efficiency.
 Methodology: Utilizes Ethereum Virtual Machine, smart contracts, mobile
application, and zero-knowledge proof techniques for data integrity and
privacy.
 Results: Ensures data integrity, transparency, and privacy through one vote
per mobile phone number. Uses Ethereum Virtual Machine for transparent
and consistent smart contracts.
 Gap Found : Acknowledges potential scalability issues, unclear mechanism
for voter anonymity, limited accessibility, and security concerns with smart
contracts.

16
CHAPTER THREE

METHODOLOGY
3.1 Data Collection:
The proposed Computer Based Tourism System was design using the structured
system methodology. The system was built on the web platform. The front-end
interface was designed using HTML, CSS3 and JavaScript, while the backend
functionalities are powered by PHP server-side scripting language and MySQL (a
relational database management system) in designing the database which runs on a
web server. This language was chosen because of its flexibility and features for
developing online and offline based applications. In gathering and collecting
necessary data and information needed for system analysis, two major fact-finding
techniques were used in this work and they are:
 Primary source
 Secondary source
Primary Source
Primary source refers to the sources of collecting original data in which the
researcher made use of empirical approach such as personal interview and
questionnaires i.e to ask questions from people. Some of the electoral staffs were
interviewed to share their feelings and experience about the manual system of
processing and recording of the electoral process. Their response was that the
manual system is highly cumbersome, boring and time consuming. They stressed
that the manual system has not helped them much, since they have conduct elections
on session basis i.e. yearly on a high rate and the number keeps increasing on a
regular basis.
Secondary data collection: involves using already existing data where relevant
materials were gotten from the internet; published materials, journals, reports, e-
books, websites, blogs and soon.

A situation whereby files are littered around makes the office of the agency involved
in the electoral process look untidy and un-kept. I observed that due to insufficient
space for storage of this files the office looks very much like a warehouse or better
17
still a stuffy storehouse than like an office. Having also noticed that searching for a
particular candidate’s record is time consuming and stressful, this makes the manual
system ineffective.

Three.2 Description of the proposed system:


To reduce the shortcomings of the existing system there is a need to develop a new
system that could upgrade the status of the current system which is manual and slow
to the system that will be automatic and fast. The new system should be concern with
offering the requirements of the customer and the workers, the system should be
reliable, easier, fast, and more informative.
3.2.1 Data Flow A Data Flow Diagram is the sequence of path data takes at it is
generated on the system. It shows how data is processed if such data is valid and also
specifies what happens when such data is invalid.
3.2.2 System Architecture

18
The proposed system architecture consists of three main parts, the blockchain server
(NodeJs), the web application backend (NodeJs), and the front-end (React and
Tailwind CSS). The implementation of a public blockchain by the suggested solution
is highlighted as anyone can be a node and no trust is required among the
participants (nodes) in the blockchain. In the proposed system, not every registered
voter has to be part of the blockchain and not every node has to be used as a device
for voting. There is a distinction between nodes and the devices of the participants.

3.3 Analysis of the proposed system:


Analysis of system requirements is to analyze the application develop for the
purpose of obtaining a more comprehensive understanding of the system
environment developed. The process of analyzing the needs of the system is
divided into three which is flowchart, data flow diagram (DFD) and entity
relationship diagram ERD (Denton & Gupta 2003).

19
3.3.1 Input Analysis: A process of converting user originated to a computer based
format. Input design is an important part of development process since in accurate
input data are the most common cause of errors in data processing. Erroneous
entities can be controlled by input design. It consists of developing specifications
and procedures for entering data into a system and must be a simple format. The goal
of input data design is to make data entry easy, logical and free from errors as
possible. Input data design, we design the source document that capture and then
select the media used to enter them into the computer
The following are the input necessary to produce an output.
Administrator Account Information

 User Account ID
 User Name
 Password
 Confirm Password
 User Type
 Last Name
 First Name
 Middle Initial

Voters Information

 Voter ID
 Last Name
 First Name
 Middle Initial
 Details

3.3.2 Output Analysis:Designing computer output should process in an organized,


well throughout manner, the right output element is designed so the people will find
the system easy to execute. When we design an output, we must identify the specific
output that is needed to meet the system. The usefulness of the new system is
evaluated on the basis of their output.

20
Administrator Output

User Usernam Passwor Confirm User Last First Middl


Acct e d Passwor type name name e
ID d Initials

XX Xxxxxx Xxxxxx xxxxxx Admi xxxxx xxxxxx x


X n x x

XX Xxxxxx Xxxxxx xxxxxx Admi xxxxx xxxxxx x


X n x x

Voter’s Output

Voter Last First Midd Deta Date Course/ Organizat Stude


’s ID Nam Nam le ils Registe level ion nt ID
e e red
Initia
ls

XXX xxxx Xxx X xxxx Xxxxx xxxxxx Xxxxxxxx xxxxx


xx xx x

XXX xxxx xxxx X xxxx Xxxxx xxxxxx xxxxxxxx xxxxx


xx x x

3.3.3 Interface Design: It deals with the process of developing a method of two (or
more) modules in a system to connect and communicate. These modules can apply to
hardware, software or the interface between a user and a machine.
3.3.4 Database Analysis: The data in the system has to be stored and retrieved from
database. Designing the database is part of system design. Data elements and data

21
structures to be stored have been identified at analysis stage. They are structured and
put together to design the data storage and retrieval system.

ADMIN DATABASE

Field Name Field Size Data type

User acct ID 10 Varchar

Username 20 Varchar

Password 20 Varchar

User type 20 Character

Last Name 50 Character

First Name 50 Character

Middle initial 1 Character

VOTER’S/ELECTORAL BOARD DATABASE

Field Name Field Size Data type

Voter ID/Electoral 10 Varchar


board ID

Last Name 50 Character

First Name 50 Character

Middle Initial 50 Character

Details 100 Character

Date registered 10 Varchar

22
Course 50 Character

Year/Level 20 Varchar

Organization 30 Character

Student ID 20 Varchar

3.4 System Design:


The design stage involves the translation of the requirements obtained from the
analysis stage into a plan or model of how to achieve these requirements. Design is
the principal step of mapping real world requirements into software solutions. As
such the design needs to represent the problem tailored towards the domain of
software and computing. The design was done using Unified Modelling Language
(UML). This was used to specified the developed model into a representative model

to aid software system development. Use case diagrams in UML were used to model
the system.
Figure 1.3 Use case diagram for the voter and admin.

3.4.1 Use Case Diagram

Use case diagrams describe what a system does from an external observer's
standpoint. The emphasis of use case diagrams is on what a system does rather than
how. They are used to show the interactions between users of the system and the

23
system. A use case represents the several users called actors and the different ways
in which they interact with the system.

CHAPTER FOUR
IMPLEMENTATION AND RESULTS PRESENTATION
4.1 System Requirements:
The software requirement specification is the essential role in the software
development stages

Software and Hardware Requirements

i Microprocessor: Intel(R) Core(TM)i5-6200U CPU @ 2.3 GHz


ii RAM: 4GB of RAM
iii Hard Disk: 1 terabytes (TB) on installation drive
Operating Systems:
 Windows 10 Pro 64 bits Operating System for developing this system.
Interface Design The interface design focuses on the layout of the entire
application that are actually visible to the users after deploying it into real time
environment. The interface design only shows the physical framework. .These is
depicted through a set of UML diagrams. These diagrams are data flow
diagrams, class diagrams, sequence diagram and entity relationship diagram.

Modular Design The modular design involves the process of classifying the
application elements into different sub-systems. The modular design of this
application is divided into collage details- which shows the important
notifications and activates in the college, student details- which shows student
performance track record and faculty details- which shows faculty personal and
professional details.

4.2 System Implementation:


This segment shows the hardware requirement of the system and software
requirement of the system respectively. For this feat to be achieved, an integrated,
highly efficient and effective Network Security for a Distributed Database is needed.

24
In implementing the system use Java NetBeans as front end and MYSQL database as
the back end.

4.3 Results presentation:


In this chapter the results and evaluations of the design based on the different
security aspects are presented

Fig 1: Admin Login Page

Fig 2: Admin Dashboard

25
Fig 3: Voters Login Page

Fig 4: Candidates List Page


4.4 System Evaluation/Testing (optional):
This is the process of confirming whether the new system is working according to
the specification. Testing are pertinent in this system, because it will minimize or
eliminate the errors in an online shopping system. This test will show exactly the
type of problems develop in the system in the processing of data and would also
indicate any problem in the respond time of the system. The process of testing the
system is to defect errors and debug them before it is delivered, installed and made

26
operational errors including bugs that cause system not to work according to
specifications.

4.5 System Documentation and Maintenance:

Documentation is a written record that describes the entire instruction development


and operation program about the new system. When a system is well documented,
the user finds it easier to use and understand when problem arises and provide
solutions to problems.
During the design stage of this system, the followings documentation was
considered;
 Program Documentation: Stock control system (SCS) and inventory
management is a program controlled by various program noodles which
are written using vs code.
 System Documentation: This is done at design time with the purpose of
aiding controls by providing a record of what has been developed and
what has been changed.
 User-Reference Documentation: This is the step-by step information guide
design to system were in carrying out task with new system.
To use the new system, the user has to follow the under listed instructions:
 Boot the computer to desktop environment
 Slot in the software into your CD drive, wait and follow the instruction for
installation.
 A welcome screen will appear showing author’s information like (name and
password) as well as the file of the software from which the user will check
“Login”.
 A login screen will appears, then the user is required to type or Keyin the “user
ID” and password”.
 From here, the program will open the main men where other sub menu are
attached.
Maintenance includes program update with time as need, debugging of the program,
repairs, hardware/software changes as need be for safety and management purposes,
anti-virus software should be installed before using the new system to avoid system
27
failure. This following are recommended: Air conditioner or fans should be provided
to help in cooling the system, Ups, voltage regulator (stabilizer), lightening arrestors,
automatic fine alarm and smoke detector is also recommended to maintain the
system.

4.6 Benefits of the System

It allow the client can walk to any of the designated banks anytime during banking
hours and make deposit into his/her account. The function the administrator can
perform is to create a client record, update payments and transactions, show record
of client currently registered and using the card. There are forms on different pages
of the application that makes the administrator achieve these functions.

28
CHAPTER FOUR

IMPLEMENTATION AND RESULTS PRESENTATION


4.1 System Requirements:
The software requirement specification is the essential role in the software
development stages

Software and Hardware Requirements

i Microprocessor: Intel(R) Core(TM)i5-6200U CPU @ 2.3 GHz


ii RAM: 4GB of RAM
iii Hard Disk: 1 terabytes (TB) on installation drive
Operating Systems:
 Windows 10 Pro 64 bits Operating System for developing this system.
Interface Design The interface design focuses on the layout of the entire
application that are actually visible to the users after deploying it into real time
environment. The interface design only shows the physical framework. .These is
depicted through a set of UML diagrams. These diagrams are data flow
diagrams, class diagrams, sequence diagram and entity relationship diagram.

Modular Design The modular design involves the process of classifying the
application elements into different sub-systems. The modular design of this
application is divided into collage details- which shows the important
notifications and activates in the college, student details- which shows student
performance track record and faculty details- which shows faculty personal and
professional details.

4.2 System Implementation:


This segment shows the hardware requirement of the system and software
requirement of the system respectively. For this feat to be achieved, an integrated,
highly efficient and effective Network Security for a Distributed Database is needed.
In implementing the system use Java NetBeans as front end and MYSQL database as
the back end.
29
4.3 Results presentation:
In this chapter the results and evaluations of the design based on the different
security aspects are presented

Fig 1: Admin Login Page

Fig 2: Admin Dashboard

30
Fig 3: Voters Login Page

Fig 4: Candidates List Page


4.4 System Evaluation/Testing (optional):
This is the process of confirming whether the new system is working according to
the specification. Testing are pertinent in this system, because it will minimize or
eliminate the errors in an online shopping system. This test will show exactly the
type of problems develop in the system in the processing of data and would also
indicate any problem in the respond time of the system. The process of testing the
system is to defect errors and debug them before it is delivered, installed and made

31
operational errors including bugs that cause system not to work according to
specifications.

4.5 System Documentation and Maintenance:

Documentation is a written record that describes the entire instruction development


and operation program about the new system. When a system is well documented,
the user finds it easier to use and understand when problem arises and provide
solutions to problems.
During the design stage of this system, the followings documentation was
considered;
 Program Documentation: Stock control system (SCS) and inventory
management is a program controlled by various program noodles which
are written using vs code.
 System Documentation: This is done at design time with the purpose of
aiding controls by providing a record of what has been developed and
what has been changed.
 User-Reference Documentation: This is the step-by step information guide
design to system were in carrying out task with new system.
To use the new system, the user has to follow the under listed instructions:
 Boot the computer to desktop environment
 Slot in the software into your CD drive, wait and follow the instruction for
installation.
 A welcome screen will appear showing author’s information like (name and
password) as well as the file of the software from which the user will check
“Login”.
 A login screen will appears, then the user is required to type or Keyin the “user
ID” and password”.
 From here, the program will open the main men where other sub menu are
attached.
Maintenance includes program update with time as need, debugging of the program,
repairs, hardware/software changes as need be for safety and management purposes,
anti-virus software should be installed before using the new system to avoid system
32
failure. This following are recommended: Air conditioner or fans should be provided
to help in cooling the system, Ups, voltage regulator (stabilizer), lightening arrestors,
automatic fine alarm and smoke detector is also recommended to maintain the
system.

4.6 Benefits of the System

It allow the client can walk to any of the designated banks anytime during banking
hours and make deposit into his/her account. The function the administrator can
perform is to create a client record, update payments and transactions, show record
of client currently registered and using the card. There are forms on different pages
of the application that makes the administrator achieve these functions.

33
CHAPTER FIVE

SUMMARY, CONCLUSION AND RECOMMENDATION

5.1 Summary:
With the successful implementation of this project work, it can therefore be inferred
that the project achieves the objectives and purposes that were initially set for it after
research was carried out from different literature sources.
Chapter 1 presents the background to the study, the aim and objectives of the study,
the significance and motivation of the study, methodology used to achieve the results
of the project.
Chapter 2 presents a review of related works used in this project.
Chapter 3 highlights the different steps used in designing the project and the
specifications of each step.
Chapter 4 presents the implementation of the project and how each component was
tested and the testing of the system as a whole.

5.2 Conclusion:

In conclusion, the successful completion of the "Design and Implementation of a


Blockchain Voting System" project demonstrates our team's commitment to
delivering a secure, transparent, and trustworthy voting solution.
In the end, we have been able to implement a blockchain-based electronic voting
system for use in Nigerian elections and in the process highlight challenges facing e-
voting implementation in Nigeria. The primary goal of this project was to create a
blockchain-based voting system that enables users to securely cast their votes in
elections or polls. The system has been designed to provide a seamless voting
experience, ensuring the integrity and confidentiality of the voting process.
5.3 Recommendation:
This project was able to meet its set objectives. However, there is a need for
improvement in the functionality of the system. The following listed below are some

34
recommendations on how this project can be improved upon and advanced in the
future:
 A dedicated desktop program would be a better solution than a web app due
to the various security risks associated with web apps and the sensitive nature
of the information collected by the users. Biometric features could add an
extra layer of protection when integrated with desktop applications.
 Using an already established and stable blockchain framework like Ethereum
which is written in more performant languages would be preferable to
building a blockchain network from scratch using Python, especially for a
large-scale system such as a voting system like this.
 Multiple tiers should be added to enable easy scalability to a nationwide
network. This means that the problem of large-scale node synchronization
will be alleviated by using smaller blockchain units which will be created for
specific geographical areas, such as states that will be linked together.
 Individual transactions in the blockchain should also be hashed, establishing
a Merkle tee for a scalable nationwide solution. The systems' security would
be significantly improved as a result of this addition.
The software development life cycle model utilized for this project was the Agile
methodology, allowing for iterative development and continuous improvement. We
employed techniques such as user stories, sprint planning, and regular feedback
sessions to ensure the system meets desired expectations.
Primary and secondary research methods, including interviews with domain experts,
analysis of existing voting systems, and review of academic literature, have been
utilized to inform design decisions and enhance system effectiveness.

35
REFERENCES

Chaum. (2019). (Shahandashti & Hao, 2016), authors propose E2E verifiable voting system
named DRE-ip (DRE-i with enhanced privacy), that overcomes limitations of DRE-i
Instead of pre-computing ciphertexts, DRE-ip encrypts the vote on the fly during .

Gobel, J. K. (2024). Bitcoin Blockchain Dynamics: . . the Selfish-Mine Strategy in the


Presence of Propagation Delay,.

Hussein Hellani, A. E. (2020). proposed a review paper On Blockchain Technology.

kramer, j. D. (2021). As societies become increasingly digital, it is essential to assess the


potential of blockchain technology to address the challenges and vulnerabilities
associated with conventional voting methods. .

M, R. (2017). Blockchain allows every user to connect to the network, send new transactions
to it, verify transactions and create new blocks. .

microcontroller, A. A. (2014). Android Studio IDE and the Java programming language
were used to develop the Android mobile application, .

Multichain. (2017). Multichain as the underlying technology to develop our system. In order
to protect the anonymity and integrity of a vote, the system generates strong
cryptographic hash for each vote transaction based on information specific to a
voter.

Narayanan, A. B. (2019). Therefore, due to its strong foundations in cryptography,


blockchain has been increasingly used to mitigate against unauthorized transactions
across various domains.

primer. (2020). Instant messaging (IM) is a real time text based communication between two
or more people connected over a network like the Internet.

QuocKhanh Nguyen, Q. V. (2023). proposed a review paper on Block chain Technology for
the Advancement of the Future.

Rosenfeld. (2017). Blockchain allows every user to connect to the network, send new
transactions to it, verify transactions and create new blocks . .

36
Ryan. (2022). In particular, our system is based on the Prêt à Voter approach and uses an
open source block chain platform, .

Yung, K. &. (2024). In a self-tallying voting system is proposed that does not require any
trusted third parties for vote aggregation and any private channel for voter-to-voter
privacy. .

Appendix A
Sample Appendix (Replace Accordingly)

<This is a sample Appendix. Insert additional appendices by clicking on Appendix


in the styles task pane. To enter a title for the appendix, press the Shift and Enter
keys on your keyboard>.

37

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy