Voting on the internet, that's a very long ways off and has a huge host of issues that need to be tackled. Voting electronically at a polling station, that's something that can be done without too much trouble to "get it right."
The way that it "needs to be done" is about like this:
You walk in, you enter your voter ID and it gets checked against the voter registration database. If you're not a registered voter, rejected. If you've already voted, rejected. If you are registered and haven't voted, then allow you to proceed.
You select the candidates you're interested in voting for and select "Vote." The software adds an entry to the database showing a one-way hashed value of your voter ID and then the candidates that you've voted for. The candidates' totals are incremented by one and your entry in the voter registration database is changed to show that you've already voted. It will then print out a "Voter Ticket" showing the hash value of your VoterID, and who you voted for.
At a later date, the entire database can be put online and so you can view the hash value of the VoterID as well as who they voted for. This will allow you to do all kinds of fun informational queries such as "People who voted for candidate X for Mayor were more likely to vote for candidate Y for Governor." It'll be anonymous because of the one-way nature of the hash function on VoterID, but you'll know your VoterID and the hash for it (from the ticket), so you can view the database to ensure that your vote was counted.
I'm sure there's more tweaks that need to be done to the system, but it shouldn't be a difficult project, if set up with security in mind.
__________________
Eat antimatter, Posleen-boy!
|