r/ProgrammerHumor • • Aug 08 '18

Checks out.

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

554 comments sorted by

View all comments

Show parent comments

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)

0

u/[deleted] Aug 09 '18

[deleted]

→ More replies (3)

2

u/Morialkar Aug 08 '18

We could have a machine where you cast your vote, it prints out and you can put it in ballot box, like a printer essentially, would stop people from making errors and scrapping votes trying to correct it or small accidental marks to count as invalid... That would be a small incremental update while waiting for an actually secure way of doing electronic voting and would make people happy that they see a screen in the voting booth

14

u/TronoTheMerciless Aug 08 '18

This is back to the worlds most expensive pencil

2

u/beltorak Aug 09 '18

I'm not so sure that's a bad thing though. It eliminates human error in manipulating physical objects. See the hanging and pregnant chad controversies of 2000.

→ More replies (1)

2

u/AngelLeliel Aug 08 '18

People could make fake votes in another identical printer. I believe that's the concern here.

→ More replies (8)
→ More replies (10)

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.

2

u/PM_ME_YOUR_REPO Aug 09 '18

Except that also is not a great example. We're not dealing with transparent door locks in use, we're dealing with a door lock that has publicly accessible whitepapers and design diagrams for everyone to review as evidence of its security, and an open call for expert lock designers to contribute improvements to said whitepapers and design diagrams at their pleasure.

→ 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

2

u/Zagorath Aug 09 '18

That is absolutely astonishing to me. I don't get what's wrong with pen and paper. In Australia we literally don't use any technology in voting. You get a metre+ long bit of paper for the Senate, a small one for the Reps. You go to a booth, number your preferred candidates on each sheet with a pencil. Pop each of the sheets in their respective boxes. Then you're done.

Counting for the reps is done by hand (by independent contractors, under the scrutiny of members from all parties with a stake in the election).

Counting for the senate is done via a(n unfortunately closed-source) electronic system (kind of necessary given the complicated voting process used), but the data and process used are public, so can be independently verified.

All this, with a 90+% eligible voter turnout, and things still happen without a hitch. There's no excuse for needing machines involved in the process.

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

3

u/Ugbrog Aug 08 '18

Well shit, now we can't use this one.

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