logoalt Hacker News

juhanima • yesterday at 7:51 PM • 4 replies • view on HN

You convince yourself the way you do with any elections: you trust the people/system that counts the votes. If you think about it for a second, the requirements of a secret ballot (meaning it's not possible to know who voted who) and the fully verifiability you are asking for are mutually exclusive. You can have either one but not both at the same time.

That being said I think the Estonian voting system does a decent job of being trustworthy. Publishing the source code is a big step to the better as well. As far as I knew the system was written in Java but seems like they have upgraded it in Go. Good job! Probably the best in the world.


Replies

dataflow • yesterday at 8:12 PM

> If you think about it for a second, the requirements of a secret ballot (meaning it's not possible to know who voted who) and the fully verifiability you are asking for are mutually exclusive.

I might be missing something obvious but I'm not quite seeing the logical inconsistency between their two goals. Note they're only asking to verify their own vote, not to verify every other person's vote. For that, isn't it enough for authorities to announce a product of large primes, letting each person verify that their own prime was in the set? At each stage, the machines only report the product of primes up the chain, not the individual ones.

It seems to me the difficulty is with the fact that we have so many places to hide malicious things with modern technology (tiny electronics, firmware, etc.), not a logical incompatibility between the goals. If you had some sort of abacus that did all this mechanically without reprogrammability... or a large computer whose logic was fully verifiable... then everyone could inspect the machine and verify that it behaves correctly prior to elections, and e.g. a camera/observers/etc. can ensure no tampering occurred with the machine until the tallies were conducted.

➕ show 1 reply
seb1204 • yesterday at 9:01 PM

You can be a observer in the room when the ballot is counted. So you can monitor if everything was done as intended.

This, and the need for everyday Joe to be able to understand what is done at every step.

cryptonector • yesterday at 7:56 PM

All the source code in the world means nothing when it comes to elections. It's the object code, down to firmwares, BMCs/MEs, even microcode that matters. It's hard to establish trust in those things.

➕ show 1 reply
phtrivier • yesterday at 8:37 PM

Nope. Vote tallying is public with random overseers, in transparent boxes watched by a room of people from diverse opinions, with random inspections - precisely because we DO NOT trust the system or the people who count the vote.

Which has always been my biggest beef about digital vote. I'm all trusting the people writing voting software to do their best, actually. Being a Software engineer myself, I'm more concerned about bugs and hacks than deliberate tampering by the government. Especially in an age where AI agents can access pretty much anything ever connected to an electric plug...

➕ show 1 reply