The election needs one or more authority for both authentication and protect the privacy of participant
However, it is difficult for voter to believe
government or authority that will always follow the rules
never get hacked
Introduction
Open Vote Network is decentralized, anonymous and transparent
cannot tally the result even only one voter doesn't cast his ballot
only suitable for small-scale voting
Introduction
One-time Ring signature
Stealth Address
System > Key ideas
General Ring Signature
signer in a particular group can signs the message as group member, and verifier cannot distinguish the identity of signer
a voter can cast their ballot twice
System > Key ideas > One-time Ring Signature
One-time Ring Signature
singer generate key pair \((x, P)\), additionally compute key image \(I = xH_p(P)\)
sign
create ring signature with group public keys \(P_i\) and own key pair \((x, P)\) and key image \(I\)
verify
check if \(I\) has been used in past signatures
Multiple uses imply that two signatures were produced under the same secret key
System > Key ideas > One-time Ring Signature
If the mapping \(x \rightarrow I\) is an injection
Nobody can recover the public key from the key image and identify the signer
\(H_p(P) = I\cdot x^{-1}\)
The signer cannot make two signatures with different \(I\) and the same \(x\)
System > Key ideas > One-time Ring Signature
\(I = xH_p(P)\)
System > Key ideas > Stealth address
System > Key ideas > Stealth address
Alice(sender) wants to send a payment to Bob(receiver)
System > Key ideas > Stealth address
Bob checks if Alice’s transaction is sending for himself
System > Key ideas > Stealth address
System > Key ideas > Stealth address > Key management
System > Key ideas > Stealth address > Key management
System > Election
System > Election > Setup
System > Election > Voting
System > Election > Voting
System > Election > Tally
System > Election > Tally
Environment
2 core, 2.7 GHz Intel Core i5 and 8 GB DDR3 RAM
written in javascript
Analysis > Time analysis
We don't record the ballot information on smart contract directly, but save it in normal transaction
The ballot information on smart contract is only transaction id of normal transaction
Analysis > Gas cost
Anonymity is protected by ring signature
Colluding of key managers is risk
In the worst case, all of them collude to retrieve shared secret key, can only make them tally the result earlier
Analysis > Security
We proposed a decentralized anonymous voting system which only requires minimal trust in others and gas cost per voter
Since the tally phase could speed up via parallel computation, the system is also suitable for large-scale voting
Conclusion