A Multi-Candidate Self-Tallying Voting Scheme Based on Smart Contracts
Abstract
:1. Introduction
1.1. Related Work
1.2. Overview
1.3. Our Contributions
2. Preliminaries
2.1. Key Generation Algorithm KeyGen(k)
2.2. Encryption Algorithm Enc(pk, m)
2.3. Decryption Algorithm Dec(c, sk)
2.4. Signature Algorithm Sign(m, sk)
2.5. Signature Verification Algorithm Verify()
2.6. Distributed Encryption Algorithm (L, Index)
3. Self-Tallying Voting Scheme for Multiple Candidates
3.1. Framework of the Self-Tallying Voting Scheme
3.2. Self-Tallying Voting Scheme Model
3.3. Security Requirements
Maximal Ballot Secrecy (MBS) [22]
- Initialization: There are n voters in the game process, and the adversary declares the target voters and to be challenged, and the other voters are controlled by the adversary. The challenger randomly selects a voter from the target voters and , and the ballot of is {1}.
- Setup: The challenger will generate a pair of public and private keys for each voter through the key generation algorithm, and send all voters’ public keys and the private keys of the controlled voters to adversary .
- Query: The adversary can choose any ballot for the controlled voter, and can query the challenger based on this ballot, including the ballot commitment query and the voting query. can ask for the commitment of a certain vote in the commitment query, generate the corresponding commitment and send it to and record it in the commitment list; can control the voting content of any voter in the voting query.
- Challenge: generates corresponding challenge votes for the target voters and .
- Tallying: calculates the final result of the vote based on the collected ciphertext votes.
- Guess: outputs a guess result. That is, who gave the ballot of {1} among and .
4. Construction Details
4.1. Specific Construction of the Scheme
4.1.1. Registration Stage
4.1.2. Initialization Stage
4.1.3. Commitment Stage
- and are values used in the proof process, all elements of the finite field .
- are values computed by the Prover based on their vote and random numbers.
- e is a computed value used in the proof.
4.1.4. Voting Stage
Algorithm 1 The generation process of ZKP() |
|
Algorithm 2 The generation and validation of |
|
Algorithm 3 Procedure for proving that and have the same exponent |
|
4.1.5. Verification Stage
4.1.6. Counting Stage
4.1.7. Recovery Stage
5. Correctness and Safety Analysis
5.1. Correctness
5.2. Security Analysis
6. Experimental Analysis
7. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Wang, Y.; Zhou, J.; Cong, R.; Wang, L.; Huang, Y.; Chen, D. A Study on the Current Status and Development of Blockchain Technology in the Intelligent Management of Electric Vehicles. South. Power Grid Technol. 2022, 16, 55–67. [Google Scholar] [CrossRef]
- Tang, X.; Yao, J.; Liu, W.; Yan, X.; Li, Z. Blockchain Technology-based Coordination Strategy for Electric Vehicles and Distributed Energy Interconnection. South. Power Grid Technol. 2022, 16, 46–54. [Google Scholar] [CrossRef]
- Mannonov, K.M.U.; Myeong, S. Citizens’ Perception of Blockchain-Based E-Voting Systems: Focusing on TAM. Sustainability 2024, 16, 4387. [Google Scholar] [CrossRef]
- Chaum, D.L. Untraceable electronic mail, return addresses, and digital pseudonyms. Commun. ACM 1981, 24, 84–90. [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, EVOTE 2012, Bregenz, Austria, 11–14 July 2012; Lecture Notes in Informatics. Gesellschaft fur Informatik: Bonn, Germany, 2012; pp. 285–299. [Google Scholar]
- Fiege, U.; Fiat, A.; Shamir, A. Zero knowledge proofs of identity. In Proceedings of the Nineteenth Annual ACM Symposium on Theory of Computing, New York, NY, USA, 1 January 1987; pp. 210–217. [Google Scholar]
- Cramer, R.; Gennaro, R.; Schoenmakers, B. A secure and optimally efficient multi-authority election scheme. Eur. Trans. Telecommun. 1997, 8, 481–490. [Google Scholar] [CrossRef]
- Paillier, P. Public-key cryptosystems based on composite degree residuosity classes. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Prague, Czech Republic, 2–6 May 1999; Springer: Berlin/Heidelberg, Germany, 1999; pp. 223–238. [Google Scholar]
- Fujioka, A.; Okamoto, T.; Ohta, K. A practical secret voting scheme for large scale elections. In Proceedings of the Advances in Cryptology—AUSCRYPT’92: Workshop on the Theory and Application of Cryptographic Techniques, Gold Coast, Australia, 13–16 December 1992; Proceedings 3. Springer: Berlin/Heidelberg, Germany, 1993; pp. 244–251. [Google Scholar]
- Joaquim, R.; Zúquete, A.; Ferreira, P. REVS–a robust electronic voting system. IADIS Int. J. WWW/Internet 2003, 1, 47–63. [Google Scholar]
- Yu, B.; Liu, J.K.; Sakzad, A.; Nepal, S.; Steinfeld, R.; Rimba, P.; Au, M.H. Platform-independent secure blockchain-based voting system. In Proceedings of the Information Security: 21st International Conference, ISC 2018, Guildford, UK, 9–12 September 2018; Proceedings 21. Springer: Berlin/Heidelberg, Germany, 2018; pp. 369–386. [Google Scholar]
- Liu, J.K.; Wong, D.S. Linkable ring signatures: Security models and new schemes. In Proceedings of the Computational Science and Its Applications–ICCSA 2005: International Conference, Singapore, 9–12 May 2005; Proceedings, Part II 5. Springer: Berlin/Heidelberg, Germany, 2005; pp. 614–623. [Google Scholar]
- Lee, B.; Kim, K. Receipt-free electronic voting scheme with a tamper-resistant randomizer. In Proceedings of the Information Security and Cryptology—ICISC 2002: 5th International Conference, Seoul, Republic of Korea, 28–29 November 2002; Revised Papers 5. Springer: Berlin/Heidelberg, Germany, 2003; pp. 389–406. [Google Scholar]
- Zhao, Z.; Chan, T.H.H. How to vote privately using bitcoin. In Proceedings of the Information and Communications Security: 17th International Conference, ICICS 2015, Beijing, China, 9–11 December 2015; Revised Selected Papers 17. Springer: Berlin/Heidelberg, Germany, 2016; pp. 82–96. [Google Scholar]
- Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. 2008. Available online: https://bitcoin.org/bitcoin.pdf (accessed on 16 June 2024).
- Wood, G. A secure decentralised generalised transaction ledger. Ethereum Proj. Yellow Pap. 2014, 151, 1–32. [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; IEEE: Piscataway, NJ, USA, 2016; pp. 839–858. [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: Berlin/Heidelberg, Germany, 2017; pp. 357–375. [Google Scholar]
- Kiayias, A.; Yung, M. Self-tallying elections and perfect ballot secrecy. In Proceedings of the International Workshop on Public Key Cryptography, Paris, France, 12–14 February 2002; Springer: Berlin/Heidelberg, Germany, 2002; pp. 141–158. [Google Scholar]
- Groth, J. Efficient maximal privacy in boardroom voting and anonymous broadcast. In Proceedings of the International Conference on Financial Cryptography, Key West, FL, USA, 9–12 February 2004; Springer: Berlin/Heidelberg, Germany, 2004; pp. 90–104. [Google Scholar]
- Lee, K.; James, J.I.; Ejeta, T.G.; Kim, H.J. Electronic voting service using block-chain. J. Digit. Forensics Secur. Law 2016, 11, 8. [Google Scholar] [CrossRef]
- 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]
- Panja, S.; Bag, S.; Hao, F.; Roy, B. A smart contract system for decentralized borda count voting. IEEE Trans. Eng. Manag. 2020, 67, 1323–1339. [Google Scholar] [CrossRef]
- Yang, X.; Yi, X.; Nepal, S.; Kelarev, A.; Han, F. Blockchain voting: Publicly verifiable online voting protocol without trusted tallying authorities. Future Gener. Comput. Syst. 2020, 112, 859–874. [Google Scholar] [CrossRef]
- Schnorr, C.P. Efficient signature generation by smart cards. J. Cryptol. 1991, 4, 161–174. [Google Scholar] [CrossRef]
Symbol | Specific Meaning |
---|---|
Public key of the election administrator | |
Private key of the election administrator | |
Total number of candidates | |
Total number of voters | |
The ith voter, | |
The private key generated by the ith voter for voting for the jth candidate | |
The value computed by the ith voter using all the public keys for the jth candidate through Distributed Encryption | |
The vote of the ith voter for the jth candidate | |
Ballot commitment generated by the ith voter for | |
Public key product computed by the ith voter for the jth candidate | |
ZKP{…} | Zero Knowledge Proofs |
Parameter Name | Parameter Value |
---|---|
Operating System | Win 11 |
Processor | AMD Ryzen 7 5700U |
RAM | 8 GB |
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. |
© 2024 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
Dai, X.; Zhou, X.; Zhou, D.; Zhong, J.; Hong, C. A Multi-Candidate Self-Tallying Voting Scheme Based on Smart Contracts. Cryptography 2024, 8, 42. https://doi.org/10.3390/cryptography8030042
Dai X, Zhou X, Zhou D, Zhong J, Hong C. A Multi-Candidate Self-Tallying Voting Scheme Based on Smart Contracts. Cryptography. 2024; 8(3):42. https://doi.org/10.3390/cryptography8030042
Chicago/Turabian StyleDai, Xingan, Xinquan Zhou, Dehua Zhou, Jinhan Zhong, and Chao Hong. 2024. "A Multi-Candidate Self-Tallying Voting Scheme Based on Smart Contracts" Cryptography 8, no. 3: 42. https://doi.org/10.3390/cryptography8030042
APA StyleDai, X., Zhou, X., Zhou, D., Zhong, J., & Hong, C. (2024). A Multi-Candidate Self-Tallying Voting Scheme Based on Smart Contracts. Cryptography, 8(3), 42. https://doi.org/10.3390/cryptography8030042