# Privacy-Preserving E-Voting System Supporting Score Voting Using Blockchain
## 2 Related Work
[3; 20] is proposed; however, this scheme seems to be the first to not require all voters to vote in order to tabulate the result (voters can abstain from voting and not obstruct the release of results) by generating random numbers amongst those who are abstaining, which will cancel each other during the tabulation of the ballots. This lends more practicality to the system; however, the adaptive issues fail to be addressed. The proposed approach in Ref. [16] gives a scheme different from the ones proposed above. This scheme proposes different solutions to the same security issues; they leveraged homomorphic time-lock puzzles to implement the self-tally and a new event-oriented linkable group signature to protect voter's privacy and prevent double voting. This enables the decryption time to remain independent of the number of voters; however, the cost is still expensive in terms of communication and computational overhead. Score VotingIn Ref. [13], a voting system that utilizes score-based voting in a privacy-preserving manner is proposed. The concept of a dual zero-knowledge proof (dual-ZKP) is introduced, as well as the use of ElGamal Encryption. The dual-ZKP guarantees that two constraint conditions on one set of elements can be proven to the verifier. This enablesthe voter to prove that (a) their score for each candidate falls within a predefined range, and (b) that the sum of the scores given by the voter is equal to a predefined constant. Additionally, ElGamal encryption was used a lot, as in Ref. [3], to ensure maximal-ballot secrecy, and commitments to deal with abortive issues; in this way, the selection of a voter can be retrieved from their commitment even if they decide to abort their actual vote. This prevents them from \"locking\" the ballot results and ensures that the results can always be tabulated. However, the scheme fails to deal with coercive issues, meaning it is unable to detect and handle the situation of an impostor using someone's account to alter their vote by casting it in their place. Another scheme was proposed in Ref. [21], which provides a secure e-voting protocol where an independent tallier provides the tabulation. This protocol takes advantage of D-out-of-D sharing and multiparty computations to provide security, while manipulating vectors to provide five types of score-based voting. However, the protocol suffers from a high computation and communication overhead due to some of the score-based algorithms as well as the MPC-based tally scheme. _Blockchain-based E-voting Systems._ The proposed approach in Ref. [12] is a scheme that allows for ranked choice voting over a Blockchain network; the scheme achieves security and privacy goals in a similar manner as contemporary research, primarily through a tool Semaphore, which helps implement zkSNARKS, a type of ZKP. The scheme also utilizes Merkle trees for voter registration, and uses libraries to be able to support several RCV methods, including Borda, Majority Rule, and Condorcet. Ref. [22] also proposed a scheme for Borda RCV over Blockchain, but failed to allow the tally to be computed should users abstain from voting. Ref. [12] requires all candidates to be ranked on each ballot, which can be burdensome for the user. In Ref. [15], another scheme is proposed, which can alternatively use a cloud server instead of Blockchain to store the data. Both methods use ZKP and secure MCP to protect voter privacy and enhance system security. Finally, in Ref. [23], a system using Elliptic curve cryptography (ECC) for key and authentication data encryption is used; however, the protocol fails to encrypt the vote itself, resulting in a severe loss of privacy for the voters and the potential for severe election consequences.