# Blockchain-Based E-Voting Mechanisms: A Survey and a Proposal +
## 3 Comparative Analysis
### Counting Type  
There are two distinct types of counting structures employed by blockchain-based e-voting systems. Some systems utilize a self-tallying counting system, while others may employ one trusted third party to be in charge of the vote tallying. Another type of counting method is one that uses both self-tallying and third party tallying either in tandem or sequentially, we designate it as a hybrid counting system.  
\begin{table}
\begin{tabular}{c c c c c c c c c c c} \hline \hline  & \multicolumn{2}{c}{**Blockchain Type**} & \multicolumn{1}{c}{**Cryptography**} & \multicolumn{1}{c}{**Counting**} & \multicolumn{1}{c}{**Anonymity**} & \multicolumn{1}{c}{**Auditability**} & \multicolumn{1}{c}{**Verifiability**} & \multicolumn{1}{c}{**Uniqueness**} & \multicolumn{1}{c}{**Faimess**} & \multicolumn{1}{c}{**Resource Constraint**} \\ \hline
[14] & public & public key & third party & ✓ & ✓ & ✓ & ✓ & & & \\ \hline
[15] & private & public key & self-tallying & ✓ & ✓ & ✓ & ✓ & & & \\ \hline
[16] & & ECDSA, Ed25519, digital signature & & ✓ & ✓ & ✓ & ✓ & & & ✓ \\ \hline
[17] & public & zk proofs & self-tallying & ✓ & ✓ & ✓ & ✓ & ✓ & & \\ \hline
[18] & & post-quantum & self-tallying & & ✓ & ✓ & ✓ & & & \\ \hline
[19] & public & ECDSA & & ✓ & ✓ & ✓ & ✓ & & & \\ \hline
[20] & & SHA-256, RSA & third party & & ✓ & ✓ & ✓ & & & \(\sim\) \\ \hline
[21] & private & digital signatures & hybrid & & ✓ & ✓ & ✓ & & & \\ \hline
[22] & public & & third party & & ✓ & ✓ & ✓ & & & \\ \hline
[23] & public & public key & self-tallying & & ✓ & & ✓ & & & \\ \hline
[24] & hybrid & public key & self-tallying & ✓ & ✓ & ✓ & ✓ & ✓ & \\ \hline
[25] & public & blind signatures & self-tallying & ✓ & ✓ & ✓ & ✓ & ✓ & \\ \hline
[26] & public & RSA & hybrid & & ✓ & ✓ & ✓ & & \(\sim\) \\ \hline
[27] & consortium & zk proofs & self-tallying & ✓ & ✓ & ✓ & ✓ & ✓ & \\ \hline
[28] & private & & self-tallying & & & & ✓ & & \\ \hline
[29] & private & & blind signatures & third party & ✓ & & ✓ & ✓ & ✓ & \\ \hline
[30] & public & ECC, ring signatures & self-tallying & ✓ & ✓ & ✓ & ✓ & & \\ \hline
[31] & public & public key, ECC, digital signatures & self-tallying & ✓ & ✓ & ✓ & ✓ & & \\ \hline
[32] & public & public key, OTPs, digital signatures & self-tallying & ✓ & ✓ & ✓ & ✓ & ✓ & \\ \hline
[33] & private & zk proofs, homomorphic encryption & & ✓ & ✓ & ✓ & ✓ & ✓ & \\ \hline
[34] & & ECC, ring signatures & hybrid & ✓ & ✓ & ✓ & & & \\ \hline
[35] & hybrid & public-key cryptography, blind signatures & self-tallying & ✓ & ✓ & ✓ & ✓ & & \\ \hline
[8] & hybrid & & hybrid & & & & & ✓ & \\ \hline \hline \end{tabular}
\end{table}
Table 1: Comparison of blockchain-based e-voting system.  
\begin{table}
\begin{tabular}{c c c c c c c c c c c} \hline \hline  & **Blockchain Type** & **Cryptography** & **Counting** & **Anonymity** & **Auditability** & **Verifiability** & **Uniqueness** & **Fairness** & **Resource Constraint** \\ \hline
[37] & private & RSA, blind signatures & hybrid & ✓ & ✓ & ✓ & ✓ & & & \\ \hline
[38] & private & public-key cryptography, digital signatures, ABAC & hybrid & ✓ & ✓ & ✓ & ✓ & ✓ & \\ \hline
[9] & & zk proofs, digital signatures & hybrid & ✓ & ✓ & & ✓ & & \\ \hline
[60] & hybrid & non-interactive zk proofs, ring signatures & third party & ✓ & ✓ & ✓ & ✓ & ✓ & \\ \hline
[41] & hybrid & pk encryption, digital signatures, SHA-256 & self-tallying & ✓ & ✓ & ✓ & ✓ & ✓ & ✓ \\ \hline \hline \end{tabular} For columns Blockchain Type, Cryptography, and Counting, a blank space means that the paper does not mention this feature, while in security requirement columns, a blank space means that the requirement is not satisfied or not discussed, a checkmark indicates the system fulfills the feature, and the tilde means it could be suitable with implementation.  
\end{table}
Table 1: _Cont._