Final Report
Final Report
Project Report
on
VOTING SYSTEM USING BLOCKCHAIN
Submitted in partial fulfillment of requirements for the degree of
Bachelor of Technology
in
Computer Science & Engineering
By
Harshit Jain
1900040100039
Muskan Singh
1900040100048
Prateek Gaur
1900040100056
Under the Guidance of
Dr. Brajesh Kumar Singh
(Head of Department, C.S.E)
We declare that the project work presented in this report entitled “Voting System Using
Blockchain”, submitted to the Computer Science and Engineering Department, Raja Balwant
Singh Engineering Technical Campus, for the award of the Bachelor of Technology degree
in Computer Science and Engineering, is our original work. We have not plagiarized or
submitted the same work for the award of any other degree.
May, 2023
Agra
ii
CERTIFICATE
This is to certify that the Project entitled “Voting System Using Blockchain” has been
submitted by HARSHIT JAIN, MUSKAN SINGH & PRATEEK GAUR in partial fulfillment
Balwant Singh Engineering Technical Campus, affiliated to Dr. A.P.J. Abdul Kalam
2022-23.
May, 2023
Agra
iii
ACKNOWLEDGEMENT
We extend our gratitude to our Project guide Dr. Brajesh Kumar Singh, Head of the
Department of Computer Science and Engineering, for being a great mentor and the best
advisor we could ever have. His advice, encouragement, and critics are sources of innovative
ideas, inspiration, and causes behind the successful completion of this Project. We are highly
obliged for his support and guidance during the execution of this Project work.
We are grateful to Dr. B.S. Kushwaha (Director of Academics) and Dr. Pankaj Gupta
(Director of Finance & Admin.), Director, of Raja Balwant Singh Engineering Technical
Campus, Bichpuri, Agra for providing us with facilities and constant encouragement. We are
also grateful to all the faculty members of the Department of Computer Science and
Engineering for their deliberations and honest concerns.
Finally, we are grateful to our parents and friends for their constant support throughout this
project work. This work was a distant reality.
We also place on record our indebtedness to those who have directly or indirectly provided
their helping hands in this endeavor.
iv
Abstract
In any democratic country, Voting is a fundamental right of any citizen that enables them to
choose the leaders of tomorrow. It gives individuals in a community the facility to voice their
opinion. It helps them to realize the importance of citizenship. Online voting systems are
software platforms used to conduct votes and elections securely.
As a digital platform, they eliminate the need to cast your votes using paper or having to
gather in person. They also protect the integrity of your vote by preventing voters from being
able to vote multiple times. Electronic voting or e-voting has fundamental benefits over
paper-based systems such as increased efficiency and reduced errors. The electronic voting
system tends to maximize user participation, by allowing them to vote from anywhere and
from any device that has an internet connection.
v
Table of Contents
Cover Page i
Declaration ii
Certificate iii
Acknowledgment iv
Abstract v
vi
6. FUTURE SCOPE, FURTHER ENHANCEMENT, AND 31-32
LIMITATIONS
7. CONCLUSION 33
8. BIBLIOGRAPHY 33-45
vii
List of Figures
Figure Page No.
viii
ix
CHAPTER 1
1.1 Introduction
India is a democratic country and has a democratic country. As now all Indian citizens
become a part of the growing digital India with a digital ID which is an aadhaar card.
Voting schemes have evolved from counting hands in the early days to systems that
include paper, punch cards, and electronic voting machines.
The existing system of election is running manually. The voter must visit to booths to vote
a candidate so there is a waste of time. Due to this many people don’t go out to cast their
vote which is one of the most important and worrying factors. In a democracy, each and
every vote is important.
Current voting systems like ballot box voting or electronic voting suffer from various
security threats such as polling booth capturing, vote alteration and manipulation,
malware attacks, etc., and require huge amounts of paperwork, human resources, and time.
This creates a sense of distrust among existing systems. Some of the disadvantages are:
This traditional system can be replaced by a new online system which will limit voting
fraud and make the voting as well as counting of votes more efficient and transparent [3].
In the proposed system the user has a distinct ID which is an aadhaar number through
which they can vote.
The computer security field has for a decade studied the possibilities of electronic
voting systems , with the goal of minimizing the cost of having a national election, while
fulfilling and increasing the security conditions of an election. From the dawn of
democratically electing candidates, the voting system has been based on pen and paper.
1
Replacing the traditional pen and paper scheme with a new election system is critical to
limit fraud and having the voting process traceable and verifiable . Electronic voting
machines have been viewed as flawed, by the security community, primarily based on
physical security concerns. Anyone with physical access to such machine can sabotage
the machine, thereby affecting all votes cast on the aforementioned machine. A blockchain
is a distributed, immutable, incontrovertible, public ledger. This new technology works
through three main features:
i) The ledger exists in many different locations: No single point of failure in the
maintenance of the distributed ledger.
ii) Any proposed “new block” to the ledger must reference the previous version of
the ledger, creating an immutable chain from where the blockchain gets its name,
and thus preventing tampering with the integrity of previous entries.
iii) A majority of the network nodes must reach a consensus before a proposed new
block of entries becomes a permanent part of the ledger.
1.2 Objective
The objective of the online voting system is to find a better and more secure way to vote
instead of an electronic-voting system (or paper-based voting system). The online voting
system will provide a better and more secure way of voting. Our objective is to provide a
decentralized architecture to run and support a voting scheme that is open, fair, and
independently verifiable.
The network is powered by individual nodes incentivized by new coin generation using
a proof-of-work scheme. These nodes run a decentralized database or ledger of
cryptocurrency transfers. It has been demonstrated that as voting systems become more
complex and include software, different methods of election fraud become possible.
Others also challenge the use of electronic voting from a theoretical point of view, arguing
that humans are not equipped for verifying operations occurring within an electronic
machine and that because people cannot verify these operations, the operations cannot be
trusted. Furthermore, some computing experts have argued for the 4 broader notion that
people cannot trust any programming they did not author. Aim of this project is to create
2
an Application that provides improved voting services to the voters through fast and
timely and convenient voting.
All the security-related issues in the existing voting system will be overcome in the
online voting system. If any voter cast a vote using EVM (Electronic Voting Machine)
then since it’s circuitry after all and if someone tampers with the microchip, the voter may
never know that did voter’s vote reach to person for whom he/she voted or was diverted
into another candidate’s account because there’s no tracing back of the voter’s vote. But
we will use blockchain in this online voting system to overcome that gap in existing voting
systems since blockchain stores everything as a transaction and hence gives you a receipt
of your vote (in the form of a transaction ID) and you can use it to ensure that your vote
has been counted securely.
If we use any other digital voting system to digitize the process and all confidential data
is stored on a single admin server/machine, if someone tries to hack it or snoop over it,
he/she can change the candidate's vote count- from 1 to 11. Voter may never know that a
hacker installs malware or performs click jacking attacks to steal or negate his vote or
simply attacks the central server. To avoid this, we will use a system that is integrated
with blockchain- a special property called immutability protects the system. Consider
SQL, PHP, or any other traditional database systems. We can insert, update, or delete
votes. But in a blockchain, we can just insert data but cannot update or delete. So, when
any data is inserted, it stays there forever, and no one can manipulate it and the system
will be decentralized.
1.3 Scope
1. Increasing the level of participation - The internet voting system tends to maximize
user participation, by allowing them to vote from anywhere and from any device that
has an internet connection.
2. Security - By considering the importance of the electronic voting system the online
voting system is implemented using “Blockchain”. Blockchain ensures the security of
the system of its features, like decentralization, immutability, peer-to-peer network
connections, etc.
3
3. Efficiency - The reduction in organizational and implementation costs, significantly
increases the efficiency of election management compared to traditional paper voting.
4. Precision - The electronic vote eliminates errors in the manual count, which brings
with it an accurate and quick publication of results, with the receipt of a vote for each
vote cast, maintaining transparency in the system [7].
As technology advances, many countries have now opted for electronic voting systems.
Any voting system must follow principles of transparency and impartiality to achieve
fairness, the electronic voting process must also be protected against cyber-attacks or
denial-of-service attacks (DDoS) because such attacks may affect the processing time in
voting procedures and even hinder the fairness in voting [14]. This study establishes a
network security mechanism for voting systems based on blockchain technology. The
blockchain mechanism employs a distributed architecture that can prevent system
shutdown resulting from malicious cyber-attacks additionally, any user in the blockchain
can authenticate data integrity, which satisfies the requirements of transparency and
impartiality in voting systems.
4
CHAPTER 2
REVIEW OF LITERATURE
1. Olivier Baudron et. al. [1], described a practical multi-candidate election scheme that
guarantees the privacy of voters, public verifiability, and robustness against a coalition of
malicious authorities. Furthermore, they address the problem of receipt-freeness and in
coercibility of voters. Our new scheme is based on the parlier cryptosystem and on some
related zero-knowledge proof techniques. The voting schemes are very practical and can
be efficiently implemented in a real system.
2. Susan Bell et. al. [2], elaborated on the current design of STAR-Vote. STAR-Vote
represents a rare opportunity for a variety of sophisticated technologies, such as end-to-
end cryptography and risk-limiting audits, to be designed into a new voting system, from
scratch, with a variety of real-world constraints, such as election-day vote centres that
must support thousands of ballot styles and run all day in the event of a power failure.
3. Tanekilla Sai Charani et. al. [3], stated that an electronic voting system that uses
blockchain technology completes the stage of establishing a secure and transparent
environment for decisions where voters will vote only once, and the vote will not be
interrupted. The operation of the blockchain will ensure that the votes are kept in line with
them, and that the situation is not deceived by any outsider.
4. Jens-Matthias Bohli el. al. [4], presented a new verifiable and coercion-free voting
scheme Bingo Voting, which is based on a trusted random number generator. As a
motivation for the new scheme two coercion/vote buying attacks on voting schemes are
presented which show that it can be dangerous to let the voter contribute randomness to
the voting scheme. A proof-of-concept implementation of the scheme shows the
practicality of the scheme: all costly computations can be moved to a non-time critical
pre-voting phase.
5
5. Himanshu Agarwal et. al. [5], proposed a model which has a greater security in the sense
that voter high security password is confirmed before the vote is accepted in the main
database of Election Commission of India. The additional feature of the model is that the
voter can confirm if his/her vote has gone to the correct candidate/party. In this model a
person can also vote from outside of his/her allotted constituency or from his/her preferred
location. In the proposed system the tallying of the votes will be done automatically, thus
saving a huge time and enabling the Election Commissioner of India to announce the
result within a very short period.
6. Soumyajit Chakraborty et. al. [6], provided an overview of a Biometric Voting System
(BVS) which will access the data stored in the database of Adhar card, a Government Id
card for each citizen in India, while casting their votes. While issuing the Adhar card a
citizen of India needs to give his/her unique biometric data i.e., the fingerprint image and
iris image of both eyes to the government. The BVS is integrated with a biometric
fingerprint machine for the authentication of a genuine voter on the Election Day by
comparing the given image with the already stored fingerprint image of that voter in the
adhaar card database.
7. Basit Shahzad et. al. [7], suggested a framework by using effective hashing techniques
to ensure the security of the data. The concept of block creation and block sealing is
introduced in this paper. The introduction of a block sealing concept helps in making the
blockchain adjustable to meet the need of the polling process. The framework proposed
in this paper discusses the effectiveness of the polling process, hashing algorithms' utility,
block creation and sealing, data accumulation, and result declaration by using the
adjustable blockchain method.
8. Scott Wolchok et. al. [8], introduced a security analysis of a real Indian EVM obtained
from an anonymous source. The authors describe the machine’s design and operation in
detail, and we evaluate its security considering relevant election procedures. They
conclude that despite the machines’ simplicity and minimal software-trusted computing
base, they are vulnerable to serious attacks that can alter election results and violate the
secrecy of the ballot. We demonstrate two attacks, implemented using custom hardware,
which could be carried out by dishonest election insiders or other criminals with only
6
brief physical access to the machines. This case study carries important lessons for Indian
elections and for electronic voting security more generally.
9. Dalia Khader et. al. [9], proposed details of e-voting scheme along with its
implementation using Multichain platform. The paper presents an in-depth evaluation of
the scheme which successfully demonstrates its effectiveness to achieve an end-to-end
verifiable e-voting scheme. This paper presents an effort to leverage benefits of
blockchain such as cryptographic foundations and transparency to achieve an effective
scheme for e voting. The proposed scheme conforms to the fundamental requirements for
e-voting schemes and achieves end-to-end verifiability.
10. Savitha R. et. al. [10], stated that digital voting such as voting machines or an internet
browser to cast votes has disadvantages like security of data and potential attacks such as
DoS and DDoS attacks. One way to solve these security credentials problems is through
blockchain technology. So, the proposed system Ethereum blockchain is used, which
enables smart contracts. Smart contracts can be written with solidity, which is an object-
oriented programming language. The outcome of the project is it provides privacy by
keeping individual's vote secret by providing a unique transaction id to each voter.
11. Aayushi Gupta et. al. [11], reviewed the solutions of the issues of digital voting by using
Blockchain technology. In 2016, the central securities depository of the Russian
Federation announced a pilot project on the next block chain 2.0 to explore the use of
block chain based automated voting systems. Other applications of block chain are:
Smart Contract, Cloud Storage, and Paying Employees. Limitations of this technology is
that it is less secure. It lacks privacy.
12. Pavel Tarasov et. al. [12], approached the protocol developed on blockchain technology.
The underlying technology used in the voting system is a payment scheme, which offers
anonymity of transactions, a trait not seen in blockchain protocols to date. The proposed
protocol offers anonymity of voter transactions, while keeping the transactions private,
and the election transparent and secure. The underlying payment protocol has not been
modified in any way; the voting protocol merely offers an alternative use case.
7
13. Umut Can Çabuk et. al. [13], aimed at the feasibility and suitability by using blockchain
technology within e-voting systems, regarding both technical and non-technical aspects.
E-voting systems, naturally, require much more attention and assurance regarding
potential security and anonymity issues, since voting is one of the few extremely critical
governmental processes. Nevertheless, e-voting is not purely a governmental service, but
many companies and non-profit organizations would benefit from the cost-efficiency,
scalability, remote accessibility, and ease of use that it provides.
14. Lauretha Rura et. al. [14], proposed a new and secure steganography based E2E (end-
to-end) verifiable online voting system, to tackle the problems in the voting process. This
research implements a novel approach to online voting by combining visual cryptography
with image steganography to enhance system security without degrading system usability
and performance. The voting system will also include password hashed-based scheme and
threshold decryption scheme. We assume that the election server used, and the election
authorities are trustworthy. A questionnaire survey of 30 representative participants was
done to collect data to measure the user acceptance of the software developed through
usability testing and user acceptance testing.
15. Siamak F. Shahandashti et. al. [15], addressed the problem of data leakage in the offline
voting system and proposed DRE-ip (DRE-ip with enhanced privacy). Adopting a
different design strategy, DRE-ip can encrypt ballots in real time in such a way that the
election tally can be publicly verified without decrypting the cast ballots. As a result,
DRE-ip achieves end-to-end verifiability without tallying authorities, like DRE-ip, but
with a significantly stronger guarantee on voter privacy. If the voting machine is fully
compromised, the assurance on tallying integrity remains intact and the information
leakage is limited to the minimum: only the partial tally at the time of compromise is
leaked.
8
ledger technologies through the description of a case study; namely, the process of an
election, and the implementation of a blockchain-based application, which improves the
security and decreases the cost of hosting a nationwide election.
17. C. K. Adiputra et. al. [17], discussed the recording of voting results using blockchain
algorithms from every place of election. Unlike Bitcoin with its Proof of Work, this thesis
proposed a method based on a predetermined turn on the system for each node in the
blockchain.
18. S. Srinivas et. al. [18], evaluated the legal issues that are raised in conventional methods
and how they can be overcome in blockchain technology. In this paper they made one
system with PoV in which eases security, low cost and low power consumption.
19. Dipali Pawar et. al. [19], evaluated an application of blockchain as a service to implement
distributed electronic voting systems. Their objective is to provide a decentralized
architecture to run and support a voting scheme that is open, fair, and independently
verifiable. Their proposed solution implements the protocol which achieves fundamental
e-voting properties as well as offer a degree of decentralization and allow for the voter to
change/update their vote and the experimental result shows that our proposed solution is
beneficial for the existing and upcoming voting system.
20. Raghav Chhabra et. al. [20], discussed a new solution, but with a small learning curve,
citizens will have to be trained on how to exercise their right to vote online. E-voting or
electronic voting symbolizes modern democracy. E-voting will be at its best when
complied with the existing legal and regulatory framework. “Vote”, the word means to
determine or to elect or select from a list or who will run the country or the organization
or a group. Most countries, India is no exception, have trouble voting. Some of the issues
at stake are incorrect voting during elections, inexperienced personnel, inaccessible or
insecure polling stations, and inadequate voting equipment. The new indigenous flagship
internet-based voting system solves this exact problem.
21. Nicole Goodman et. al. [21], demonstrated that use of Internet Voting in local Ontario
election impacts stakeholders and teach us about their attitude and opinions of the
9
technology. These findings also allow us to extrapolate some broader lessons learned that
are particularly important for local governments to pay attention to as they adapt existing
Internet voting programmes or consider deployment of the technology in future elections
or other types of votes. DellEMC proposed an electronic voting system using multi-chain.
We showed how multichain can be configured to restrict transactions to only one vote
between voter and contestant. A new entity – trusted third party was introduced to keep
the voting secret.
22. Agrey Srivastava et. al. [22], proposed that the success of any democracy depends on
the fairness of its elections. Building a secure voting system that maintains secrecy of
votes while still providing transparency to the voters has been a challenge for a very long
time. The recent rise in malpractices such as EVM tampering and booth capturing has
raised questions regarding the integrity of the election process. This has forced the
authorities to look for new secure ways to conduct elections. In the recent years the
advancements in the web technology have led to the development of decentralized
networks. These networks are considered to be more secure as opposed to the traditional
centralized frameworks. One such application of decentralized networks which has gained
popularity in the recent years is Blockchain. The idea of I-Voting (internet voting) has
gained popularity in the last few years as a viable solution to the current system. The
concepts of i-voting address various issues faced by the traditional system; however, it
does not provide enough transparency to the voters. Blockchain is robust, immutable and
trusted technology that contains blocks of data linked using cryptography. Various
features of the blockchain such as proof of work and decentralization using peer-to-peer
networks make it more secure than any other record keeping structure.
23. Adrià Rodríguez-Pérez et. al. [23], addressed that it has become apparent that internet
voting fails at providing the privacy guarantees offered by traditional paper-based voting
systems. Against this assumption, the current proposal suggests reviewing the traditional
configuration of the principle of vote secrecy. With this in mind, the proposal will assess
current accepted standards on voters’ anonymity for traditional and internet-based voting
systems; evaluate the core elements of lawful relaxations to the principle of secret
suffrage, and especially those traditionally associated to different forms of remote voting,
and assess whether they can be applied to internet voting; and study how current technical
10
developments in the field of elections (and more broadly, in the field of e-governance and
e-democracy) may result in further relaxations of the principle of secret suffrage in the
future.
24. Wenbin Zhang et. al. [24], described that as blockchain technologies mature and
ecosystems over blockchain evolve, peers on blockchain networks often face situations
in which they need to conduct voting for decisionmaking; as happened in the case of the
DAO hard fork event on Ethereum. However, a natively built-in voting mechanism is not
available on any of the existing blockchain platforms. Thus, the decision making either is
delegated to a few network members who make such decisions offline or is dependent on
third party online voting services. In both cases, peers directly or indirectly rely on trusted
parties or centralized systems. This is against the basic decentralization principle of
blockchain and exposes the election to frauds. To facilitate decision-making in a
decentralized and secure manner, they propose a native blockchain voting protocol for
peers to vote over their existing blockchain network without the need of any trusted or
third party. Their protocol preserves end-to-end privacy and possesses desirable
properties such as detectability and correctability against cheating.
25. Patrick McCorry et. al. [25], demonstrated the first implementation of a decentralised
and self-tallying internet voting protocol with maximum voter privacy using the
Blockchain. The Open Vote Network is suitable for boardroom elections and is written as
a smart contract for Ethereum. Unlike previously proposed Blockchain e-voting
protocols, this is the first implementation that does not rely on any trusted authority to
compute the tally or to protect the voter’s privacy. Instead, the Open Vote Network is a
selftallying protocol, and each voter is in control of the privacy of their own vote such
that it can only be breached by a full collusion involving all other voters. The execution
of the protocol is enforced using the consensus mechanism that also secures the Ethereum
blockchain. They tested the implementation on Ethereum’s official test network to
demonstrate its feasibility.
26. Vairam T. et. al.[26], suggested that structuring an electronic voting system which
fulfills the legitimate requirements of representatives has been a challenge for a long time.
11
Conducting the free, systematic and impartial election is the vital goal of every democracy
nation. Every country follows a different voting system from old paper ballot system to
Electronic voting system. There facing a many problem in these voting systems. The main
problem is location and the accessibility, people are suffering to go to their native place
polling booth for casting their vote. This needs to be considered as every people s vote
plays significant role in deciding the right leaders. Blockchain technology offers the
transparency and security requisites for the impartial election. It is a complete
decentralized, immutable ledger system. The online voting system allows the voters to
cast their vote from any place at any time which leads to increasing the voter participation
count.
12
CHAPTER 3
Electronic voting or E-voting has fundamental benefits over paper-based systems such
as increasing efficiency and reducing error but the online voting system using
blockchain is a software platform used to securely conduct votes and elections. The
blockchain is an emerging, decentralized, and distributed technology with strong
cryptographic foundations that promise to improve different aspects of many
industries.
3.1.1 Blockchain
Blockchain technology makes e-voting cheaper, easier, and much more secure to
implement. It is a considerably new paradigm that can help to form decentralized
systems, which assure data integrity, availability, and fault tolerance. This technology
13
aims to revolutionize the systems. Blockchain systems are formed as decentralized
networked systems of computers.
3.1.2 Ethereum
Complex legal and financial applications such as Smart contracts can be built and
deployed using Ethereum as an open platform. Ethereum can be imagined as a
programmable Bitcoin in which the underlying blockchain can be used by developers
to build markets, mutual ledgers, digital associations, and other endless possibilities
involving unchanging data and agreements, all without the need for a middleman [21].
Released in 2015, Ethereum is the brainchild of prodigious Vitalik Buterin who saw the
possible applications of Bitcoins by Blockchain technologies as the next move in
furthering the growth of the Blockchain culture.
3.1.3 Hashing
Hashing is the method of adjusting the arbitrary and variable input size to a fixed output
size. There are various functions that perform different levels of hashing. We have
implemented security by using SHA-256. SHA-256 is one of the SHA-1 (collectively
referred to as SHA-2) successor hash functions and is one of the strongest hash
functions available. SHA-256 is not much more difficult to code than SHA-1 and is in
no way corrupted yet [19]. The 256-bit key makes AES a good partner feature which is
a symmetrical key encryption cipher, meaning that the same key is used for encryption
and decryption. Unlike its other predecessors, the algorithm’s versatility is that it
embraces any input length and produces an arbitrary output length, whilst all other
algorithms generate a set output length.
3.2.1 React.Js
14
Like all JavaScript frameworks and libraries, react.js primary use case is in the creation
of dynamic user interfaces, which update on the client (user) side. The page doesn’t
have to be refreshed in the browser but automatically updates. Exactly like a Facebook
feed does. Therefore, the social media giant invested in developing its own JavaScript
library, specifically tailored to the needs of its own apps.
They act as the back-end logic and storage. A contract is written in Solidity, a smart
contract language, and is a collection of code and data that resides at a specific address
on the Ethereum blockchain. It’s very similar to a class in Object Oriented
Programming, where it includes functions and state variables. Smart Contracts, along
with the Blockchain, are the basis of all Decentralized Applications. They are, like
Blockchain, immutable and distributed, which means upgrading them will be a pain if
they are already on the Ethereum Network.
It handles the internal state and computation of the entire Ethereum Network. Think of
the EVM as this massive, decentralized computer that contains “addresses” that can
execute code, change data, and interact with each other [22]. The current version of
EVMs that are being used in the election process cannot verify the identity of the voter.
This leads to a new problem, which if exploited any number of fake and bogus votes
can be cast in the ballot.
3.2.4 Web3.js
It is a JavaScript API that allows you to interact with the Blockchain, including making
transactions and calls to smart contracts. This API abstracts the communication with
Ethereum Clients, allowing developers to focus on the content of their application. You
must have a web3 instance embedded in your browser to do so [22]. Web3.js is a visual
interface for the Program with a large JavaScript library, which allows developers to
accept their smart contracts. Depending on the complexity of the Divided Applications
application, a designer may incorporate complex conclusions by designing Java-driven
dynamic projects or even familiarize themselves with their Dedicated application
experience with Python-coded intelligence-related projects.
15
3.2.5 Solidity
Solidity uses ECMAScript-like syntax which makes it familiar for existing web
developers; however, unlike ECMAScript it has static typing and variadic return types.
Solidity is different from other EVM-targeting languages such as Serpent and Mutan in
some important ways. It supports complex member variables for smart contracts,
including arbitrarily hierarchical mappings and structs. Solidity smart
contract support inheritance, including multiple inheritance with C3 linearization.
Solidity introduces an application binary interface (ABI) that facilitates multiple type-
safe functions within a single smart contract (this was also later supported by Serpent).
The Solidity proposal also includes "Natural Language Specification", a documentation
system for specifying user-centric descriptions of the ramifications of [Method
(computer programming) | method]-calls.
3.2.6 Ganache
Ganache is part of the Truffle Suite ecosystem. Specifically, the Truffle Suite consists
of Ganache and an additional pair of tools; Truffle and Drizzle. Truffle is a
development environment, asset pipeline, and testing framework using the EMV
(Ethereum Virtual Machine); meanwhile, Drizzle is a collection of frontend libraries.
Ganache is a high-end development tool used to run your own local blockchain for
both Ethereum and Corda dApp development. Ganache is helpful in all parts of the
development process. The local chain allows you to develop, deploy and test your
projects and smart contracts in a deterministic and safe environment.
16
There are two different” versions” of Ganache, one desktop application, and one
command-line tool. The desktop application is called Ganache UI, and it supports
development for both Ethereum and Corda; meanwhile, the command-line tool is
called ganache-CLI, which solely supports Ethereum development. Furthermore, all
the different versions of Ganache are available for Mac, Windows, and Linux .
3.2.7 Truffle
Truffle helps manage the artefacts of any smart contracts used in your dApps.
You can work on other aspects of the project while Truffle handles this. dApps
with more complicated library linking, bespoke deployments, etc.
Truffle also offers automated contract testing. This means you can automate
all of your contracts using your programming knowledge. The key benefit is
that you can construct smart contracts faster.
Truffle can help in design deployment scripts that account for changing
dApps. This means you can keep your smart contracts for a long time.
3.2.8 Metamask
MetaMask allows users to store and manage account keys, broadcast transactions, send
and receive Ethereum-based cryptocurrencies and tokens, and securely connect
to decentralized applications through a compatible web browser or the mobile app's
built-in browser.
17
Websites or other decentralized applications are able to connect, authenticate, and/or
integrate other smart contract functionality with a user's MetaMask wallet (and any
other similar blockchain wallet browser extensions) via JavaScript code that allows the
website to send action prompts, signature requests, or transaction requests to the user
through MetaMask as an intermediary.
3.2.9 DApps
The trustless and transparent nature of DApps have led to greater developments in the
utilisation of these features within the decentralized finance (DeFi) space.
DApps are divided into numerous categories: exchanges, games, finance, gambling,
development, storage, high-risk, wallet, governance, property, identity, media, social,
security, energy, insurance, health, etc.
18
It is a socket programming project using python. The client establishes a connection
with the server, this implies that the TCP protocol is being used. The Server should
allocate a new thread for every new incoming Client, to accomplish this feature we took
care of a concurrent line, that is, when the number of connections is made with the
server, that time each thread doesn’t interfere with one another. Therefore, we
synchronized the threads. A secure server that only allows clients with authentic names
and passwords to cast votes. Server checks for authenticity of the client & also checks
if client has already voted. It returns a message to the client according to the security
check. Voters are registered by admin and the voter list is stored in a csv file. Server
can take the client’s name and password and match it with the text file. If details match,
the voter is redirected to the secured Voting page. The voters will then cast a vote by
mentioning the poll symbol of the candidate from the candidate list provided by the
server. The system (server) can handle multiple clients and creates a new thread for
each of them. One client can cast a vote once and only once [23].
Visual Studio Code is a source-code editor that can be used with a variety of programming
languages, including C, C#, C++, Fortran, Go, Java, JavaScript, Node.js, Python, Rust. It is
based on the Electron framework. Which is used to develop Node.js web applications that run
on the Blink layout engine. Visual Studio Code employs the same editor component
19
(codenamed "Monaco") used in Azure DevOps (formerly called Visual Studio Online and
Visual Studio Team Services).
Out of the box, Visual Studio Code includes basic support for most common programming
languages. This basic support includes syntax highlighting, bracket matching, code folding,
and configurable snippets. Visual Studio Code also ships with IntelliSense for JavaScript,
TypeScript, JSON, CSS, and HTML, as well as debugging support for Node.js. Support for
additional languages can be provided by freely available extensions on the VS Code
Marketplace.
Instead of a project system, it allows users to open one or more directories, which can then
be saved in workspaces for future reuse. This allows it to operate as a language-agnostic code
editor for any language. It supports many programming languages and a set of features that
differs per language. Unwanted files and folders can be excluded from the project tree via the
settings. Many Visual Studio Code features are not exposed through menus or the user
interface but can be accessed via the command palette.
Visual Studio Code can be extended via extensions, available through a central repository.
This includes additions to the editor and language support. A notable feature is the ability to
create extensions that add support for new languages, themes, debuggers, time travel
debuggers, perform static code analysis, and add code linters using the Language Server
Protocol.
Source control is a built-in feature of Visual Studio Code. It has a dedicated tab inside of the
menu bar where users can access version control settings and view changes made to the
current project. To use the feature, Visual Studio Code must be linked to any supported
version control system (Git, Apache Subversion, Perforce, etc.). This allows users to create
repositories as well as to make push and pull requests directly from the Visual Studio Code
program.
Visual Studio Code includes multiple extensions for FTP, allowing the software to be used
as a free alternative for web development. Code can be synced between the editor and the
server, without downloading any extra software.
Visual Studio Code allows users to set the code page in which the active document is saved,
the newline character, and the programming language of the active document. This allows it
to be used on any platform, in any locale, and for any given programming language.
20
Visual Studio Code collects usage data and sends it to Microsoft, although this can be
disabled. Due to the open-source nature of the application, the telemetry code is accessible to
the public, who can see exactly what is collected.
In computer networking, host means a “server”. Just like you can put a website on the internet
by hosting it on a server, you can make your own computer that server. This connection is
called loopback. The IP address for that loopback is 127.0.0.1.
If you’ve put a website on the internet before, then you’ve dealt with hosting companies like
Heroku, Hostinger, Netlify, and many others. These are what I refer to as “remote hosts” or
virtual servers. So, by definition, localhost is the computer or hostname currently making a
request to itself. In this case, the computer is also the virtual server.
A database is a separate application that stores a collection of data. Each database has one or
more distinct APIs for creating, accessing, managing, searching and replicating the data it
holds. Other kinds of data stores can also be used, such as files on the file system or large
hash tables in memory but data fetching and writing would not be so fast and easy with those
type of systems. The main purpose of the database is to operate a large amount of information
by storing, retrieving, and managing data. There are many dynamic websites on the World
Wide Web nowadays which are handled through databases. For example, a model that checks
the availability of rooms in a hotel. It is an example of a dynamic website that uses a database.
There are many databases available like MySQL, Sybase, Oracle, MongoDB, Informix,
PostgreSQL, SQL Server, etc.
21
CHAPTER 4
PROPOSED METHODOLOGY
Step 1: The user lands on the website and will receive two options to initiate his request,
that is admin login and voter’s portal. In the case of admin login, certain verification
will be done, then they can conduct the election by adding details of candidates and
announcing the result. In the case of the voter’s portal move to Step 2.
Step 2: The voter lands on a portal having two options. They can either register themself
or log in using their Aadhaar number, if they log in then they can register themself for
elections, view candidate details, and be able to see the result of past elections. If the
user is a valid registered voter, then they will move to Step 3. For a voter to be validated,
the Aadhaar number of the voter should be found in the voter mapping along with the
Aadhar being the key and the voter's age should be greater than 18 and they must be
alive.
Step 3: Since the voter is a valid eligible voter, the ID of the voter will be presented
based on their constituency along with the list of candidates to vote for. As voters opt
to vote for a candidate, we move to the next step.
Step 4: In this step, the voter initiates the vote. As the vote is initiated, Step 5 and Step
6 are validated. As these steps are validated, the user's vote is registered against the
candidate, and the candidate's vote count is incremented.
Step 5: Before the actual vote is registered the contract checks if voting lines for the
election are open. Once validated, the flow moves to Step 6 else it moves to Step 7.
22
Step 6: In this step, several conditions are verified such as, if the voter's age is greater
than 18 if the voter has already voted, and if the candidate the voter has initiated the
vote for belongs to the same constituency as the voter. These checks are done through
a functional modifier.
Step 8: This step is satisfied if the voter can't access the result as the elections have not
ended yet.
Step 9: As the election process is completed, anyone can access the result from the
website.
4.2 User Flow Diagram, Admin Flow Diagram, State Transition Diagram, Data Flow
Diagram, Use Case Diagram, Activity Diagram
23
Fig. 1(a) depicts that user have to login or register themselves before viewing the
details of the candidates, registering for elections, and viewing the results.
24
fig.3 Data Flow Diagram
Fig.3 illustrates the flow of data between the system's modules, including accessing,
storing, and updating data.
25
fig 5 Activity Diagram
fig 5 defines modeling the flow from one activity to another activity of the system.
26
4.3 Result and Analysis
27
Fig.8 Database of predefined Aadhar Details
As shown in above Fig.8. It is a data set of registered user’s address, which consist
Account_address as a primary key and another column is showing the result of the
successful registration.
28
CHAPTER 5
• Security Testing- The agenda here is to guarantee that blockchain applications are
tested extensively to identify if they are vulnerable to attacks, and if the authorization
and authentication systems are credible. Security testing additionally considers the
other significant angles, for example, confidentiality, integrity, non-denial of services,
availability etc. Security testing ends up being significant in case of hacking of identity
layer of the blockchain application. Transactions which are in progress during the
event of detection of identity layer hack can't be halted immediately. Thus, security
testing should be performed to reveal all such potential identity layer hacks. The other
significant factor for security testing is that fraudulent transactions are irreversible as
transaction reversal is nearly impossible in blockchain technology.
The risk of tampering with traditional voting is usually low. But when it comes to e voting,
the situation is quite different. E-voting without strict security measures can result in a higher
risk of tampering of votes. Several research projects say that to build a system that supports
29
high-end security in the e-voting platform; the following properties are to be taken into
consideration.
● Authentication: This property ensures that only registered people are allowed to vote.
In our system, the registration process includes the voters to register with their details
and each voter is assigned with an ID, which he/she has to remember. This ID is used
in further verification.
● Integrity: The integrity property confirms the elections to take place fairly and
honestly. Each voter can make check that his/her vote is not manipulated. Therefore,
accuracy in the final results is the main aim of integrity.
● Verifiability: The property of verifiability applies both to the system and the
individual. The system must make sure all the votes are counted correctly. Each
individual should verify whether their vote has gone to the correct party or not.
30
CHAPTER 6
In future it is possible to build security measures for the system in the future to withstand
assaults such as Denial of Service (DDoS), which can damage multiple tiers in the network
stack. It is also intended to improve the model to accommodate a large number of networked
nodes. The model may be improved further to minimize the time required for block
verification. Alternative techniques, such as biometric authentication, can be implemented to
increase the system's overall security. This would also aid in reducing the amount of human
intervention necessary in the process. A SMS-based notification system may also be created
to tell voters on their registered mobile phones that their vote has been submitted to the
blockchain. Building on top of this, the hash of the block containing the user’s vote can be
provided using which the voters can verify their votes using an OTP mechanism. In practical
cases, where the number of nodes in the network might be very large; certain modifications
can be made to the system. One such change would be to add a congestion flag that can be
used to protect the nodes from being overwhelmed by the incoming verification requests. Or
in case of network congestion, the verification request can be forwarded to another
uncongested node.
Every system has its own set of advantages and shortcomings. Nothing of this nature is
flawless and the same goes for the Blockchain voting system. After adapting to this new
technological advancement, citizens and the election authorities realized that solving some
voting problems didn't address some of the core concerns but even created more vulnerable
situations than in mail-in voting or voting through internet-connected devices.
1. Online voting may seem appealing: voting from a computer or smartphone may seem
convenient and accessible. However, studies have been inconclusive, showing that online
voting may have little to no effect on turnout in practice, and it may even increase
disenfranchisement.
2. Data entry into the system can be highly secure, using biometric ID on your smartphone
and two-factor authentication. But it doesn’t have to be. Using such a system requires
31
every voter in the country to have such a phone, and to have gone down to the county
voter’s office to register and get the app in advance of the election.
3. It is enormously expensive in terms of capital costs to buy the computers— regular
machines can be but are not used, serious miners use machines optimized for the work—
and operating costs, chiefly electricity and rent for space to put in your server network, to
do this.
32
CHAPTER 7
CONCLUSION
In this project, we introduced a blockchain-based online voting system that utilizes smart
contracts to enable secure and cost-efficient elections while guaranteeing voters' privacy.
Blockchain technology offers a new possibility to overcome the limitations and adoption
barriers of online voting systems, ensuring election security and integrity and laying the
ground for transparency. Using an Ethereum private blockchain, it is possible to send
hundreds of transactions per second onto the blockchain, utilizing every aspect of the smart
contract to ease the load on the blockchain.
To achieve this we divided this overall work into three modules that are:
Until now we have completed our first module, in which we created the interactive user
interface for the admin and the user. We have also done some research work related to the
implementation of Blockchain in decentralized applications. In the future, we can use ML
and AI concepts to make the voting process more secure and correctly identify the person
who is voting. Using these concepts, we can verify whether the person voting is the same as
the person who has registered during the registration process.
33
CHAPTER 8
BIBLIOGRAPHY
8.1. REFERENCES
• [1]. Olivier Baudron, Pierre-Alain Fouque, David Pointcheval, Jacques Stern, and
Guillaume Poupard, "Practical multi-candidate election system". ACM Symposium on
Principles of Distributed Computing (PODC ’01), pages 274–283, 2001.
• [2]. Susan Bell, Josh Benaloh, Michael D. Byrne, Dana DeBeauvoir, Bryce Eakin, Gail
Fisher, Philip Kortum, Neal McBurnett, Julian Montoya, Michelle Parker, Olivier Pereira,
Philip B. Stark, Dan S. Wallach and Michael Winn, "A Secure, Transparent, Auditable,
and Reliable Voting System". USENIX Journal of Election Technology and Systems
(JETS), volume 1(1), pages 18-37, 2013.
• [3]. Tanikella Sai Charan, Srinanda Pentapati and Mrs. R. Prema, "E-Voting using
Blockchain Technology". International Research Journal of Engineering and Technology
(IRJET), volume 9, pages 900-905, 2022.
• [4]. Jens-Matthias Bohli, Jorn Muller-Quade and Stefan Rohrich, "Bingo Voting: Secure
and Coercion-Free Voting using a Trusted Random Number Generator". International
Conference on E-voting and Identity, pages 111-124, 2007.
• [5]. Himanshu Agarwal and G.N. Pandey. "Online voting system for India based on
Aadhaar id". Eleventh International Conference on ICT and Knowledge Engineering,
2013.
• [6]. Soumyajit Chakraborty, Siddhartha Mukherjee, Bhaswati Sadhukhan, and Kazi Tanvi
Yasmin, "Biometric Voting System using Aadhar Card in India". International journal of
Innovative research in Computer and Communication Engineering, volume 4, pages
5284-5291, 2016.
34
• [7]. Basit Shahzad and Jon Crowcroft "Trustworthy Electronic Voting Using Adjusted
Blockchain Technology". IEEE Access volume 7, pages 24477-24488, 2019.
• [8]. Scott Wolchok, Eric Wustrow, J Alex Halderman, Hari K Prasad, Arun Kankipati,
Sai Krishna Sakhamuri, Vasavya Yagati, and Rop Gonggrijp, "Security Analysis of
India's Electronic Voting Machines". 17th ACM conference on Computer and
communications security, pages 1–14, 2010.
• [9]. Dalia Khader, Ben Smyth, Peter Y. A. Ryan, and Feng Hao, "A Fair and Robust
Voting System by Broadcast". International Conference on E-voting, pages 285-299,
2012.
• [10]. Savitha R., Ashwini K. B. and Prashanth K., "Blockchain-Based Online Voting
System ". The Electrochemical Society, volume 107(1), pages 13195-13200, 2022.
• [11]. Aayushi Gupta, Jyotirmay Patel, Mansi Gupta, Harshit Gupta, "Issues and
Effectiveness of Blockchain Technology on Digital Voting". International Journal of
Engineering and Manufacturing Science, volume 7(1), 2017.
• [12]. Pavel Tarasov and Hitesh Tewari," The Future of E-Voting". IADIS International
Journal on Computer Science and Information Systems, volume 12, pages 148-165, 2017.
• [13]. Umut Can Çabuk, Eylül Adıgüzel and Enis Karaarslan, "A Survey on Feasibility
and Suitability of Blockchain Techniques for the E-Voting Systems". International
Journal of Advanced Research in Computer and Communication Engineering, volume 7,
pages 124-134, 2018.
• [14]. Lauretha Rura, Biju Issac, and Manas Kumar Haldar, "Implementation and
Evaluation of Steganography based on Online Voting System". International Journal of
Electronic Government Research, 2016.
• [15]. Siamak F. Shahandashti and Feng Hao, "DRE-ip: A Verifiable E-Voting Scheme
without Tallying Authorities". University of York, pages 223-240, 2016.
35
• [16]. F. P. Hjálmarsson, G. K. Hreiðarsson, M. Hamdaqa and G. Hjálmtýsson,
"Blockchain-Based E-Voting System," 11th International Conference on Cloud
Computing (CLOUD), pages 983-986, 2018.
• [19]. Dipali Pawar, Pooja Sarode, Shilpa Santpure and Poonam Thore, "Implementation
of Secure Voting System using Blockchain". International Journal of Engineering
Research & Technology (IJERT), volume 9, pages 1595-1598, 2020.
• [20]. Raghav Chhabra, Uday Vohra, Vishrant Khanna, Aditya Verman, Dr. Poonam
Tanwar and Dr. Brijesh Kumar, "The Next Gen Election: Design and Development of E-
Voting Web Application". Fifth International Conference on Communication and
Electronics Systems (ICCES), pages 536-541, 2020.
• [21]. Goodman, N., & Pammett, J. (2014). “The patchwork of internet voting in Canada”
6th International Conference on Electronic Voting: Verifying the Vote (EVOTE), pages
1-6, 2014.
• [22]. Agrey Srivastava, Ashay Sahare, Ashwika Dethe, Bhavishya Ambrish, Dr. Shounak
Sugave, “A Blockchain Based Decentralized Voting System” International Research
Journal of Engineering and Technology (IRJET) volume 7, 2020.
36
• [24]. Zhang, W., Yuan, Y., Hu, Y., Huang, S., Cao, S., Chopra, A., & Huang, S., "A
Privacy-Preserving Voting Protocol on Blockchain," 2018 IEEE 11th International
Conference on Cloud Computing (CLOUD), pages. 401-408, 2018.
• [25]. Patrick McCorry, Siamak F. Shahandashti, Feng Hao, “A smart contract for
boardroom voting with maximum voter privacy,” Financial Cryptography and Data
Security, Volume 10322, pages 357-375, 2017.
• [26]. www.itm-conferences.org.
• [27]. www.geeksforgeeks.com.
• [28]. www.github.com.
• [29]. https://docs.soliditylang.org
37
8.2. SNAPSHOTS
38
Snapshot 3: User registration page for voting of Online voting System.
39
Snapshot 5: Add Candidate form
40
8.3 APENDIX
Contest.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;
contract Contest{
struct Contestant{
uint id;
string name;
uint voteCount;
string party;
uint age;
string qualifications;
}
struct Voter{
bool hasVoted;
uint vote;
bool isRegistered;
}
address admin;
mapping(uint => Contestant) public contestants;
mapping(address => Voter) public voters;
uint public contestantsCount;
enum PHASE{reg, voting , done}
PHASE public state;
modifier onlyAdmin(){
require(msg.sender==admin);
_;
}
modifier validState(PHASE x){
require(state==x);
_;
}
constructor(){
admin=msg.sender;
state=PHASE.reg;
// counter = 0;
}
function changeState(PHASE x) onlyAdmin public{
require(x > state);
state = x;
}
function addContestant(string memory _name , string memory _party ,uint
_age , string memory _qualification) public onlyAdmin
validState(PHASE.reg){
contestantsCount++;
contestants[contestantsCount]=Contestant(contestantsCount,_name,0,_par
ty,_age,_qualification);
41
}
function voterRegisteration(address user) public onlyAdmin
validState(PHASE.reg){
voters[user].isRegistered=true;
}
function vote(uint _contestantId) public validState(PHASE.voting){
require(voters[msg.sender].isRegistered);
require(!voters[msg.sender].hasVoted);
require(_contestantId > 0 && _contestantId<=contestantsCount);
contestants[_contestantId].voteCount++;
voters[msg.sender].hasVoted=true;
voters[msg.sender].vote=_contestantId;
}
}
42
8.4. CURRICULUM VITAE
43
44
45
CHAPTER 8
BIBLIOGRAPHICAL SKETCH
Dr. Brajesh Kumar Singh was born in District Agra (U.P.) in 1978. He completed his
doctorate degree in Computer Science and Engineering from Motilal Nehru National Institute
of Technology, Allahabad (U.P.) in year 2014. He joined as a Lecturer./ Asstt. Prof. at R.B.S.
Engineering Technical Campus, Bichpuri, Agra in Year 2001. In year 2007, he was appointed
as Reader/ Assoc. Prof. in same organization. In December 2017, he took over charge as Head
of The department in Computer Science and Engineering. In Oct 2018, he got promoted on
the post of Professor. He has guided more than 50 B.Tech. and 9 M. Tech. projects of National
and international repute. He is supervising 2 Ph.D. candidates. He has 50 publications to his
credit in national and international journals and proceedings of high repute with large number
of citations of his research manuscripts. Dr. Singh has delivered several invited talks/ key
note addresses and chaired sessions in national and international conferences of high repute
in India and abroad. He is having collaborative training programs/workshops with IIT
Bombay. He significantly contributed in enhancing the research standards in the department
of CSE. He is in the receipt of IBM best project awards. Dr. Singh has organized successfully
more than 45 International and national Conferences/Seminars/Workshops as organizing
secretary/ member of International program Committee in India and abroad. He is the editor
of highly reputed national/ International Journals.
46
Designation with Department: Professor & Head (Computer Science & Engineering)
Contact No: 9675430802
Email: brajesh1678@gmail.com
Specialization: Computer Science and Engineering
Experience: 22 Years and 6 Months
Research Articles/Published/Membership: 57
Present Area of work: Software Engineering, Software Project Management, Data Mining,
Soft Computing, Computer Vision, IoT, Cloud Computing
Awards and Recognitions
• Best Project Award by IBM.
• Best Paper Awards.
• Chaired Springer Sponsored International Conference at Ajmer, India in 2017.
• Chaired Springer Sponsored International Conference at Ajmer, India in 2018.
• Coordinator, spoken tutorial Training programs in collaboration with IIT Bombay
under National Mission on Education through ICT, MHRD, Govt. of India.
• Delivered a keynote speech and chaired a session in IC4S 2017 at Phuket, Thailand.
• Delivered a keynote speech and chaired a session in IC4S 2018 at Bangkok, Thailand.
• Delivered an invited talk at Campus of ITS, Sukolilo-Surbaya, Indonesia as visiting
professor in workshop on Software Testing for The Information System International
Conference (ISICO), held during July 22-25, 2019.
• Founder Developer of College Website: www.fetrbs.org
• Guiding 01 Ph. D. Scholars enrolled with AKTU, Lucknow.
• Invitation from IEEE international conference, China to Chair a session
• Member of IEEE SOCIETY and IEEE Communications Society, the largest technical
professional society in the world.
• Member of various International Associations/Societies of Artificial Intelligence/
Computer Science/ Scientific Computing.
• No. of M. Tech. Scholars Guided: 10
• Nominated, treasurer for the IEEE, UP section, SP/C (Signal Processing/Computer)
Joint Chapter in year 2014.
• One Book Published for Engineering and MCA students
47
• Organized 1 Springer sponsored Scopus indexed International Conferences as
Conference Chair.
• Organized 2 National Conferences as Joint secretary/ Secretary.
• Supervised 01 Ph. D. Scholars enrolled with AKTU, Lucknow.
• Visited China to present Research paper in IEEE conference
Journals/Academic Achievements
• Editor/Member of Editorial board and Reviewer of various International/National
Journals of Intelligent Information Processing, Multidisciplinary Advance Research
in Science & Technology, Computer Science & Information Engineering in India
and abroad.
• Executive Member of various International/National conference program
committees in India, USA, China, Singapore, France, United Kingdom, Hongkong,
Japan, South Korea, Malaysia, Romania, Republic of Macedonia, Netherlands,
Greece, Denmark, Turkey, Philippines and others.
48
Harshit Jain
Harshit Jain is final year student of Computer Science and Engineering at Raja Balwant Singh
Engineering Technical Campus, Agra. He has completed his intermediate from U.P. board in
the year 2018 with 80.60%. He skilled in React.js, Frontend development, Solidity and
Blockchain. He has completed his training of frontend development from Udemy.com and
completed his training of solidity from Dappuniversity.com.
Muskan Singh
Muskan Singh is final year student of Computer Science and Engineering at Raja Balwant
Singh Engineering Technical Campus, Agra. She has completed his intermediate from CBSE
board in the year 2019 with 80.60%. She skilled in React.js, Frontend development, Solidity
and Blockchain. She has completed his training of web development from Udemy.com and
completed his training of solidity from Dappuniversity.com.
49
Prateek Gaur
Prateek Gaur is final year student of Computer Science and Engineering at Raja Balwant
Singh Engineering Technical Campus, Agra. He has completed his intermediate from CBSE
board in the year 2018 with 66.2%. He skilled in Frontend development, SQL, Solidity &
Blockchain. He has completed his training of frontend development from Udemy.com and
completed his training of solidity from Dappuniversity.com.
50