A Distributed Self-Tallying Electronic Voting System Using the Smart Contract
-
Abstract
For electronic voting (e-voting) with a trusted authority, the ballots may be discarded or tampered, so it is attractive to eliminate the dependence on the trusted party. An e-voting protocol, where the final voting result can be calculated by any entity, is known as self-tallying e-voting protocol. To the best of our knowledge, addressing both abortive issue and adaptive issue simultaneously is still an open problem in self-tallying e-voting protocols. Combining Ethereum blockchain with cryptographic technologies, we present a decentralized self-tallying e-voting protocol. We solve the above problem efficiently by utilizing optimized Group Encryption Scheme and standard Exponential ElGamal Cryptosystem. We use zero-knowledge proof and homomorphic encryption to protect votes’ secrecy and achieve self-tallying. All ballots can be verified by anyone and the final voting result can be calculated by any entity. In addition, using the paradigm of score voting and “1-out-of-k” proof, our e-voting system is suitable for a wide range of application scenarios. Experiments show that our protocol is more competitive and more suitable for large-scale voting.
-
-