Secure Voting Website Using Ethereum and Smart Contracts
Abstract
:1. Introduction
2. Blockchain
- Node: Each user in a blockchain network is a node. A copy of the distributed ledger is shared with all the blockchain network nodes.
- Transaction: is the foundation of blockchain. In a blockchain, transaction details (asset, price, and ownership) are recorded and verified across all nodes.
- Block: numerous blocks in the blockchain network store information such as the hash of that block. Figure 1 represents blocks committed in a ledger with their hash Id.
- Chain: blocks in a specific order. Blockchain ensures these blocks’ order by storing the previous node’s hash in the current node.
- Miners: nodes that perform complex blockchain operations are responsible for verifying whether a transaction is valid.
- Consensus: Blockchain follows some algorithms to reach an agreement among nodes participating in a transaction. It’s proof of work.
- Smart Contract: Smart contracts are a simple logical bit of programs stored on each block of blockchain that run when some conditions are proper. They follow “if/when … then …” statements written on the blockchain and help automate the verification of parties’ agreement. Automated execution of an agreement is done with the help of smart contracts; it ensures that each participant can be sure of the transaction’s outcome. The irreversibility and traceability of these transactions increase the trust of the nodes in the network. Some advantages of smart contracts are making faster and better decisions, saving time, and lowering cost and risk.
- Wallet: Wallet is a collection of user identities. It allows users to store and manage their Bitcoin, Ether, and other cryptocurrencies.
- Truffle: It’s a blockchain development environment. It also provides a testing framework and asset pipeline for Ethereum. We have used Ganache, which provides 10 Ethereum test accounts with 100 ETH.
Blockchain in Voting System
- User Participation: In blockchain-based voting systems, voting can be done anywhere and on any internet device to increase user participation. It is beneficial for disabled users.
- User Motivation: By having a fair election, user motivation and trust in the voting system increase.
- Security: It is decentralized and uses hashing functions to secure transactions. We need more than 50 affected nodes for a blockchain to be insecure.
- Efficiency: In traditional e-voting systems, there is still some paperwork involved, so by using a blockchain-based e-voting system, the cost is significantly reduced, increasing the efficiency of election management.
- Precision: There are no errors (or) miscalculations of votes in blockchain-based voting systems. So the results are accurate and timely. It also provides proof of vote to every voter.
3. Literature Review
- 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.
4. Proposed System
4.1. Methodology
4.1.1. Frontend Module
- Dashboard: The dashboard component will contain various charts to display information such as the number of parties, voters, etc. This component will give the admin an overview of the election process and help them make informed decisions.
- Add Candidate: In this admin feature, they can add candidates standing in the election. After the candidate is added, it will be displayed on the user side. This component will enable the admin to manage the list of candidates and ensure that only authorized candidates are on the ballot.
- Create Election: This admin feature will allow them to create an election. A user can cast their vote only after the admin makes the election. A user can cast a vote between the start date and the end date. This component will enable the admin to set the parameters for the election, such as the start and end date, the number of voters, and the type of election.
- Election Details: In this section, the admin can update election details such as the start date, end date, etc. This component will enable the admin to manage the election process and make changes if necessary.
- Candidate Details: All the candidates added by the admin will be displayed in the candidate details component. The admin can update the candidate details if a wrong entry is made. This component will enable the admin to manage the list of candidates and ensure that the correct information is displayed [22,23].
- Dashboard: The user dashboard contains information about parties and their candidates. A user can see all the information about a candidate. This component will give the user an overview of the election process and help them make informed decisions.
- Voter Register: In this section, the first user will have to register themselves; only then will they be able to cast their vote. This component will enable the user to register and ensure that only authorized voters can cast their votes.
- Voting Area: After a user is registered, they will only be directed to this page and can vote. This component will enable the user to vote and ensure that only authorized voters can participate in the election.
- Result: The Results page will provide users with access to view the outcome of the voting process, including the final results and other relevant details. This section ensures transparency and informs users about the election’s outcome.
4.1.2. Backend Module
4.1.3. Integration of Frontend and Backend
4.2. Data Flow
- User Registration: The first step in the data flow of a blockchain voting system is the user registration process. Users must register by providing basic information such as their name, address, and date of birth. This information is stored in the user database to verify the user’s identity during voting.
- Election Creation: Once the users have registered, the administrator can create an election by setting the start and end dates, the list of candidates contesting the election, and other relevant details. This information is stored in the election database.
- Voting: The user logs into the voting application and selects the candidate during the voting process. The vote is then encrypted using the user’s private key and stored in the blockchain. This ensures that the vote is secure and cannot be tampered with.
- Vote Counting: The votes are counted once the voting period ends. The smart contract deployed on the blockchain tallies the votes and declares the winner. The results are stored in the blockchain and can be viewed by anyone.
- Verification: The blockchain voting system allows voters to verify that their vote was recorded correctly. The user can use their private key to decrypt their vote and verify that it was registered correctly. This ensures the integrity of the voting process.
4.3. Firebase Integration
4.4. Face Recognition
4.5. Proposed System Design
5. Analysis and Discussion
5.1. Validation
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.
6. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Jafar, U.; Aziz, M.J.A.; Shukur, Z. Blockchain for electronic voting system—Review and open research challenges. Sensors 2021, 21, 5874. [Google Scholar] [PubMed]
- Lai, W.J.; Hsieh, Y.C.; Hsueh, C.W.; Wu, J.L. Date: A decentralized, anonymous, and transparent e-voting system. In Proceedings of the 2018 1st IEEE international conference on hot information-centric networking (HotICN), Shenzhen, China, 15–17 August 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 24–29. [Google Scholar]
- Shahzad, B.; Crowcroft, J. Trustworthy electronic voting using adjusted blockchain technology. IEEE Access 2019, 7, 24477–24488. [Google Scholar]
- Gao, S.; Zheng, D.; Guo, R.; Jing, C.; Hu, C. An anti-quantum E-voting protocol in blockchain with audit function. IEEE Access 2019, 7, 115304–115316. [Google Scholar] [CrossRef]
- Yi, H. Securing e-voting based on blockchain in P2P network. EURASIP J. Wirel. Commun. Netw. 2019, 2019, 137. [Google Scholar]
- Khan, K.M.; Arshad, J.; Khan, M.M. Investigating performance constraints for blockchain based secure e-voting system. Future Gener. Comput. Syst. 2020, 105, 13–26. [Google Scholar]
- McCorry, P.; Shahandashti, S.F.; Hao, F. A smart contract for boardroom voting with maximum voter privacy. In Proceedings of the Financial Cryptography and Data Security: 21st International Conference, FC 2017, Sliema, Malta, 3–7 April 2017; Revised Selected Papers 21. Springer: Cham, Switzerland, 2017; pp. 357–375. [Google Scholar]
- Ayed, A.B. A conceptual secure blockchain-based electronic voting system. Int. J. Netw. Secur. Its Appl. 2017, 9, 01–09. [Google Scholar]
- Pawlak, M.; Poniszewska-Marańda, A.; Kryvinska, N. Towards the intelligent agents for blockchain e-voting system. Procedia Comput. Sci. 2018, 141, 239–246. [Google Scholar]
- Fusco, F.; Lunesu, M.I.; Pani, F.E.; Pinna, A. Crypto-voting, a Blockchain based e-Voting System. In Proceedings of the KMIS, Seville, Spain, 10 January 2018; pp. 221–225. [Google Scholar]
- Denis González, C.; Frias Mena, D.; Massó Muñoz, A.; Rojas, O.; Sosa-Gómez, G. Electronic voting system using an enterprise blockchain. Appl. Sci. 2022, 12, 531. [Google Scholar]
- Bosri, R.; Uzzal, A.R.; Al Omar, A.; Hasan, A.T.; Bhuiyan, M.Z.A. Towards a privacy-preserving voting system through blockchain technologies. In Proceedings of the 2019 IEEE Intl Conf on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computing, Intl Conf on Cloud and Big Data Computing, Intl Conf on Cyber Science and Technology Congress (DASC/PiCom/CBDCom/CyberSciTech), Fukuoka, Japan, 5–8 August 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 602–608. [Google Scholar]
- Taş, R.; Tanrıöver, Ö.Ö. A systematic review of challenges and opportunities of blockchain for e-voting. Symmetry 2020, 12, 1328. [Google Scholar]
- Alam, A.; Rashid, S.Z.U.; Salam, M.A.; Islam, A. Towards blockchain-based e-voting system. In Proceedings of the 2018 International Conference on Innovations in Science, Engineering and Technology (ICISET), Chittagong, Bangladesh, 27–28 October 2018; pp. 351–354. [Google Scholar]
- Al-Maaitah, S.; Qatawneh, M.; Quzmar, A. E-voting system based on blockchain technology: A survey. In Proceedings of the 2021 International Conference on Information Technology (ICIT), Amman, Jordan, 14–15 July 2021; pp. 200–205. [Google Scholar]
- Park, S.; Specter, M.; Narula, N.; Rivest, R.L. Going from bad to worse: From internet voting to blockchain voting. J. Cybersecur. 2021, 7, tyaa025. [Google Scholar]
- Barger, A.; Manevich, Y.; Meir, H.; Tock, Y. A byzantine fault-tolerant consensus library for hyperledger fabric. In Proceedings of the 2021 IEEE International Conference on Blockchain and Cryptocurrency (ICBC), Sydney, Australia, 3–6 May 2021; pp. 1–9. [Google Scholar]
- Bulut, R.; Kantarcı, A.; Keskin, S.; Bahtiyar, Ş. Blockchain-based electronic voting system for elections in Turkey. In Proceedings of the 2019 4th International Conference on Computer Science and Engineering (UBMK), Samsun, Turkey, 11–15 September 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 183–188. [Google Scholar]
- Barański, S.; Szyma ´nski, J.; Sobecki, A.; Gil, D.; Mora, H. Practical I-voting on stellar blockchain. Appl. Sci. 2020, 10, 7606. [Google Scholar]
- Hanifatunnisa, R.; Rahardjo, B. Blockchain-based e-voting recording system design. In Proceedings of the 2017 11th International Conference on Telecommunication Systems Services and Applications (TSSA), Lombok, Indonesia, 26–27 October 2017; pp. 1–6. [Google Scholar]
- Mitra, M.; Chowdhury, A. A Modernized Voting System Using Fuzzy Logic and Blockchain Technology. Int. J. Mod. Educ. Comput. Sci. 2020, 12, 17–25. [Google Scholar]
- Moura, T.; Gomes, A. Blockchain voting and its effects on election transparency and voter confidence. In Proceedings of the 18th Annual International Conference on Digital Government Research, Staten Island, NY, USA, 7–9 June 2017; pp. 574–575. [Google Scholar]
- Susskind, J. Decrypting democracy: Incentivizing blockchain voting technology for an improved election system. San Diego L. Rev. 2017, 54, 785. [Google Scholar]
- Pawlak, M.; Guziur, J.; Poniszewska-Marańda, A. Voting process with blockchain technology: Auditable blockchain voting system. In Proceedings of the Advances in Intelligent Networking and Collaborative Systems: The 10th International Conference on Intelligent Networking and Collaborative Systems (INCoS-2018), Bratislava, Slovakia, 5–7 September 2018; Springer: Cham, Switzerland, 2019; pp. 233–244. [Google Scholar]
- Sayyad, S.; Pawar, M.; Patil, A.; Pathare, V.; Poduval, P.; Sayyad, S.; Pawar, M.; Patil, A.; Pathare, V.; Poduval, P. Features of blockchain voting: A survey. Int. J 2019, 5, 12–14. [Google Scholar]
- Mohanta, S.R.; Jena, D.; Panda, G.K. A survey on blockchain-based electronic voting system. Int. J. Adv. Intell. Paradig. 2019, 13, 338–356. [Google Scholar]
- Liu, W.; Zhu, Y.; Hu, W. Blockchain-based e-voting system. In Proceedings of the 2017 IEEE 3rd International Conference on Computer and Communications (ICCC), Chengdu, China, 13–16 December 2017; IEEE: Piscataway, NJ, USA, 2017; pp. 1034–1038. [Google Scholar]
- Koutroulis, E.; Ioannidis, D.; Stamatopoulos, P. Deciding whether blockchain technology is the right fit for a secure and transparent voting system. In Proceedings of the 2018 5th International Conference on Information Technology: IoT and Smart City (ICIT), Bhubaneswar, India, 19–21 December 2018; pp. 1–6. [Google Scholar]
- Bhukya, K.K.; Reddy, B.P. Efficient and secure blockchain-based e-voting system. In Proceedings of the 2019 International Conference on Electrical, Electronics and Computer Engineering (SCEECE), Mumbai, India, 26 May 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 1–6. [Google Scholar]
- Kumar, S.; Patil, R.R.; Rani, R. Smart IoT-Based Pesticides Recommendation System for Rice Diseases. In Intelligent Systems and Applications: Select Proceedings of ICISA 2022; Springer Nature: Singapore, 2023; pp. 17–25. [Google Scholar]
- Mehfuz, S.; Kumar, S. Energy aware probabilistic broadcasting for Mobile adhoc network. In Proceedings of the 2015 2nd International Conference on Computing for Sustainable Global Development (INDIACom), New Delhi, India, 11–13 March 2015; pp. 1028–1033. [Google Scholar]
- Patil, R.R.; Kumar, S.; Rani, R. Comparison of artificial intelligence algorithms in plant disease prediction. Rev. D’Intell. Artif. Int. Inf. Eng. Technol. Assoc. 2022, 36, 185–193. [Google Scholar]
- Patil, R.R.; Kumar, S.; Chiwhane, S.; Rani, R.; Pippal, S.K. An Artificial-Intelligence-Based Novel Rice Grade Model for Severity Estimation of Rice Diseases. Agriculture 2023, 13, 47. [Google Scholar]
- Patil, R.R.; Kumar, S.; Rani, R.; Agrawal, P.; Pippal, S.K. A Bibliometric and Word Cloud Analysis on the Role of the Internet of Things in Agricultural Plant Disease Detection. Appl. Syst. Innov. 2023, 6, 27. [Google Scholar]
- Rani, R.; Kumar, S.; Patil, R.; Pippal, S. A machine learning model for predicting innovation effort of firms. Int. J. Electr. Comput. Eng. 2023, 13, 4633–4639. [Google Scholar]
- Rani, R.; Sahoo, J.; Bellamkonda, S. Application of Deep Transfer Learning in Detection of Lung Cancer: A Systematic Survey. In Proceedings of the 2022 OPJU International Technology Conference on Emerging Technologies for Sustainable Development (OTCON), Raigarh, India, 8–10 February 2023; pp. 1–6. [Google Scholar] [CrossRef]
- Kumar, S.; Singh, A.P.; Ghosh, A. An efficient algorithm for increasing modularity in IoT based automation systems. J. Phys. Conf. Ser. 2021, 1964, 062114. [Google Scholar]
- Kshirsagar, N.; Pandey, G.; Prakash, A.; Chauhan, I.S.; Kumar, S. Educative Reality-Augmented Reality Application for Education. In Proceedings of the 2023 2nd International Conference for Innovation in Technology (INOCON), Bangalore, India, 3–5 March 2023; IEEE: Piscataway, NJ, USA, 2023; pp. 1–6. [Google Scholar]
- Singh, A.; Mishra, A.; Chitgopkar, S.; Mahajan, T.; Kumar, S. Homex: An Intelligent Home Automation and Security System. In Proceedings of the 2022 OPJU International Technology Conference on Emerging Technologies for Sustainable Development (OTCON), Raigarh, India, 8–10 February 2023; IEEE: Piscataway, NJ, USA, 2023; pp. 1–6. [Google Scholar]
- Bey, T.; Miri, A. Blockchain based e-voting for mobile platforms. Future Gener. Comput. Syst. 2018, 86, 1024–1035. [Google Scholar]
- Azimi, I.; Bahrami, M.; Dargahi, T. Blockchain-based voting protocol for mobile devices. J. Inf. Secur. Appl. 2018, 39, 34–47. [Google Scholar]
Ref. | Framework | Security Protocol | Limitations |
---|---|---|---|
[7] | Ethereum, Geth | ECC | Audit, Accuracy, Integrity Scalability |
[8] | Bitcoin, Multichain | SHA-256 | Security |
[9] | ABVS, Ethereum | N.A | Transaction Privacy |
[1] | Ethereum, Hyperledger Fabric | Double SHA-256 | Scalability and Processing |
[10] | Smart Contracts | zk-SNARK | User Identity |
[5] | Blockchain | ECC and SHA-256 | Integrity and Scalability |
[11] | Smart Contracts, Hyperledger Fabric, NFT | Membership Service Provider (MSP), HSM | Security |
[12] | Ethereum, Open Vote Network | Merkle tree | Transaction Privacy |
[9] | IOT based system | SHA-256 | Voting must be done via EVM |
[18] | Challenge-Handshake Authentication Protocol (CHAP) | Zcash tokens, Authentication with Challenge- Handshake Authentication Protocol | Performance and security |
[19] | Ethereum | Homomorphic encryption | Handling of incorrect data, some amount of ether is needed. |
[20] | PyCharm’s Community software | ECDSA, SHA-256, PKI | Limited applicability, Lack of empirical evidence, Security and Privacy |
[21] | N.A | SHA-256 | N.G |
[3] | POW, Bitcoin | SHA-256 | Scalability, Accuracy |
[2] | POW, Ethereum | SHA-3 | Audit, Accuracy and Integrity |
[4] | PBFT, bitcoin | Double SHA-256 | Verifiability and scalability |
Feature | System 1 | System 2 | System 3 | System 4 |
---|---|---|---|---|
Type of Blockchain | Private | Public | Consortium | Private |
Consensus Mechanism | Proof of Authority | Proof of Work | Delegated Proof of Stake | Byzantine Fault Tolerance |
Smart Contract Platform | Ethereum | EOSIO | Hyperledger Fabric | Stellar |
Voter Anonymity | Partial | Complete | Partial | Complete |
Transaction Speed | High | Medium | Medium | High |
Scalability | Low | High | Medium | High |
Cost | High | Low | High | Medium |
Technology | Description |
---|---|
Ethereum | Public blockchain platform |
Hyperledger Fabric | Private blockchain framework |
Corda | Distributed ledger platform |
EOSIO | Decentralized operating system |
Stellar | Open-source blockchain network |
IOTA | Tangle-based distributed ledger technology |
Ref. | Framework | Anonymity | Affordability | Accuracy | Accessibility | Scalability |
---|---|---|---|---|---|---|
[7] | Ethereum | Yes | No | No | Yes | Yes |
[6] | Multichain | Yes | No | No | Yes | Yes |
[5] | Bitcoin | Yes | Yes | No | Yes | No |
[2] | Ethereum | Yes | No | No | Yes | No |
[4] | Bitcoin | Yes | Yes | No | Yes | No |
Proposed work | Ethereum | Yes | Yes | Yes | Yes | Yes |
Validation Criteria | Test Case | Result | Expected Outcome | Actual Outcome |
---|---|---|---|---|
Voter Registration | Register with invalid ID | Failed | Error message displayed | Error message displayed |
Voting | Cast vote without registration | Failed | Error message displayed | Error message displayed |
Vote Counting | Count invalid vote | Failed | Invalid vote not counted | Invalid vote not counted s |
Security | Attempt to hack blockchain | Passed | Access denied | Access denied |
Performance | Large number of voters | Passed | No system slowdown | No system slowdown |
Validation Criteria | Description | Pass/Fail |
---|---|---|
Accuracy | The system accurately records and counts votes | Pass |
Security | The system is secure and free from vulnerabilities | Pass |
Usability | The system is user-friendly and easy to use | Pass |
Scalability | The system can handle a large number of users and transactions | Pass |
Transparency | The system provides clarity throughout the voting process | Pass |
Integrity | The system maintains the integrity of the voting process | Pass |
Reliability | The system functions reliably and is available when needed | Pass |
Accessibility | The system is accessible to all eligible voters | Pass |
Auditability | The system provides an audit trail of all voting activities | Pass |
Compatibility | The system is compatible with existing voting infrastructure | Pass |
Performance | The system performs well under high load conditions | Pass |
Cost-Effectiveness | The system is cost-effective compared to traditional voting methods | Pass |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Singh, A.; Ganesh, A.; Patil, R.R.; Kumar, S.; Rani, R.; Pippal, S.K. Secure Voting Website Using Ethereum and Smart Contracts. Appl. Syst. Innov. 2023, 6, 70. https://doi.org/10.3390/asi6040070
Singh A, Ganesh A, Patil RR, Kumar S, Rani R, Pippal SK. Secure Voting Website Using Ethereum and Smart Contracts. Applied System Innovation. 2023; 6(4):70. https://doi.org/10.3390/asi6040070
Chicago/Turabian StyleSingh, Abhay, Ankush Ganesh, Rutuja Rajendra Patil, Sumit Kumar, Ruchi Rani, and Sanjeev Kumar Pippal. 2023. "Secure Voting Website Using Ethereum and Smart Contracts" Applied System Innovation 6, no. 4: 70. https://doi.org/10.3390/asi6040070
APA StyleSingh, A., Ganesh, A., Patil, R. R., Kumar, S., Rani, R., & Pippal, S. K. (2023). Secure Voting Website Using Ethereum and Smart Contracts. Applied System Innovation, 6(4), 70. https://doi.org/10.3390/asi6040070