Many, especially the open source crowd, believe that the future of voting is electronic voting.
Erroneously, they believe that the right machine can deliver a certified vote. They are wrong.
The open source theory assumes that code posted publicly will somehow ensure that the code on the machine is fair. But there's no way to guarantee that the publicly available code is the code that is in the machine at the moment you are voting.
Others say that an ATM receipt is the answer, but there are two flaws with this.
First, an ATM receipt enables fraud rather than fighting it by making it possible to buy votes. Right now, you can pay someone to vote for a candidate, but they cannot prove they voted the way you paid them to vote.
Second, there's no way to guarantee that what's printed on the receipt is what's recorded in the machine.
In fact, there's no way to guarantee that what's printed or displayed has anything to do with what's recorded.
That's why the most modern and reliable method of voting is optical scan. That's where you fill out a paper that is then scanned by a machine. A hand recount of the vote is possible, because a record exists, but the record is retained by the board of elections, not by the voter, as it should be, to prevent vote buying.
In summary: electronic voting machines can never guarantee that what's displayed or printed is the same as what's recorded -- this could be a one sentance diary, because it's so simple. . .
The vote itself must be recorded on paper. Without paper, fraud is possible and untracable.