# Privacy-Preserving E-Voting System Supporting Score Voting Using Blockchain
## 2 Related Work  
In this section, we review existing works aimed at building a secure e-voting system. A summary of the most recent e-voting protocols is given in Table 1.  
\begin{table}
\begin{tabular}{p{113.8 pt} p{113.8 pt} p{113.8 pt} p{113.8 pt} p{113.8 pt}} \hline \hline
electronic (DRE) systems, respectively. These systems were already attempting to provide universal verifiability and coercion resistance, and both Refs. [17; 18] used non-interactive zero-knowledge proofs (NIZK) and homomorphic encryption schemes to accomplish these goals; but because the architecture is client-server based, they are prone to a number of attacks including denial-of-service (DoS) and man-in-the-middle (MITM). Voatz is the first mobile e-voting application to be used in the United States [19]; however, a group of MIT researchers discovered in Ref. [8] that Voatz, despite their claims of high security and privacy, had some fundamental flaws that enabled several methods of attacks. These flaws are largely in part due to the use of a server to communicate between the voter and the Blockchain. On the client side, they discovered that an attacker who gained physical access to a voter's device could, in the area of the \"Internet of Things\", with root privileges, disable Voatz's host-based protections. This was as simple as using four lines of code to prevent the third-party anti-malware service from running [8]; once the anti-malware is disabled, the attacker has gained full control over the user's account and is able to steal authentication data as well as control the user's vote. The voter can also complete a Stealth UI Modification Attack that keeps the UI looking as the user expects it too but then alters a vote or carries out other malicious behavior. The researchers also found attacks that could be carried out server-side; the server is capable of altering votes, violating privacy and exposing voter information, and controlling the election outcome via MITM attacks [8]. Self-tallying E-voting SystemsIn Ref. [3], the authors have proposed a scheme that utilizes Distributed ElGamal Encryption and Sigma-protocol based Zero Knowledge Proofs to ensure maximal ballot secrecy and fairness. Fairness within the system ensures that a malicious user cannot collect other user's votes and obtain partial results before all voters have participated. The encryption scheme requires all voters to submit their partial decryption keys before the result can be decrypted, thus eliminating the ability for results to be determined without collusion amongst all the voters who are yet to cast a ballot. However, to obtain the vote of a specific voter, all the voters should send their partial decryption keys. This, therefore, makes the system inefficient because such a process requires too much computation and communication overhead, especially when the number of voters increases significantly. The work in Ref. [20] proposed a scheme for a self-tallying system for IoT software updates, similar to the scheme proposed in Ref. [3], which uses commitments, ZKP, blind signatures, and mix-nets to accomplish advanced security and privacy features. The commitments are an important feature that deals with abortive issues that allow for a vote to be \"recovered\" even if the vote is lost or fails to be cast [20]. However, this system and all self-tallying systems require everyone to vote in order to tabulate results, because when they vote their private decryption keys are used to compute the aggregate decryption key. As such, the system requires a consensus of all remaining voters so that the vote can be released, and it could be an avenue of attack on the system if a malicious coalition were formed. In Ref. [14], another scheme similar to Refs.