[EM] Why We Shouldn't Count Votes with Machines
Dave Ketchum
davek at clarityconnect.com
Sat Aug 16 19:32:07 PDT 2008
To clarify:
> Kristofer
>> Me
>>> Kristofer
On Sat, 16 Aug 2008 09:54:28 +0200 Kristofer Munsterhjelm wrote:
>> As I say above, we are in trouble. Until we both fix the machines and
>> demonstrate success of the repairs, such use of paper backups makes sense.
>>
>> Complicating all this, paper ballots have their own problems.
>
>
> Hopefully the paper ballot problems won't be the same as the machine
> problems, so that fraud is complicated rather than made easier.
>
>>> Let's look at this again. What does a voting machine do? It registers
>>> votes. Surely, that can't be a difficult task, so why use a computer?
>>> Why not (for Approval or Plurality) just have a simple chip connected
>>> to a PROM, with the chip in turn connected to a bunch of switches,
>>> one for each candidate, with a matrix display next to each switch,
>>> and a final switch to commit the ballot? Such a machine would be
>>> provably correct: as long as you have a PROM that hasn't been
>>> preprogrammed (this can be checked at the beginning), and the machine
>>> hasn't been compromised (rewired switches, backdoor chips), then
>>> it'll work as promised.
>>
>>
>> I will use "zillion", a stretchable value, below:
>>
>> A zillion precincts each set up for a few of the zillion races voted
>> on in the US.
>>
>> A zillion personnel who must do all the manual labor and guidance of
>> voters. This is a sideline, thus hard to justify learning complex
>> skills, rather than a full-time career for these.
>>
>> A zillion voters, who BETTER be provided a simple interface for voting.
>>
>> At end of election the counts for the zillion races better get
>> attended to.
>>
>> I really see it easier to do well effectively if you take advantage of
>> what computers can do (and have them do better than the failures we
>> have experienced).
>
>
> So you're saying that computers are better than specialized machines?
> I'm not sure that's what you say (rather than that machines are better
> than paper ballots), but I'll assume that.
Your specialized machines can each do a fragment of the task.
However, dependably composing a capable whole from them requires big
efforts from humans.
Composing the same capability whole from a computer and adequate
programming can be easier.
>
> Because the specialized machines are simpler than computers, once mass
> production gets into action, they should be cheaper. The best here would
> probably be to have some sort of independent organization or open-source
> analog draw up the plans, and then have various companies produce the
> components to spec.
They can be cheaper by not doing the complete task - make the task an
election system and the cost goes up and dependability becomes expensive.
>
> The simplicity of voting could also count against general-purpose
> computers as far as manual labor is concerned. If the machine has been
> proved to work, you don't need to know what Access (yes, Diebold used
> Access) is to count the votes, and you don't need a sysadmin present in
> case the system goes to a blue screen.
You need equivalent of a sysadmin to sort out getting a whole composed
of your specialized machines.
Computers get cheaper and cheaper - think of what is hidden inside a
cell phone.
>
> You could also do these kind of proofs on general purpose computers, but
> then you'd have to design the complete software system from the bottom
> up, which includes what one'd traditionally consider the OS; and if it's
> general purpose, you also have to ensure that the vendors don't patch
> the systems after they've been deployed.
> Having the kind of programmable ROM infrastructure with a limiter on
> per-voter might be good in the general-purpose computer case as well, in
> which case the computer just act as a GUI. Then it can't mass vote - the
> worst (which is pretty bad) it can do is alter the ballot as the voter
> votes.
I do say "general purpose computers", with no funny stuff buried inside.
And all the contents open source.
And recording - CD-R sounds right.
>
>> For Condorcet you must recognize, for A vs B, how many ranked A>B and
>> how many B>A. Must do this for every pair of candidates. If
>> write-ins are permitted (better be), they are more candidates to
>> attend to.
>
>
> That's true, but it's still fairly simple. Assume the ranked ballot is
> in the form of rank[candidate] = position, so that if candidate X was
> ranked first, rank[X] = 0. (Or 1 for that matter, I just count from zero
> because I know programming)
>
> Then the simple nested loop goes like this:
>
> for (outer = 0; outer < num_candidates; ++outer) {
> for (inner = 0; inner < num_candidates; ++inner) {
> if (rank[outer] < rank[inner]) { // if outer has higher rank
> condorcet_matrix[outer][inner] += 1; // increment
> }
> }
> }
>
What ran this loop outside a computer?
> It's less than instead of greater than because lower rank number means
> the rank is closer to the top.
>
> Write-ins could be a problem with the scheme I mentioned, and with
> transmitting Condorcet matrices. One possible option would be to prepend
> the transmission with a lookup list, something similar to:
>
> Candidate 0 is Bush
> Candidate 1 is Gore
> Candidate 2 is Nader
> Candidate 3 is Joe Write-In
> Candidate 4 is Robert Write-In, etc
>
> and if the central gets two condorcet matrices that have the same
> candidates in different order (or share some candidates), it flips the
> rows and columns to make the numbers the same before adding up.
Do you concede central having a computer - or offer more magic?
>
> "Writing in" with the switches-and-display GUI would still be very
> difficult, however; I recognize that problem.
>
>> We know that failing is possible with defective computer systems.
>>
>> I claim that those willing should be allowed to demonstrate, and
>> deliver if they demonstrate ability, good computer systems.
>>
>> Agreed the average voter cannot demonstrate quality of systems, though
>> a few have failed so miserably that even they should notice.
>
>
> I don't really like computerized voting, since I think it solves a
> problem that isn't there while complicating things a lot. But if voters
> insist upon computerized/machine voting, then we might as well do the
> best of it, and in my opinion, it would be better to prove positively
> (that everything it's supposed to do, it'll do correctly no matter what
> happens) than negatively (that it won't err), because there's so much
> more potential for something to fall between the cracks in the latter
> case than in the former.
I don't insist on computerized voting, but believe that if we are
willing to accept valid systems, they can be produced economically.
>
> The specialized conclusion follows from this, because in the general
> purpose computer case (without your own OS or something with a security
> microkernel or similar to ensure the validity of the proofs) you have to
> prove that the display driver doesn't mess with memory it shouldn't,
> that the keyboard driver doesn't, and that basically the entire OS works
> as specified.
Remember I specified, and insist on, open source.
>
>> Some talk of printing copies of the ballot:
>> Certainly voter should have aid in verifying the ballot.
>> But I do not see need for printing such.
>
>
> One idea that came to mind when considering this and Kathy Dopp's
> statement that voters don't check their ballots, is this: have the
> machine print the ballot (underneath glass) on a transparency. The
> system is set up so that the screen is monochrome in one color and the
> printer is monochrome in another. Then overlay, very precisely, the
> printed ballot on top of the monitor. If there are any discrepancies,
> then those will stand out because there'll be a color mismatch. The
> printed ballot is what counts - no in-memory count is kept.
I want:
Display completed ballot, for voters to review and redo any
problems.
Record ballot on CD-R.
Open source, so the programs SHOULD be 100% correct.
Care in system design.
See no value in above printout.
>
> It would require very precise alignment and wouldn't do anything for
> colorblind voters, and the GUI would have to look (if not act) just like
> the paper ballot so that the confirmation isn't on a separate screen
> (which would defeat the purpose). Those requirements may be too strict
> for the method to work, but I mention it anyway in case it isn't.
>
> The point of using the printed ballots as what counts is that as long as
> the voter checks the result, there's no way for the computer to "keep
> two books" - to tell the voter the ballot registered was for X while
> secretly registering one for Y instead.
AGAIN, OPEN source.
>
>> I am for a record on disk of each ballot, but done in a maner to
>> not destroy secrecy.
>
>
> You have to be very careful when doing so, because there are many
> channels to secure. A vote-buyer might tell you to vote exactly at noon
> so that the disk record timestamp identifies you, or he might, in the
> case of Approval and ranked ballots, tell you to vote for not just his
> preferred candidate, but both the low-support communist and the
> low-support right extremist as well, so that he can tell which ballot
> was yours and that you voted correctly.
More important is to preserve secrecy for voters who desire exactly that.
>
> Perhaps one could have a compromise by repeatedly record the Condorcet
> matrix so far (or Approval counts, in the case of Approval) once they've
> changed sufficiently. That idea may have more subtle flaws, but those
> may also be fixable; I don't know if either is the case.
>
> Finally, the disk record won't help if the machine is compromised. If
> pre-election polls show the incumbent at 47% and the challenger at 53%,
> and the machine changes challenger ballots to incumbent ballots at a
> rate of 7%, prior to those ballots being written to disk, nobody will be
> any wiser. Even an individual ballot record would just show that 7% of
> those that in reality voted for the challenger, voted for the incumbent
> instead, as if having changed their minds just before the election.
AGAIN, OPEN source!
>
> (If you go further in this vein, trying to fix that attack, you
> eventually end up at cryptographic zero-knowledge proofs, which aren't
> really "disk records", but more than that.)
>
>> Disk records should also report what, of a suspicious nature, may have
>> been done to the system.
>
>
> That's a good idea, but it should probably be network based instead of
> disk based so that the virus (if one is introduced) can't just wipe its
> tracks afterwards. Or use some non-erasable medium like aforementioned
> PROMs (or a CD-R for that matter).
I get nervous about network connections while polls are open - more
code to validate.
--
davek at clarityconnect.com people.clarityconnect.com/webpages3/davek
Dave Ketchum 108 Halstead Ave, Owego, NY 13827-1708 607-687-5026
Do to no one what you would not want done to you.
If you want peace, work for justice.
More information about the Election-Methods
mailing list