Fraud-proof Voting: A Simple Proposal
I've been thinking, off and on, about whether it would be possible to design a voting system that would not be vulnerable to fraud. I think I have a simple answer.
Each voter, before he comes to the polls, obtains a 20 digit random number--by rolling dice, a computer program, or whatever. Once he gets into the voting booth he enters the number into the machine along with his votes; the machine prints out a document certifying that that is his number and records his votes, his number, but not his identity. It might be useful for him to be provided with a sheet of paper with his name on it, which he inserts into the voting machine and gets back with his number stamped on it.
Once all the votes are in, they are posted--all of them--to the web, labeled by number. Any voter can then check his number to see if his votes are correctly recorded. Anyone can download the votes--to a suitably large hard drive--and add up the totals for himself.
The only serious opportunity I can see for cheating with this system is to record all votes cast accurately but also record an additional hundred thousand votes with made-up numbers that correspond to no voter. To prevent that, poll watchers provided by anyone interested keep count of the total number of voters.
One possible problem with this system is that it makes vote buying easy, since the voter can prove how he voted to the buyer. But that's already true of absentee ballots, which are widely used, so is not a problem vis a vis current alternatives.
Have I missed anything?