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. 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 biometric, enable dynamic polling loading and audibility after casting a vote. Blockchain, as the underlying mechanism 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.
Essentially, 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 illegal alteration, modification, and update.
Users can access the network, start sending transactions to it, validate transactions, and build new blocks 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.
In this module, at the Voter Registration stage of the election process, voter information such as name, gender, address, and biometric is obtained, using which voters get validated before voting.
This module, based on the location of residence, loads voters and participants onto the ballot. Then, 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 on which an elector voted.
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. It is provided to the user as an identification using which electors can validate their vote.
The electoral body, the registry body, electors, and candidates are the players in this system.
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.
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.
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.
A set of lists should be of the candidates. There will be candidate registration for each candidate for vote counting.
The framework comprises the Apache Server, MySQL registry, PHP, Solidity programming language, Ganache, and MD5 hashing algorithm.
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.
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.
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 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 is a distributed ledger protocol, powered by Ethereum. 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.
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.
The RA is responsible for the admission of candidates and electors to the ballot.
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 such a blockchain-powered voting system for enterprise-level requirements as well. Connect with our blockchain experts for information.