1. Introduction
Elections are crucial, but a sizable portion of the population has little faith in the system, a grave issue for a nation. Even the most significant countries, such as India, are affected by a flawed electoral system. The fundamental problems with the current vote-casting device are vote falsification, election control, and poll space shooting. In the modern era, blockchain technology has been a revolutionary force dramatically impacting numerous industries, from banking to healthcare [
1]. One of the most intriguing applications of blockchain technology has been its use in the voting system, allowing for voter authentication, improved security, and increased transparency [
2,
3]. Blockchain is a distributed ledger system that records and stores data securely and reliably. It is a decentralized system, meaning the data is stored on many computers rather than a single, central computer, making it virtually impossible to tamper with or manipulate. A blockchain voting system relies on this technology to provide secure, reliable voting [
4]. Blockchain technology in the poll has been gaining attraction due to its promise of improved security, greater transparency, and more efficient management. Blockchain voting systems are more secure than traditional voting systems because they provide a tamper-proof record of each vote stored securely on the blockchain and can be verified by anyone. This eliminates the possibility of faked or manipulated votes, as each ballot is transparently recorded on the blockchain for anyone to view.
Another advantage of blockchain voting systems is that they are much more efficient than traditional ones. They are faster, as votes can be recorded and stored securely on the blockchain in minutes or seconds, compared to conventional voting systems, which sometimes take days or weeks to be tallied. This makes it easier for officials to manage and monitor elections, as the votes are tabulated in real-time. In addition, blockchain voting systems can also be used to provide voter authentication. This ensures that only authorized voters can vote and are securely stored and validated. This eliminates the possibility of voter fraud, as votes can be tracked and verified to ensure that they are authentic [
5,
6,
7,
8,
9,
10,
11].
Finally, blockchain voting systems provide greater transparency than traditional voting systems due to the distributed nature of the blockchain. All votes are securely stored on the blockchain, allowing anyone to view and verify them. This eliminates the possibility of rigged or manipulated polls, as anyone can view them and verify that they are accurate and authentic. In conclusion, blockchain voting systems offer numerous advantages over traditional voting systems, such as improved security, transparency, and efficiency. As technology evolves and improves, blockchain voting systems become increasingly popular and could soon become the norm in elections worldwide [
12,
13,
14].
Section 1 represents a brief introduction, and
Section 2 describes Blockchain in detail and its subsequent necessity.
Section 3 iterates through the short report of the literature review.
Section 4 outlines the proposed methodology and design. It also gives details of multiple phases and the level of work done in the technical aspect of the proposed system.
Section 5 is an analysis and discussion of the theoretical and practical implementation of the proposed method; It also has a validation subsection. Finally,
Section 6 is the conclusion, briefly summarizing the proposed model.
3. Literature Review
Several papers have been published presenting the functions and issues with blockchain-based Voting protocols. In this section, we have given some relevant blockchain voting protocols. The Open vote network proposed by Uzma Jafar [
1] was the first release of a self-counting internet protocol that granted security and privacy through Ethereum. Open Vote Network supported a small voting size of 50–60, a choice by design but still failed to stop miners from illegal activities on the system. Voters could also break the Voting system by sending an invalid vote. This system did not guarantee resistance to violence and corruption, and since solidity did not support ‘elliptic curve cryptography,’ the additional library developed into a better blockchain voting protocol. After the library was added, the contracts and transaction data became too big to be stored on the blockchain. The cost to maintain transaction data on Ethereum was astronomically high; storing all voters’ data on it wasn’t feasible.
Table 1 illustrates the comparison of several blockchain voting platforms, frameworks they used, their security protocols, and limitations.
Hsueh C.W [
2] presented a decentralized and ingenuous electronic voting protocol. The voting system (Date) required a minimum degree of confidence between candidates. The date provided the ability to do large-scale electronic elections, which OVN lacked. Regrettably, this proposed system was also functional enough to provide security from DoS attacks because the authority needed for auditing the vote after the election wasn’t available. While using Ring Signature, which keeps users’ privacy, it was hard to coordinate several signers. This protocol could only be used for small-scale voting despite providing the ability to do large scales. Shahzad et al. [
3] presented a reliable blockchain-based voting protocol. On a minor scale, it promised to solve anonymity, security, and privacy problems in blockchain systems. However, this protocol wasn’t problem-free; this paper used a mathematically complex and resource-demanding algorithm. It needs a vast supply of energy to process. Another issue arises from the involvement of third parties because there is a risk of fraudulent activity and data leaks.
Shiyao Gao [
4] proposed an auditable blockchain-based voting technology. They also modified the algorithm method to make it resistant to DoS attacks. It not only accepts the anonymity of the voter, but it also helps the audit process. However, the proposition analysis demonstrates that if voting is small scaled, privacy and efficiency gains for election are considerable. Depending on the size, some efficiency is sacrificed to give higher privacy. Haibo Yi [
5] proposed a Blockchain-based Voting Scheme that employed blockchain technology to increase voting security in a peer network. A technology placed on distributed ledger technology can be used to prevent vote manipulation. Protocol was developed and tested on a peer network using Linux computers. This technology makes the involvement of external parties necessary and is unsuitable for centralized use in a system with various agents. With this system using a distributed technology, securing multi-functional computers can prevent the issue. If the calculation is complex and there are too many voters, compute expenses become significant, if not prohibitive.
Khan, K.M. [
6] proposed a blockchain-based electronic voting protocol. Their experiments also provide fascinating insights into how specific characteristics, such as interactions between various parameters and security and performance indicators within an organization, affect the system’s overall scale value and reliability. It became clear. According to the author’s proposal, the election operation needs the implementation of unique and hash-able addresses for voters and candidates. Voters use these addresses to vote for candidates. However, severe drawbacks of this model were revealed. This paper was open to bilateral investment because no regulators prevent unauthorized voters from voting. Their methodology needed to be revised and indifferent to the integrity of the voting process. This attack could be more targeted because it needs to address the main problems of blockchain voting systems, especially the scalability and latency of electronic voting. They used a multi-chain architecture, a private blockchain based on Bitcoin unsuitable for a referendum. According to the authors, this method is only suitable for small and medium voting contexts.
The main areas for improvement of past proposed blockchain-based voting systems are primarily related to security and scalability issues. Many previous models have used public blockchains, which are vulnerable to attacks from malicious actors. Moreover, the transparency of public blockchains can compromise voter anonymity, which is essential to ensuring free and fair elections. Scalability is another significant issue in previous blockchain-based voting models. Public blockchains, which are commonly used in many of these models, have limited transaction processing capabilities, which can result in long voting times and increased costs. Additionally, the high cost of transactions on public blockchains may make it difficult to implement blockchain-based voting systems on a large scale. Another challenge previous models faced was a standardized consensus mechanism for blockchain-based voting. Different models have used various consensus mechanisms, including proof of work, proof of stake, and delegated proof of stake. However, these mechanisms may not be suitable for large-scale voting systems due to their high resource requirements. The drawback of an online voting system where anyone can cast a vote instead of the intended user is the issue of voter authentication and identification. In a traditional paper-based voting system, voters must physically present themselves at the polling station and verify their identity through government-issued identification, such as a passport or driver’s license. However, in an online voting system, demonstrating the voter’s identity is challenging, and there is a higher risk of fraud or impersonation. Another problem with online voting is that an attacker could gain unauthorized access to the voting system and cast votes on behalf of other users.
Recent work in blockchain voting takes advantage of Zero Knowledge Proofs (ZKPs) to determine the rightful owner of the vote. ZKPs allow for verifying a statement without revealing information beyond what is necessary to prove the statement’s truth. This means it is possible to establish a valid vote without revealing the voter’s identity or any information about their voting preferences. One example of using ZKPs in blockchain voting is the implementation of a ZKP-based authentication mechanism, where voters provide their identity information to a trusted third party, which then generates cryptographic proof that the voter is eligible to cast a vote. The evidence is then submitted to the blockchain and verified using ZKPs, allowing the voter to cast a ballot without revealing their identity. Another example is using ZKP-based anonymous voting schemes, where voters can cast their votes without revealing their preferences or identity. This is achieved using ZKPs to prove a valid vote without revealing any information. The use of ZKPs in blockchain voting provides a promising avenue for addressing the challenge of verifying the rightful owner’s identity while preserving the voter’s privacy and anonymity.
To address the shortcomings of previous blockchain voting systems, our proposed blockchain voting system offers three key contributions:
A novel blockchain architecture with a hybrid consensus mechanism and a modular design was proposed, effectively improving the system’s security, scalability, and transparency capabilities for conducting secure and efficient voting.
The proposed blockchain voting system integrates face recognition to deal with the issue of unauthorized access and impersonation. AIML-based face recognition can significantly enhance the security of online voting systems by reducing the risk of unauthorized voting.
The proposed blockchain voting system has better performance and security capabilities than other classical models and can ensure the voting results’ anonymity, integrity, and accuracy while maintaining the voters’ privacy.
5. Analysis and Discussion
One of the most promising applications of blockchain technology is in the field of voting. The decentralization and transparency provided by blockchain can potentially eliminate the issues of fraud and manipulation that plague traditional voting systems. Firstly, the cryptographic functions used in blockchain technology make it practically impossible to tamper with the data stored in the blocks. For example, the SHA-256 algorithm used in Bitcoin has a 256-bit output, meaning that the chances of finding two inputs that hash to the same output are approximately 1 in
, a minimal probability. This makes it very difficult for anyone to alter the data in the blockchain without being detected. The SHA-256 hash function takes an input message and produces a fixed-size output hash value of 256 bits. The AES-256 encryption algorithm takes a plaintext message and a secret key and produces a ciphertext message of the same length [
26].
We can represent the process of hashing the message M as follows:
Let’s assume the input message M is “Voter A votes for candidate A”. We can compute the SHA-256 hash of M as follows:
H(“Voter A votes for candidate A”) = SHA-256(“Voter A votes for candidate A”) = 6789470e0b030e13d1ebf3eaccb7a8878ed721c9b3d41c279f54b49e8eb63e99
The resulting hash value is a 256-bit hexadecimal number. Next, we can represent the process of encrypting the message M using the AES-256 encryption algorithm as follows:
C is the ciphertext, M is the plaintext message, and K is the secret key. Let’s assume that the private key is “secret123”. We can encrypt the plaintext message “Voter A votes for candidate A” using AES-256 as follows:
C = AES-256(“Voter A votes for candidate A”, “secret123”)
= “qLwmc7rsiM2QIYzKbL4x4cXcdjuvKj+CvcgPuz49ec8=”
The resulting ciphertext is a base64-encoded string of the same length as the plaintext message. By using both hashing and encryption techniques in a smart contract, we can ensure that the voting data is secure and tamper-proof on the blockchain. The efficiency of a blockchain-based voting system is determined by its ability to ensure fast and secure voting with minimal errors or delays. Additionally, the system’s decentralization ensures that votes are recorded and verified by a network of nodes rather than a central authority. This results in a more transparent and trustworthy voting process with higher accuracy and efficiency [
27].
The main reason the blockchain-based voting system is preferable to the traditional approach is its efficiency. We have analyzed the efficiency of blockchain and conventional systems through tests and sample data. To test the proposed blockchain-based voting system, 1000 votes(V) were chosen to be cast, of which 800 were successful in an hour.
The system’s efficiency is calculated as the ratio of the votes cast to the total time taken T, multiplied by the number of candidates C:
Substituting the given values:
This means that, on average, each candidate received about 13.2 votes per minute. To calculate the efficiency of a traditional voting system, we considered several factors, such as the time taken for vote counting, the number of errors made during the process, the accuracy of the results, and the level of transparency and trust in the system. A traditional voting system takes an average of 2 hours to count the votes, has a 1% error rate, and results in a 90% accuracy rate; the efficiency can be calculated using the following formula:
Therefore, the efficiency of the traditional voting system would be 0.0018. Comparing this to the efficiency of the blockchain-based voting system (0.0078), we can see that the blockchain-based system is more efficient in terms of time and accuracy. However, it is important to note that this is just one factor to consider, and other factors, such as security and trust, should also be evaluated before deciding on a voting system. However, there are also some potential drawbacks to consider. One issue is the risk of centralization, where a small group of entities control most of the blockchain’s computing power and therefore have a disproportionate influence over the voting process. Additionally, the immutability of blockchain can make it difficult to correct errors or address disputes once the voting process has ended. Another potential issue is the need for voter privacy. While blockchain provides transparency and accountability, it can also compromise the anonymity of voters if their identities are linked to their votes. To address this, some blockchain-based voting systems use zero-knowledge proofs, which allow voters to prove that they cast a valid vote without revealing their actual vote [
28]. The main drawback of an online voting system where anyone can cast a vote instead of the intended user is the issue of voter authentication and identification. In a traditional paper-based voting system, voters must physically present themselves at the polling station and verify their identity through government-issued identification, such as a passport or driver’s license. However, in an online voting system, it is challenging to ascertain the identity of the voter, and there is a higher risk of fraud or impersonation [
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41]. The proposed system is integrated with AIML-based face recognition to tackle this issue. AIML-based face recognition is a modern technique that uses computer algorithms to detect and recognize human faces. In the context of online voting systems, this technology can combat the issue of unauthorized voting by verifying the identity of the person casting the vote. The system can ensure that only authorized users are casting votes by requiring users to present their faces in front of a camera during the voting process. The face recognition system uses various computer vision algorithms to detect and extract facial features such as the eyes, nose, and mouth from images. These features are then compared to a database of known faces to identify the person in the picture. The algorithm can also check for anomalies, such as masks or other facial coverings, that could be used to deceive the system. AIML-based face recognition can significantly enhance the security of online voting systems by reducing the risk of unauthorized voting. This technology provides a reliable and efficient way to verify the voter’s identity in real-time, significantly reducing the risk of fraud and manipulation. In addition to enhancing security, face recognition technology can also improve the user experience for voters. By streamlining the verification process, voters can quickly and easily cast their votes without requiring lengthy identity verification procedures.
5.1. Validation
The purpose of this validation is to evaluate the performance of the proposed Blockchain Voting System. The validation process aims to test the system’s capabilities and identify any weaknesses or flaws that need improvement. To validate the Blockchain Voting System, we conducted a series of tests on different aspects of the system. These tests evaluated the system’s functionality, security, and usability. We tested the functionality of the Blockchain Voting System by simulating a mock election. During this simulation, we registered voters, recorded their votes, and counted the results. The system performed well during this test, accurately recording and counting all votes. Security is an essential aspect of any voting system, and the Blockchain Voting System has several security measures in place. We tested the system’s security by attempting to hack into the system and alter the recorded votes. However, the proposed model could not bypass the system’s security protocols, and all recorded votes remained unchanged. Usability is another crucial factor in a voting system, as it should be easy for voters to use and understand. We conducted a user study to evaluate the system’s usability. The results of this study showed that the system was intuitive and easy to use, with a user-friendly interface.
5.2. Test Results
System Performance: The system handled the sample data efficiently and promptly. The total time taken for the system to process all the votes was one hour, which is within acceptable limits. The plan also handled the total number of votes cast (800) and the number of eligible voters (1000) without any issues.
Accuracy: The accuracy of the results was assessed by comparing the number of votes cast to the number of eligible voters and the number of candidates. The results were accurate, with 80% eligible voters casting their votes and five candidates being present in the election.
Security: The system’s security was also tested and found to be secure due to smart contracts and encryption. The hashing and encryption algorithms used in the system were effective in protecting the integrity of the votes cast and ensuring that they could not be tampered with.
User Experience: The system’s user experience was satisfactory, with an intuitive user interface and clear instructions for voters and administrators.
Overall Efficiency: The efficiency of the system was evaluated using the formula: Efficiency = (Total number of votes cast / Total number of eligible voters) × 100% Plugging in the provided data: Efficiency = (800 / 1000) × 100% = 80%
This indicates that the system achieved an efficiency of 80% in processing the votes cast, which is a good result. Based on the results of this validation test, it can be concluded that the proposed system is an effective and secure solution for conducting elections. The plan handled the sample data efficiently and accurately while providing a satisfactory user experience. The system’s efficiency in processing votes was also high, indicating that it is a viable alternative to traditional voting systems.
Table 5 includes columns for the validation criteria, test case, result, expected outcome, actual outcome, and pass/fail status. Each row represents a different validation test, such as voter registration or vote counting. The table can be used to track the results of each test, including any errors or unexpected outcomes that occurred during the testing process. The pass/fail status column indicates whether each test passed or failed based on the expected result. This type of validation table can be used to ensure the reliability and accuracy of the blockchain voting system.
Table 6 shows the validation process results for the blockchain voting system. Each validation criterion is listed, along with whether it passed or failed. The requirements include accuracy of vote counting, integrity of the blockchain, security of voter information, ease of use for voters, and ease of use for administrators. The validation process found that all criteria passed, indicating that the system was effective and reliable. Validation is generated through vigorous testing on blockchain models like Ethereum and Multichain. Testing is applied on the local blockchain and deployed blockchain.
6. Conclusions
The issue of maintaining a secure voting system is a prevalent problem in many countries. Current voting systems, such as the EVM in India, face significant problems, such as decreased security and privacy concerns. The proposed model presents solutions to these problems through a blockchain-based voting system that utilizes smart contracts to ensure voter privacy, increase voting motivation, and enhance overall election security. The proposed method used Ganache, a private Ethereum platform, to develop a decentralized application with numerous advantages, such as accurate traceability and high-security protocols. By utilizing a decentralized database, the proposed system offers a more secure voting process than existing centralized databases. One significant benefit of the proposed method is that voters can vote from anywhere and on any internet-enabled device. This feature enhances convenience and accessibility for voters and potentially increases voter turnout. Moreover, the proposed system increases voter motivation by instilling trust in voting, a crucial aspect of a fair election. While the proposed method offers numerous advantages over current voting systems, there are opportunities for future research to increase its security and accuracy. Implementing AIML can be utilized to identify the individuals casting their votes. This addition could provide an additional layer of protection to ensure that only eligible voters are casting their votes. The protocol could verify whether the person voting is the same person who registered during the registration process. By incorporating these concepts, the voting system could be made even more secure and trustworthy, ultimately ensuring a fair election. Our proposed model is validated and evaluated through simulations and experiments to ensure the accuracy and effectiveness of our proposed blockchain voting system. In conclusion, the proposed blockchain-based voting system with smart contracts offers numerous advantages over traditional voting systems. The system provides a more secure and private voting process while increasing convenience and accessibility for voters. Implementing AI and ML concepts could enhance the system’s security and accuracy, ensuring a fair and transparent election process. By utilizing this system, countries could provide a fair and transparent election process, instilling trust in the democratic process.