ElectionGuard – A free open-source voting SDK
blogs.microsoft.com
blogs.microsoft.com
If automation is needed, use scantron technology (where you fill in bubbles on actual paper), which can be manually audited if necessary.
No firewalls, phishing, spectres or meltdowns.
And here I was, thinking I was done with scan-trons when I finished high school.
But seriously, couldn't you modify a scan-tron's firmware to falsely report results? It's much harder to tamper with every person in an election across wide geographical areas.
When margins are close, you could count them all by hand.
Pretty sure we could develop ballots that are easy for both humans and scanners to read. By using computer vision rather than whatever they had in the 1980s I'm pretty sure we could find a solution here.
Even so, given the value of our democracy, I'd happily support returning to counting all ballots by hand every election.
Ever tried to get a non-technical person to use any kind of non-"automatic" encryption (eg, anything they have to directly interact with, as opposed to something like HTTPS)? Now imagine that but include people that can barely use their phone/computer.
Well that said, I don't think its the "best" solution per se. It is wasteful -- a lot of paper must be produced for this single task. It is not completely free of loopholes, but they are burdensome and can be verified by a second count. And I can understand why countries like e.g. India or Indonesia use computers in this situation, millions upon millions of people cast their vote over a limited time period -- it's a logistical nightmare.
But it is far better than trusting a computer, that by definition "can do everything computable". And falsifying an election is definitly computable.
Tampering with paper elections is extremely easy. You can throw out entire ballots, fill in choices where left blank, or force the ballot into an invalid state.
Not to mention the task of counting ballots using people necessarily requires splitting up the task and trusting people.
Electronic voting systems are supposed to address many of these problems, especially as processing the election becomes laborious. We don't need to give up on electronic counting solutions. We just need to make them impervious to tampering and/or verifiable.
>But it is far better than trusting a computer, that by definition "can do everything computable". And falsifying an election is definitly computable.
Tallying up votes by hand is also computation, you're just switching silicon for people.
Hard to do this while you're being watched by observers though...
And if you need to recruit many people to make your tampering scheme work, then it's much harder to keep it a secret.
The best reason to use pen and paper is to ensure that the process is auditable and legible to the most number of regular citizens, not only for security and integrity, but for perception and public trust, which are arguably the most important backbones of democracy. (We may have low confidence in some aspects of our system, like gerrymandering and voter roll purges, but we almost take for granted that once one is in the booth, there's a high reliability that one's vote will be counted correctly.)
This is still the most optimal current system as it much harder to corrupt at scale. The proprietary systems we have can easily be corrupted at the time of aggregation. There have been enough examples of people demonstrating simple tally hacks that there is no way to know if any election is genuinely counted accurately.
That's not to say that its impossible. I think block chain has some promising potential here but databases that are proprietary are completely untrustworthy today.
Best part is the alt text though...
"There are lots of very smart people doing fascinating work on cryptographic voting protocols. We should be funding and encouraging them, and doing all our elections with paper ballots until everyone currently working in that field has retired."
The simpler solution is to hire more counters. I can't imagine that'd be more expensive than developing custom hardware & software.
Why Electronic Voting is a BAD Idea: https://www.youtube.com/watch?v=w3_0x6oaDmI
[0] https://www.washingtonpost.com/video/world/watch-cctv-footag...
Where is the "we invite interested developers and groups to audit this code and try to build exploits" stage?
> recently received $10 million in funding from DARPA to build a demonstration voting system
and maybe with a bounty reward program?
Then again, maybe because this is more of a reference implementation designed to be incorporated into other products (MIT license) maybe the only thing that matters is how the final implementation is done?
From this random coder's perspective, the architecture previously designed sounded good. Voting and tallying were two separate systems. A physical, user-decipherable, paper that the voter carries over connected the two (it sounded something between a QR code and scan-tron).
It's good to see an open source codebase that multiple vendors would implement against.
Looking forward to seeing this movement keep advancing.
This might mostly be a problem for those then powerful, if someone find out that they voted "wrong" long time ago, our trust in them will be reduced. Yet a way to do negative campaigning.
In previous (recent) elections you hear about voting machines sitting in storage or running out of paper ballots. Having a mature and open voting infrastructure allows old, commodity hardware to be used (including paper) instead of expensive, proprietary machines that can go "out of date" and "no longer supported/updated."
Politics is all about which tools are used and how.