From Slashdot - "intermediate electronic voting": General plan: 1. Enter a booth at the polling place. 2. Using a computer, select a candidate, or a rank. 3. The computer outputs a card with the candidate/s along with barcode/s. 4. Check that the barcodes match by looking at a sheet of paper put up above the computer. This sheet says "Candidate X's barcode looks like this". 5. If it doesn't match, tear your card up and try again somewhere else. 6. If it does, fold the card so your vote is invisible and hand to the election officials who put it in a box. After the place has been closed, a machine can unfold and read all the barcodes quickly. Upon a very narrow victory (e.g Florida), a manual count can be done on the names on the cards. A manual count can be done on a small sample in any case to probabilistically detect fraud as well. We don't even need barcodes. It could be a solid slab of some color, with LEDs and color filters to read the value. The only place where this would be difficult is where the voters are to choose among a huge number of candidates (think Party List interleaved STV) More advanced systems could include encryption features like using secret sharing to determine if your vote counted without actually revealing your vote. [UPDATE Nov 22: Do note that this system is vulnerable to chain voting. This is a trick to make voting non-anonymous where the planner supplies the first voter with a fake card and receives a real card that the voter smuggled out after giving the officials the fake card instead of the real one. The planner then checks that the real smuggled card is for the correct candidate and hands it to the second voter, perpetuating the chain. To prevent this, the computer should only display the card, say behind a glass window. A very simple and transparent mechanical system (could be as simple as a chute) then either dumps that card into that computer's box or destroys it (if the voter claims it to be false). At the end of the day, all the boxes are mixed.]