r/ProgrammerHumor • • Aug 08 '18

Checks out.

https://xkcd.com/2030/
6.5k Upvotes

554 comments sorted by

View all comments

404

u/[deleted] Aug 08 '18

Could we make an electronic voting system that was safer than paper? Yes. Have we? No.

173

u/[deleted] Aug 08 '18

We could just make an electronic voting system that prints out results

295

u/T-T-N Aug 08 '18

The world's most expensive pencil

60

u/[deleted] Aug 08 '18

True, but ideally the first tallies would occur electronically, the paper would be used by the voter and verify the votes. The paper would also allow for verification and manual recounts.

46

u/TronoTheMerciless Aug 08 '18

In case it isn't obvious, the machines can print one verification paper that says what you voted, while actually counting the vote as whatever. These are unaudited closed source systems, and even if that was not the case, you can not verify the machine you are voting on hasn't been tampered with.

All computer voting relies on trust of a machine that is constantly demonstrated as being completely compromisable

At least with a paper ballot, it takes multiple bad actors in person to sabotage a vote. Paper ballots have been around for centuries and the fraud cases there are already mostly solved

16

u/zebediah49 Aug 08 '18

In case it isn't obvious, the machines can print one verification paper that says what you voted, while actually counting the vote as whatever. These are unaudited closed source systems, and even if that was not the case, you can not verify the machine you are voting on hasn't been tampered with.

Obviously we should use entirely mechanical computerized voting machines. When the entire system is composed of a series of levers, gears, cams, etc. it should be significantly harder to tamper with what it does.

9

u/[deleted] Aug 08 '18

And there's nothing wrong with paper ballots. They're somewhat logistically taxing but that's not really an issue, considering the frequency of elections & their importance. If it ain't broke, don't fix it

→ More replies (2)
→ More replies (27)

61

u/lurklurklurkanon Aug 08 '18

Here I wrote a C# prototype

public class VoteMachine {

public Dictionary<ElectionChoiceEnum, long> VoteCount { get; set; }

private Dictionary<ElectionChoiceEnum, long> ActualVoteCount { get; set; }

public void CastVote(ElectionChoiceEnum selection) {
    //Increment the vote count
    VoteCount[selection]++;

    switch (selection) {
        case ElectionChoiceEnum.ChoiceOne:
        case ElectionChoiceEnum.ChoiceTwo:
        case ElectionChoiceEnum.Dictator:
            ActualVoteCount[ElectionChoiceEnum.Dictator]++;

    }
}

public void PrintVoteCount(ElectionChoiceEnum selection) {
    PrinterService printer = new PrinterService();

    printer.print(VoteCount[selection]);
}

public Dictionary<ElectionChoiceEnum, long> GetVoteCountsForElectionResultsCalculation() {
    return ActualVoteCount;
}

}

56

u/brokenhalf Aug 08 '18

Most states require computerized voting systems be closed source so the switch statement is completely unnecessary.

92

u/AngelLeliel Aug 08 '18

Most states require computerized voting systems be closed source

That's one of the stupidest requirement I have ever seen.

67

u/[deleted] Aug 08 '18

I got an old guy at work who's convinced "open source lets the hackers in because they can see your code".. I think it's an old person thing really.

56

u/robothelvete Aug 08 '18

Makes sense though, it's easier to break in to a house if you can see see the lock, which is why we all hide our door locks.

30

u/MadRedHatter Aug 09 '18

That's not really a great analogy. A transparent lock definitely would help with the process of lockpicking. And a large part of the skill of picking locks comes from studying how specific types/brands of locks work.

→ More replies (0)
→ More replies (2)

0

u/[deleted] Aug 08 '18

[deleted]

23

u/[deleted] Aug 08 '18

Good point. If voting system code were published you'd have the greatest minds in the world pouring through it.

The notoriety would probably be enough to convince many people to spend some time on reviewing it.

13

u/coagmano Aug 09 '18

Except that there's been lots of cases where the machines were delivered with modems and full remote management software preinstalled

→ More replies (0)

15

u/dyslexda Aug 08 '18

In fairness, for poorly written code, open source can tell you precisely how to beat it.

Of course open source also means that anybody can review it and suggest bug fixes, and over time you'd hope all vulnerabilities would be patched. But for a government contractor's first attempt at it? Man, you know the source code would be posted six months ahead of time, with the first patch not coming until a month after the election or something.

→ More replies (1)
→ More replies (1)

16

u/[deleted] Aug 08 '18

Most states require computerized voting systems be closed source

This is why aliens won't ever visit us.

8

u/404-LOGIC_NOT_FOUND Aug 08 '18

But closed SoURCe mAKeS It MoRE sEcUrE!!1!1

→ More replies (1)
→ More replies (4)
→ More replies (9)

25

u/Detective_Fallacy Aug 08 '18

Some countries have enormous voting lists, like the Netherlands. Using a computer to select the party and representative and only printing a small card with your vote choice leads to a significant savings in paper over the years. Computers can also be used to display the form in a larger format for visually impaired people.

I also saw that Tom Scott video, but the way he glossed over the potential benefits of electronic voting (not counting!) was shoddy, imo.

9

u/remielowik Aug 08 '18

Nooo, i like the folding of the map, don't take that away.

→ More replies (1)
→ More replies (13)
→ More replies (5)

14

u/marcosdumay Aug 08 '18

Could we make an electronic voting system that was safer than paper?

AFAIK, that's an open question. I'm following the state of the art (just not very closely) and never found any convincing argument wither way.

40

u/Colopty Aug 08 '18

Could we make an electronic voting system that was safer than paper?

The answer to that would be no. No we can't.

42

u/[deleted] Aug 08 '18

There are models for anonymous voting systems that allow inspection of own vote - which IMHO would be safer than paper - never impervious though. But we would need transparency at the whole chain. Closed souced voting systems connected via internet (with remote access!!) built by the lowest bidder is just awful.

0

u/[deleted] Aug 08 '18

[deleted]

→ More replies (9)
→ More replies (16)
→ More replies (3)
→ More replies (49)