Hacker News new | ask | show | jobs
by jagbolanos 3656 days ago
Yes, with end-to-end voting you can be certain that your vote wasn't modified but you can't prove to someone whom you voted for https://www.cs.jhu.edu/~sdoshi/index_files/randomness_paper....

Using interactive proofs you can know that the machine won't modify your vote, and using zero-knowledge proofs plus a distributed key you can decrypt and randomize, being certain that votes haven't been lost and without revealing whom people voted for.

Additionally with a public ledger like the blockchain, you can be certain that your vote is there (checking your signature), and when votes were cast.

Using something like colored coins you can ensure that no additional votes are created.

The problem that I do see with remote voting is that I could be right next to you when you vote and coerce you to vote for the person that I want

3 comments

My approach to achieve what you describe:

https://roamingaroundatrandom.wordpress.com/2014/06/16/an-mp...

It is based on multiparty computation, and individual smartcards for the voters (the simplest secure solution).

Natanael_L I just skimmed through it but will read it later today. I worked on a prototype earlier this year implementing the blockchain part, not secure yet, specially it doesn't implement the end-to-end encryption. Anyhow you can read about it here and there is a link to the video of the prototype https://medium.com/@jagbolanos/votosocial-org-towards-an-e-v...
Well we already have mail-in voting and coercion could happen at some shadier physical locations.

Would it be possible to add another vote that invalidates the first, but preserves anonymity? Then there's no guarantee that someone doesn't just revote.