Hacker News new | ask | show | jobs
by sebmellen 2138 days ago
To be clear, most of my other comments in this thread are solutions to problems I took from the top of my head. I'm not suggesting we implement a voting system off of my comments.

I also am not in favor of blockchain-based voting. Of course a "right-to-vote" token is, at the moment, a far worse solution than paper ballots at polling stations. Mostly, this limitation is pragmatic — we don't have good ways to store private keys, low-level hardware and software is not easily auditable, UX/UI issues, etc.

In the US, we are considering having the largest vote-by-mail election ever. This is a politically charged issue, where Trump claims mail-in-voting will lead to massive voter fraud, and the Democratic party claims otherwise. If you suggest that mail-in-voting may be insecure, you're labelled as a Trump supporter.

With this political landscape in mind, electronic voting vs. postal voting is certainly a pertinent discussion. This comes especially as Trump has made efforts to "DDoS" the USPS by kneecapping its throughput. This would, depending on the system's design, be harder to do with electronic voting. Estonia is a good example of how digital voting can be implemented securely, with the approval and understanding of the populous.

But my main contention is that there are ways that blockchain voting can be fully anonymous, even if we don't have the implementation capability right now. Zero-Knowledge proofs, combined with a system where the voter's real identity is never mapped to their on-chain public key, allow for this. The individual voter would receive a private key in the mail, or using a Monero-like blockchain they would generate their private key and redeem one "Right to Vote" token, which would be sent to their account. They would then vote with this token, and using a "view key" would be able to audit that their vote was cast for X party.

Nowhere in this system would real identity be mapped to blockchain identity. The risk of "deanonymization" is therefore about the same as with mail-in voting. A coercer could force you to show them the results of your vote afterwards, true, but there are ways around this as well. Most simply, all view keys could be revoked after casting a vote. The public "token balances" of each candidate would be viewable, but the results of an individual vote not.