I'm very interested in this idea. I have run precisely 1 election and have another to run in a little bit.
My feeling is that ballots should be secret but that voters should be able to oversee the process themselves and prove that their vote was counted correctly and that the entire count is correct.
Are you aware of a block chain based system that would prevent me, the election administrator, from knowing who voted for which candidate?
I am no fan of trust and don't want any voter to be forced to trust me. What I like about block chain methods of voting is that you don't need a PhD to prove the vote was counted correctly...but if ease of verification requires trust that the admin didn't create 100 extra addresses to use himself, it's not worth it to me.
The key is getting the voting address(s) to each voter.
If a precinct has 100 voters. You generate one address per choice for each voter. So if you have 2 choices, you generate 200 addresses.
You could even do it on paper, print a QR code and address for choice A and one for choice B.
Print those out and have them available at the precinct polling station. Have them in sealed envelopes. Each voter comes in, they go into their booth and open the envelope, scan the QR code and send a bit to the address.
Then they drop the paper into a sealed box for verification later.
Or you could step it up and put it on a CD, USB, whichever...they plug it into the voting machine and make their choices.
Even less secure but more user friendly would be to have each voting machine loaded up with addresses. You keep track of how many people use it and ensure (with people) that each person only gets to vote once. Most secure would be them sending bitcoins themselves, less secure would be the machine having a bitcoin client to send bitcoins to the address for the voter (behind the scenes).
If you were able to verify each user online it could facilitate online (at home) voting. There are many ways to do this but definitely not foolproof nor hackproof.