Online Voting Scheme Using IBM Cloud-Based Hyperledger Fabric with Privacy-Preservation
Abstract
:1. Introduction
2. Related Work
- Our scheme hosts all aspects of the election on the blockchain, allowing for an entirely remote election to take place. This aspect allows for remote voters to still have their voice heard. Since our scheme aims to address the requirement for secure online voting beyond national presidential elections, a fully remote voting system is necessary. This is particularly relevant as numerous companies that wish to conduct internal elections or employee surveys have implemented a ’work-from-home’ policy for their employees. Without the need for a polling center, geographically distributed voters who would otherwise be unable to attend an election can have their voices heard.
- Our scheme utilizes the IBM Cloud infrastructure to host the latest version of the Hyperledger Fabric blockchain. By hosting the private blockchain in the cloud, managing and hosting elections requires less physical hardware and resources. In addition, the IBM cloud provides a scalable “pay as you go” platform, allowing elections of any size to be hosted by our scheme.
- Our scheme has been implemented and tested, allowing for the collection of performance metrics. This implementation proves that the conceptual ideas proposed for our blockchain e-voting scheme are able to be put into action. These performance metrics showed us that our scheme, when hosted on the IBM Cloud with minimum required cost, is easily scalable up to 10,000 voters. In addition, these performance metrics reflect expected results from [33].
3. Scheme Model
3.1. Scheme Model
- Blockchain Network. The private Hyperledger Fabric blockchain hosted on IBM’s cloud infrastructure. The Hyperledger Fabric requires the use of a minimum of three peers: an endorser peer, which utilizes the smart contract to write new transactions; an orderer, which verifies the new transaction and writes it to a new block on the blockchain; and the committer, which checks the validity of all transactions on the blockchain and writes valid transactions to the ledger. Our blockchain network utilizes a voter peer, which utilizes our developed smart contract to write our transactions (any action taken within the election), and an orderer, which verifies and writes each transaction. Each of these peers act also as the committers for our network. In a production environment, additional peers can be added to act solely as committers, funds permitting. In accordance with [34], our organization and orderer have separate Certificate Authorities (CA). Hyperledger Fabric utilizes certificate authorities to identify each peer and define each functionality. If additional peers are added solely as committers, a third CA is required; however, all additional committer-only peers can share the third CA.
- Voters. The voter is an entity that can cast votes to the ballot. Note that voters do not maintain a whole copy of the ledger; but they can run the scheme using lightweight nodes, which lets them communicate with the network, read from the blockchain and submit transactions [35]. In our scheme, we implemented a preferential voting scheme; so, when casting a vote, the voters rank three candidates to receive vote payouts. The candidate selected first receives three votes, the second receives two votes, and the third one vote.
- Organizer. This is the organization hosting the election, such as small businesses, states and governments, etc. Specifically, the organizer is represented by a person in the IT department who has the technical skills to set up a blockchain environment on the IBM Cloud Platform. The organizer’s main duty is to initiate the election, e.g., defining the candidates’ names and configuring the blockchain on the IBM Cloud by defining the nodes necessary to be used to carry out the election, creating the channels between the nodes, and uploading/initializing the packaged smart contract.
3.2. Threat Model
3.3. Design Goals
- The proposed e-voting scheme should neither rely on a central entity to run the election nor require certain infrastructure to set up a private blockchain network. Central entities are vulnerable to a single-point-of-failure or attack. Our goal is to develop and implement the scheme using an open source blockchain platform and cloud-based infrastructure to avoid hardware costs required to host a private blockchain.
- The proposed scheme should protect voters’ privacy by ensuring the following: (i) Only authenticated voters should be able to cast their votes to the ballot while protecting their real identities from being revealed or tracked. (ii) Since anonymity alone is not sufficient to ensure voters’ privacy against internal attackers who can link voters’ pseudonyms to their real identities by knowing their IP addresses, the proposed scheme should withstand such eavesdropping attacks by making it difficult to determine the exact selection of a specific voter.
- The scheme should also resist any fraud or manipulation attacks that would give preference to specific candidates over others. For example, blockchain nodes or internal attackers may try to replay legitimate voters’ votes or recorded transactions on the blockchain to give a candidate more votes than their actual vote count. In other words, authenticated voters can cast their encrypted votes, and the blockchain nodes can only compute the number of votes per candidate correctly.
4. Preliminary Background
4.1. Blind Elliptic Curve DSA Signatures
- All parties are assumed to use an elliptic curve of order n with generator G. P = d·G is the signers’ public key, where is the private key.
- The signer first selects a random element and then he/she sends ·G to the requester.
- Then, the requester selects the following random elements to compute A = R + ·G + ·P. Let x be the x-coordinate of point A, and . The requester then computes and sends to the signer. is a cryptographically secure hash function, and .
- The signer then computes d and sends the result back to the requester.
- The requester then computes and the signature of M is stored as . Finally, to validate the signature, the verifier calculates A = c·P + s·G. Then, is computed, where x is the x-coordinate of point A. The verifier verifies if .
4.2. Verifiable Aggregator Oblivious Encryption
- : Given a security parameter as an input, this algorithm generates public parameters and a secret key of aggregator , a set of user secret keys , and the aggregate verification key .
- : Given , t, a value , and , this algorithm produces a ciphertext and a tag .
- : This algorithm is considered the aggregation and decryption algorithm and it uses the , t, the ciphertexts and tags and , to produce , and the proof where M is some fixed integer contained in .
- : This verification algorithm is applied to the aggregation algorithm and it takes , t, , and as input, and outputs 1 or 0.
5. Proposed Solution
5.1. Initialization
5.2. Obtaining Anonymous Credentials
- Step 1:
- A voter initializes the communication by sending a message , as follows:
- Step 2:
- The organizer chooses a secret element and computes and he/she sends back to the voter
- Step 3:
- The voter computes A = R + ·G + ·P, where are random elements and computes , where x is the x-coordinate of point A. The voter computes , where . The voter sends that includes as well as the voter’s signature to the organizer:
- Step 4:
- The organizer computes where d is the organizers’ secret key and they reply back with , where,
5.3. Submitting Anonymous and Encrypted Votes
Algorithm 1 Pseudocode for voterContract (Author’s own processing) |
5.4. Obtaining Election Results
5.5. Blockchain Design and Methodology
6. Performance Analysis
6.1. Experiment Setup and Methodology
6.2. Performance Metrics and Benchmarks
- Transaction Throughput. This metric is used to show the rate at which valid transactions are committed by our blockchain network, measured in transactions per second (tps). As emphasized by the Performance and Scalability Working Group (PSWG) in [41], this metric determines the rate at which transactions are committed across the entire blockchain network, not just at a single node. This helps to provide more accurate details of the experiment as, for a transaction to be functional across the network, it must be reflected by every node. A high tps value indicates that the widespread implementation of our proposed scheme is viable, enabling a large-scale participation of voters in the election. Conversely, a low tps would increase the time required for a significant number of voters to participate in the election.
- Transaction Latency. This metric, computed as transaction confirmation time at network threshold less the submit time of the transaction, demonstrates the time taken for a transaction to be usable across the network. Measuring transaction latency across all nodes of the network ensures a more realistic timing evaluation that reflects the true latency experienced by all users, rather than just the voter.
- Error Rate. This is the rate at which submitted transactions are rejected or dropped. The error rate is computed as the number of failed transactions divided by the number of sent transactions. This metric gives an accurate way to determine the maximum operational stress our scheme can handle without fault. Note that while error rate approaches zero in ideal conditions, we assume that ideal conditions are impracticable at large scales due to the distributed architecture of Hyperledger Fabric.
- Experiment I shows varying transaction rates’ impact on our scheme’s throughput and latency to show the scheme’s ability to process transactions when receiving varying amounts of transactions. This simulates the impact of multiple voters using the scheme concurrently.
- Experiment II analyzes the varying of total transactions’ impact on the throughput and latency at differing transaction send rates to show the scheme’s scalability. This demonstrates the scheme’s ability to handle elections involving differing scales of total voters.
- Experiment III shows the error rate due to varying total transactions and transaction send rates.
6.3. Results and Discussion
6.3.1. Experiment I
- A large number of voters, 200 per second, can concurrently fetch ballots without significant delay.
- Fewer voters, 75 per second, can concurrently cast votes without significant delay.
- The type of transaction will affect scheme performance.
6.3.2. Experiment II
- When the transaction send rate is lower than the peak throughput, increasing the number of transactions has no impact on throughput or latency.
- After the peak throughput is surpassed, increasing the number of transactions decreases the throughput and increases the average latency.
6.3.3. Experiment III
- Errors are unlikely to occur when transactions are submitted to the scheme at/or below its peak throughput.
- Error rate follows the same trend as latency, rising only when the transaction send rates eclipse the scheme’s peak throughput.
- Error rate increases when large numbers of transactions are being processed (i.e., 10,000).
7. Security and Privacy Analysis
8. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Runyan, N.; Tobias, J. Accessibility Review Report for California Top-to-Bottom Voting Systems Review; Secretary of State of California: Los Angeles, CA, USA, 2007. [Google Scholar]
- Bush, S.S.; Prather, L. Who’s There? Election Observer Identity and the Local Credibility of Elections. Int. Organ. 2018, 72, 659–692. [Google Scholar]
- Koven, J.B. Block the Vote: Could Blockchain Technology Cybersecure Elections? Forbes, 10 June 2016. [Google Scholar]
- Mursi, M.; Assassa, G.M.R.; Abdelhafez, A.; Samra, K. On the Development of Electronic Voting: A Survey. Int. J. Comput. Appl. 2013, 61, 16. [Google Scholar] [CrossRef]
- 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]
- Panja, S.; Roy, B. A secure end-to-end verifiable e-voting system using blockchain and cloud server. J. Inf. Secur. Appl. 2021, 59, 102815. [Google Scholar] [CrossRef]
- Neculache, N.; Petcu, V.A.; Simion, E. An analysis of a scheme proposed for electronic voting systems. Cryptol. Eprint Arch. 2023. preprint. [Google Scholar]
- Shanthinii, S.; Usha, M.; Prittopaul, P. A Survey Based on Online Voting System Using Blockchain Technology. In Computer Vision and Machine Intelligence Paradigms for SDGs: Select Proceedings of ICRTAC-CVMIP 2021; Springer: Berlin/Heidelberg, Germany, 2023; pp. 209–216. [Google Scholar]
- Jafar, U.; Ab Aziz, M.J.; Shukur, Z.; Hussain, H.A. A Systematic Literature Review and Meta-Analysis on Scalable Blockchain-Based Electronic Voting Systems. Sensors 2022, 22, 7585. [Google Scholar] [PubMed]
- 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] [CrossRef]
- Sallal, M.; de Fréin, R.; Malik, A. PVPBC: Privacy and Verifiability Preserving E-Voting Based on Permissioned Blockchain. Future Internet 2023, 15, 121. [Google Scholar] [CrossRef]
- Liu, Y.; Wang, Q. An E-voting Protocol Based on Blockchain. IACR Cryptol. ePrint Arch. 2017, 2017, 10–43. [Google Scholar]
- Tanwar, S.; Gupta, N.; Kumar, P.; Hu, Y.C. Implementation of blockchain-based e-voting system. Multimed. Tools Appl. 2023, 1–32. [Google Scholar] [CrossRef]
- Kshetri, N.; Voas, J. Blockchain-enabled e-voting. IEEE Software 2018, 35, 95–99. [Google Scholar] [CrossRef] [Green Version]
- Ayed, A.B. A conceptual secure blockchain-based electronic voting system. Int. J. Netw. Secur. Appl. 2017, 9, 1–9. [Google Scholar]
- Rao, V.; Singh, A.; Rudra, B. Ethereum Blockchain Enabled Secure and Transparent E-Voting. In Proceedings of the Future Technologies Conference; Springer: Berlin/Heidelberg, Germany, 2020; pp. 683–702. [Google Scholar]
- Seifelnasr, M.; Galal, H.S.; Youssef, A.M. Scalable Open-Vote Network on Ethereum. In Proceedings of the Financial Cryptography and Data Security; Bernhard, M., Bracciali, A., Camp, L.J., Matsuo, S., Maurushat, A., Rønne, P.B., Sala, M., Eds.; Springer: Cham, Switzerland, 2020; pp. 436–450. [Google Scholar]
- Khoury, D.; Kfoury, E.F.; Kassem, A.; Harb, H. Decentralized Voting Platform Based on Ethereum Blockchain. In Proceedings of the 2021 International Conference on Advances in Electrical, Computing, Communication and Sustainable Technologies (ICAECT), Bhilai, India, 19–21 February 2021; pp. 1–4. [Google Scholar] [CrossRef]
- Meter, C. Design of distributed voting systems. arXiv 2017, arXiv:1702.02566. [Google Scholar]
- Hyperledger Fabric Official Documentation. A Blockchain Platform for the Enterprise. 2020. Available online: https://hyperledger-fabric.readthedocs.io (accessed on 1 May 2023).
- Onur, C.; Yurdakul, A. ElectAnon: A Blockchain-Based, Anonymous, Robust and Scalable Ranked-Choice Voting Protocol. arXiv 2022, arXiv:2204.00057. [Google Scholar] [CrossRef]
- Yavuz, E.; Koç, A.K.; Çabuk, U.C.; Dalkılıç, G. Towards Secure e-Voting Using Ethereum Blockchain. In Proceedings of the 2018 6th International Symposium on Digital Forensic and Security (ISDFS), Antalya, Turkey, 22–25 March 2018; pp. 1–7. [Google Scholar]
- Kirillov, D.; Korkhov, V.; Petrunin, V.; Makarov, M.; Khamitov, I.M.; Dostov, V. Implementation of an e-Voting Scheme Using Hyperledger Fabric Permissioned Blockchain. In Proceedings of the Computational Science and Its Applications—ICCSA 2019, 19th International Conference, Saint Petersburg, Russia, 1–4 July 2019; Springer: Berlin/Heidelberg, Germany, 2019. Part II. pp. 509–521. [Google Scholar]
- Specter, M.A.; Koppel, J.; Weitzner, D. The Ballot is Busted Before the Blockchain: A Security Analysis of Voatz, the First Internet Voting Application Used in U.S. Federal Elections. In Proceedings of the 29th USENIX Security Symposium (USENIX Security 20), Berkeley, CA, USA, 12–14 August 2020; pp. 1535–1553. [Google Scholar]
- Yang, Y.; Guan, Z.; Wan, Z.; Weng, J.; Pang, H.H.; Deng, R.H. PriScore: Blockchain-Based Self-Tallying Election System Supporting Score Voting. IEEE Trans. Inf. Forensics Secur. 2021, 16, 4705–4720. [Google Scholar] [CrossRef]
- Lin, Y.; Zhang, P. Blockchain-Based Complete Self-Tallying E-Voting Protocol. In Proceedings of the 2019 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference (APSIPA ASC), Lanzhou, China, 18–21 November 2019; pp. 47–52. [Google Scholar] [CrossRef]
- McCorry, P.; Shahandashti, S.F.; Hao, F. A Smart Contract for Boardroom Voting with Maximum Voter Privacy. In Financial Cryptography and Data Security; Springer: Berlin/Heidelberg, Germany, 2017; pp. 357–375. [Google Scholar]
- Li, Y.; Susilo, W.; Yang, G.; Yu, Y.; Liu, D.; Du, X.; Guizani, M. A blockchain-based self-tallying voting protocol in decentralized IoT. IEEE Trans. Dependable Secur. Comput. 2020, 19, 119–130. [Google Scholar] [CrossRef]
- Khader, D.; Smyth, B.; Ryan, P.; Hao, F. A Fair and Robust Voting System by Broadcast. In Proceedings of the 5th International Conference on Electronic Voting, Bregenz, Austria, 11–14 July 2012; pp. 285–299. [Google Scholar]
- Li, H.; Li, Y.; Yu, Y.; Wang, B.; Chen, K. A Blockchain-Based Traceable Self-Tallying E-Voting Protocol in AI Era. IEEE Trans. Netw. Sci. Eng. 2021, 8, 1019–1032. [Google Scholar] [CrossRef]
- Han, G.; Li, Y.; Yu, Y.; Choo, K.K.R.; Guizani, N. Blockchain-Based Self-Tallying Voting System with Software Updates in Decentralized IoT. IEEE Network 2020, 34, 166–172. [Google Scholar] [CrossRef]
- Mukherjee, P.P.; Boshra, A.A.; Ashraf, M.M.; Biswas, M. A Hyper-Ledger Fabric Framework as a Service for Improved Quality e-Voting System. In Proceedings of the 2020 IEEE Region 10 Symposium (TENSYMP), Dhaka, Bangladesh, 5–7 June 2020; pp. 394–397. [Google Scholar]
- Kuzlu, M.; Pipattanasomporn, M.; Gurses, L.; Rahman, S. Performance Analysis of a Hyperledger Fabric Blockchain Framework: Throughput, Latency and Scalability. In Proceedings of the 2019 IEEE International Conference on Blockchain (Blockchain), Atlanta, GA, USA, 14–17 July 2019; pp. 536–540. [Google Scholar] [CrossRef]
- IBM Blockchain Platform. 2022. Available online: https://cloud.ibm.com/docs/blockchain (accessed on 1 May 2023).
- Lu, Y.; Tang, Q.; Wang, G. Zebralancer: Private and Anonymous Crowdsourcing System Atop Open Blockchain. In Proceedings of the 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS), Vienna, Austria, 2–6 July 2018; pp. 853–865. [Google Scholar]
- Kosba, A.; Miller, A.; Shi, E.; Wen, Z.; Papamanthou, C. Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts. In Proceedings of the 2016 IEEE Symposium on Security and Privacy (SP), San Jose, CA, USA, 22–26 May 2016; pp. 839–858. [Google Scholar]
- ShenTu, Q.; Yu, J. A Blind-Mixing Scheme for Bitcoin based on an Elliptic Curve Cryptography Blind Digital Signature Algorithm. arXiv 2015, arXiv:1510.05833. [Google Scholar]
- Wang, Z. Identity-based verifiable aggregator oblivious encryption and its applications in smart grids. IEEE Trans. Sustain. Comput. 2019, 6, 80–89. [Google Scholar] [CrossRef]
- Kubernetes Service API Docs. 2020. Available online: https://cloud.ibm.com/docs/containers (accessed on 1 May 2023).
- Dabbagh, M.; Kakavand, M.; Tahir, M.; Amphawan, A. Performance Analysis of Blockchain Platforms: Empirical Evaluation of Hyperledger Fabric and Ethereum. In Proceedings of the 2020 IEEE 2nd International Conference on Artificial Intelligence in Engineering and Technology (IICAIET), Kota Kinabalu, Malaysia, 26–27 September 2020; pp. 1–6. [Google Scholar]
- Hyperledger Blockchain Performance Metrics. 2018. Available online: https://www.hyperledger.org/learn/publications/blockchain-performance-metrics (accessed on 1 May 2023).
Architecture | Election Privacy | Identity Privacy | Easy for Voters to Audit Results | Implemented Performance Evaluation | Affordable | |
---|---|---|---|---|---|---|
Current Paper Ballot scheme 1 | Centralized | × | ◯ | × | √ | × |
Hanifatunnisa et. al. [5] | Hybrid | × | ◯ | × | √ | × |
Liu and Wang: [12] | Blockchain | × | √ | √ | × | × |
Hjálmarsson et al. [13] | Blockchain (public) | × | × | √ | × | × |
Seifelnasr et al. [17] | Blockchain (public) | × | √ | √ | √ | × |
Our scheme | Blockchain (private) | √ | √ | √ | √ | √ |
Send Rate for GetBallot (tps) | Send Rate for CastVote (tps) | Number of Transactions | |
---|---|---|---|
Experiment I: Transaction send rates and its impact on scheme throughput and latency | 50, 100, 150, 200, 250, 300 | 5, 25, 50, 75, 100 | 1000 |
Experiment II: Varying numbers of transactions impact on scheme throughput and latency | 50, 100, 150, 200, 250, 300 | 5, 25, 50, 75, 100 | 1000, 2000, 10,000, 20,000 |
Experiment III: Transaction send rates impact on error rate | 50, 100, 150, 200, 250, 300 | 5, 25, 50, 75, 100 | 1000, 2000, 10,000, 20,000 |
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
Clarke, R.; McGuire, L.; Baza, M.; Rasheed, A.; Alsabaan, M. Online Voting Scheme Using IBM Cloud-Based Hyperledger Fabric with Privacy-Preservation. Appl. Sci. 2023, 13, 7905. https://doi.org/10.3390/app13137905
Clarke R, McGuire L, Baza M, Rasheed A, Alsabaan M. Online Voting Scheme Using IBM Cloud-Based Hyperledger Fabric with Privacy-Preservation. Applied Sciences. 2023; 13(13):7905. https://doi.org/10.3390/app13137905
Chicago/Turabian StyleClarke, Ross, Luke McGuire, Mohamed Baza, Amar Rasheed, and Maazen Alsabaan. 2023. "Online Voting Scheme Using IBM Cloud-Based Hyperledger Fabric with Privacy-Preservation" Applied Sciences 13, no. 13: 7905. https://doi.org/10.3390/app13137905
APA StyleClarke, R., McGuire, L., Baza, M., Rasheed, A., & Alsabaan, M. (2023). Online Voting Scheme Using IBM Cloud-Based Hyperledger Fabric with Privacy-Preservation. Applied Sciences, 13(13), 7905. https://doi.org/10.3390/app13137905