Developing a Decentralized E-Voting System with Blockchain

Published : Oct 21, 2020

blockchain e-voting

  • In this blog, we will examine how a blockchain and smart contract-powered decentralized e-voting framework, in comparison to the current voting system, provides efficient service to voters by offering transparency and versatility. Also, we will explore how owing to problems such as vote tampering, vote phishing, and the infiltration of polling stations, existing voting mechanisms prove faulty.

    Blockchain proponents, however, suggest the use of emerging technology with smart contract solutions to strengthen authentication in the voting process using biometrics and enable dynamic polling loading and audibility after casting a vote. Blockchain, as the underlying mechanism of powering voting systems, not only for governments but businesses as well, can solve various constraints of current e-voting systems used across demographics. 

    Moving beyond its use for facilitating the creation of cryptocurrencies, blockchain technology is now proving the modern era's development that can ensure the overall flexibility of e-voting. Let's theoretically understand how a blockchain-based voting system transforms the established political process mechanism into an automated security model with improved security.

    Blockchain Technology

    Basically, blockchain technology-based systems are capable of accomplishing resilient authentication strategies with solid cryptographic frameworks. Indeed, blockchain is a distributed ledger technology (database) that holds a complete set of continuously growing data records. With its features like immutability, cryptographic mechanism, and consensus method, it protects those records from subsequent illegal alteration, modification, and update.

    Users can access the network, start sending transactions, validate transactions, and build new blocks with Blockchain. 

    Also, Read | The Rise of Blockchain in Voting: Thailand Held the First E-Voting

    Decentralized E-Voting System Developed with Blockchain

    We discuss a theoretical decentralized e-voting model built with blockchain technology to administer the election. In this section, we back a proposal to incorporate blockchain technology with state-of-the-art e-balloting technology. The following are the modules that may get involved in the system's infrastructure design.

    Validation of stakeholders through Biometric

    In this module, at the Voter Registration stage of the election process, voter information such as name, gender, address, and biometrics is obtained, using which voters get validated before voting.

    Ballot Configuration Dynamically

    This module, based on the location of residence, loads voters and participants onto the ballot. Further, an elector has to pick his or her preferred participant. Thus, the elector does not need to drive to their home to exercise their right to vote in a polling booth nearby. To achieve ballot secrecy, no outside investigator can decide which elector voted.

    Vote Validation after Voting

    After making a transaction, a transaction ID gets created on the blockchain network. A transaction ID is created for each transaction when voters cast their votes on the blockchain network. Further, it is provided to the user as an identification using which electors can validate their vote.

    Also, Read | Voting: One Place Where Blockchain Can Really Show Its Potential

    A Hypothetical Architecture of the System

    The electoral body, the registry body, electors, and candidates are the players in this system.

    (EA) Election Administrators

    The authority's responsibility is the formation of a ballot, the issuance of voting numbers, the payment of vote casting fees to the mechanically created blockchain address inside the backend. The EA has a blockchain wallet address. It generates the count of votes and broadcasts the results.

    (RA) Registration Authority

    To get ready to vote, electors can register with the RA. Candidates need to share their information and register themselves with the RA. Subsequently, the RA will give him a candidate ID.

     (V) Voters

    A series of lists should be for voters. Voters must pass their public key (PKI) to an election administrator. By using Biometric, authorities validate the credentials of electors before polling, and hence the method guarantees individual verifiability. During the referendum, an elector should not engage with a coercer to show if he or she is voting.

    (C) Candidate

    A set of lists should be of the candidates. There will be candidate registration for each candidate for vote counting.

    Components of the System

    The framework comprises the Apache Server, MySQL registry, PHP, Solidity programming language, Ganache, and MD5 hashing algorithm.

    Apache Web Server

    It is software for the development, implementation, and maintenance of an open-source web server. It can host this decentralized web app for e-voting on the HTTP server.

    MySQL Database

    It is a Relational Database Management System (RDBMS). It can store all election data, such as candidate and voter records.


    It is a free supply purpose-specific scripting language. It is primarily suitable for net improvement and can integrate with HTML.

    Smart Contract

    A smart contract is a delicate code that enables the creation of election rules into lines of code.


    Solidity is for the drafting of smart contracts. It is an object-oriented programming language used on blockchain networks for executing smart contracts. The election rules are executable in the network with smart contracts using solidity.


    The message-digest version 5 algorithm is a function that produces a hash value of 128 bits. It is a one-way function of the hash for providing authentication.

    Public key Encryption

    Public key encryption is a type of encryption that enables ciphertexts to work, producing an encrypted version that matches the outcome of the operations upon decryption, similar to the execution as the plaintext.

    Quorum Blockchain

    Quorum is a distributed ledger protocol, powered by  Ethereum. Especially, it facilitates transaction and privacy settlement. Transaction and resolution privacy, consensus process based on voting, network and peer permission control, and higher overall efficiency, are a few features of Quorum.


    To improve the user usability of the Ethereum blockchain, MetaMask came into existence. Basically, as a module for Chrome, it serves as an Ethereum browser. It enables users to maintain their Ethereum wallets and engage with decentralized apps and smart contracts in the network without requiring to operate a full node.

    Also, Read | Ethereum Smart Contracts | An In-depth Review of the Potential

    Role of Stakeholders


    At the time of polling, the MD5 algorithm processes and further hashes the biometric information for verification using the election database. Subsequently, the system routes a user to the corresponding voting page if the hash fits, and the candidates are visible on the web page. Then, voters pick their preferred nominee, and the candidate's blockchain address keeps the count of votes. Eventually, When electors cast their ballot, at their blockchain address, the voting fee becomes zero. Also, the repetition of voting is also not practical.

    Registry Authority

    The RA is responsible for the admission of candidates and electors to the ballot.

    Election Authority

    It is the responsibility of the Election Authority to deploy the initial register and build smart contracts. Also, the Election Authority does have the power to issue or re-vote consent for registered voters/creators to produce ballots.

    We can also develop a blockchain-powered voting system for enterprise-level requirements as well. Connect with our blockchain experts for information.

How useful was this post?

Click on a star to rate it!

  • 0
  • 0

No votes so far! Be the first to rate this post.

Share :

Leave a Comment

Name is required

Comment is required

Recaptcha is required.

No Comments Yet.

More From Oodles

By using this site, you allow our use of cookies. For more information on the cookies we use and how to delete or block them, please read our cookie notice.

Chat with Us Chat with Us
We would love to hear from you!

Oodles | Blockchain Development Company

Name is required

Enter a valid Name

Please enter a valid Phone Number

Please remove URL from text

Recaptcha is required.