Many cryptocurrencies have your last two points as part of their design.
For the first one, I see the value in going to a centralized place that has taken measures to make sure there is no coercing involved. Someone with a gun could indeed come to your home, and make you vote for a certain candidate. I don't have a good answer for this, but I do feel that it would be a difficult strategy to pull off, as citizens can vote at any time, from any place.
For your second point, this is indeed the hard part. It can be rephrased as: how can you be sure no one was given 2 coins? I also don't have an answer here that doesn't make you associate an SSN or another unique identifier with a wallet address, which would ruin the anonymity feature. Maybe someone else reading has some good ideas to add?
"but I do feel that it would be a difficult strategy to pull off, as citizens can vote at any time, from any place"
The coercion could and would take the effect of requiring you to vote while the coercier was watching you. If you voted before then, you'd suffer the consequences.
This is an absolute bar to on-line voting as far as I'm concerned; in the US it would likely spark the hot civil war we're sliding towards.
> The coercion could and would take the effect of requiring you to vote while the coercier was watching you. If you voted before then, you'd suffer the consequences.
Yes, and it's not the "gun to the head" type scenario but voting with family, partners, friends that would be more typical. Or voting at work, knowing your boss is right next to you and hates party X that you want in...
Voting on paper in a booth is antiquated and low-tech, but it works. It's simple, pretty easy for interested parties to watch for misconduct, understandable by everyone. It's hard to fake on a large scale, too.
I think we need some kind of Zero-knowledge proof[1]: "a method by which one party (the prover) can prove to another party (the verifier) that a given statement is true, without conveying any information apart from the fact that the statement is indeed true."
In the case of voting, we want to be able to prove that a person voted, with no knowledge of the actual vote. If you can count the number of votes cast that should be enough to be confident in the result.
For the first one, I see the value in going to a centralized place that has taken measures to make sure there is no coercing involved. Someone with a gun could indeed come to your home, and make you vote for a certain candidate. I don't have a good answer for this, but I do feel that it would be a difficult strategy to pull off, as citizens can vote at any time, from any place.
For your second point, this is indeed the hard part. It can be rephrased as: how can you be sure no one was given 2 coins? I also don't have an answer here that doesn't make you associate an SSN or another unique identifier with a wallet address, which would ruin the anonymity feature. Maybe someone else reading has some good ideas to add?