Three facts before I start writing:
- I love technology advances, I love programming and I like how the world evolves thanks to technology.
- In Argentina there is a debate about electronic vote (Wikipedia has part of an article speacking about our case here).
- This blog is not about politics, and I do not sympathize with any political party. Of course I have political ideas, but I don’t trust in politicians.
The first impression is that I would love to have an electronic way to vote. It is fast, less paper consumed, less ways to do political patronage. But… I am against voting that way.
Let me tell you why:
- Fraud: Some people says that voting this way avoids fraud because counting votes and filling telegrams is not anymore in (corrupted) human hands. Well, the program is made by (maybe corrupted) human hands. At that point this is just changing who put the hands moving from visible cheating to a slightly more difficult cheating, but the cheating factor is not deleted, it is only more difficult to find it.
- Porposal: Computers count faster than humans. It is ok. But also computers count what programmers want to count, but we will go to that point later. The system that wants to be implemented in Argentina uses computers but also papers that are printed from the computers, so, votes in paper should be counted, unless we trust what the computer says. If we have to count paper either way, why use computers?
- Source code: Here is for me as a developer, the main point: Who codes the voting program, and more important: who audits it? If it is the state or justice, you have trust a player that is also a referee. If it is a private corporation, it is contracted by the state, so, nothing changes. One solution is that the code is open source, so anyone with programming skills can read and audit.
- Source code part II: Let’s say that the code is open source and the company that developed the voting systems gives you the code, who audits that the code is the same that the election computers have?
- Source code part III: In the middle of voting, a machine stops working. It is changed, who audits that? (ok, the last three points could be resumed as one).
- Security: ANY software is vulnerable. No matter how secure the company makes it (and lets be nice and say that the company really wants to make it secure), any software is vulnerable. About the BUE, there are some articles (In spanish) about vulnerabilities in the system. Here, Here, Here.
- Examples: Venezuela is a good example of electronic voting manipulation. Most people in the country rejected to vote in the last election. Maduro’s government said that 8 million people voted and even the company that made the software, Smartmatic said that there was a big fraud. In other elections, Maduro himself claimed that he can know who voted against him.
- Examples II: Lots of countries that had electronic voting systems are starting to ban it. Netherlands and Germany are some examples.
So, is electronic vote the problem? At some point I am starting to think that fraud is going to happen no matter what kind of voting system we use, but using computers the difference is that fraud will happen without most of the people notice it.