In Honduras they just had an election, and this is how they prevent people from voting more than once: you dip your finger in red dye.
This low-tech solution is probably fool-proof for their citizens. I'm sure we could all imagine various ways around this, but it's far better than the methods we use in the US of A. My wife works as the local inspector of elections, and you know how they prove you've not voted before? They ask for your name, and verify your signature against the signature they have on file. That's all!
I think Honduras has a better idea.