It would be great if everyone eligible to vote automatically received access to an official website/app they can use to vote in any and all elections they are eligible to vote in. Archaic voter registration processes, standing in line at polling sites, and confusing ballots seem so 20th century. Surely something can be done to bring elections into the 21st century with all of the fancy new technology we have available, right?
Unfortunately, it will be a long time before we see Internet Voting used in government elections. It’s not because the government is slow to change or dislikes new technology. It’s because there’s no way — not even with blockchain technology — to ensure that the user’s device (desktop, smartphone, magic conch shell) is not compromised. One could imagine malware that makes the user believe they voted for Hillary Clinton, complete with confirmation screens and everything, when in reality the election server receives a vote for Donald Trump. The fact that the possibility even exists (and is actually quite likely) makes it a non-starter.
So barring the idea of Internet Voting, what can be done to improve upon the voting machines we use today? One word: transparency.
It just so happens that there is a new technology that enables a level of transparency never before possible: it’s called the blockchain.
The blockchain allows for the creation of publicly viewable, timestamped and signed transactions (records) that cannot be altered or deleted. Logging election records (ballot data) on the blockchain would not only allow the public to inspect granular election data themselves, it also creates a secure and permanent record that makes it much more difficult for any funny business to go on after the fact.
Timestamped blockchain records would ensure that any data added later would stick out like a sore thumb. When combined with the actual paper ballots used to cast votes, it becomes virtually impossible to manipulate election results undetected.
This can’t be said for purely electronic voting systems. Even legendary cryptographer David Chaum’s open source “end-to-end (E2E) verified voting system” Scantegrity uses paper ballots with an added, optional ability to verify your vote was correctly recorded after the fact.
Touchscreens, tablets, apps, and interactive ballots are all extra. They are certainly nice things to have (and there are ways of incorporating them into a paper ballot-based system), but they are window dressing. They don’t fulfill the number one requirement of a voting system: correctly and verifiably counting the intent of every voter.
The fact is that in a system that is ultimately run by humans and imperfect machines will always have vulnerabilities. That’s why there’s no such thing as “tamper-proof,” only tamper-resistant. But that doesn’t mean we can’t get as close as possible to tamper-proof.
Here are some things that can help: Open source inspectable code — at the operating system, hardware driver, and voting system levels. Off-the-shelf, brand-agnostic hardware requirements. Checksum ballots. Data saved on write-once media such as a DVD-R. Publicly viewable election data with integrity that can be verified (e.g. using a blockchain such as Bitcoin).
What do you think would improve voting machines in the 21st century? Is there anything you would add to our list?