user136: It occurred to me the other day that the difficult problem of electronic voting could possibly be solved quite nicely using a bitcoin system. I believe it's transparent enough to be trusted. I found a few threads discussing this already.
Has any work been done in this area yet? I think it's worth investigating.
Some threads I seen are here and here

user512: I don't have a clean solution but have put a fair amount of thought into this question, which I'll try and summarize here.
The term "Bitcoin-based" could have different meanings. It could mean (1) using Bitcoin exclusively, (2) using Bitcoin as black box to provide some functionality to augment some other voting protocol, or (liberally) (3) using the same cryptographic toolset as Bitcoin without using Bitcoin itself explicitly. I'll deal with the cases in order (3), (1), and (2). 
Using Bitcoin's Toolset
Let me start with (3): using the Bitcoin toolbox. There is a lot of promise to the idea of applying cryptography to voting. In fact, there is a large shared history between digital cash and cryptographic voting, including the origins of both in cryptographer David Chaum and many shared primitives developed over the past few decades. This is the most promising in my opinion but also the least interesting to Bitcoin enthusiasts, so I won't say much more about it here. I do try to summarize  the current state of cryptographic voting over on Security.SE.
Using (Almost) Exclusively Bitcoin
In terms of (1), as most of the answers so far point out, governmental voting requires some control over identity to ensure that only eligible voters vote and that they only vote once. This needs to be held in contrast with the right to a secret ballot.
It would be possible for the government to maintain a roster of voters with each eligible voter's name, accompanied by an encryption of their Bitcoin public key. Each candidate could set up an account and you could vote by moving a specified amount to the candidate (if the candidates are trustworthy, they can immediately return the money to you). When the election is over, the blockchain is parsed to count the unique addresses sending money to each of the candidates. 
To make sure voters are eligible takes a little work (done outside of Bitcoin): the encrypted public keys from the roster are cryptographically shuffled (this anonymizes the list so you lose track of which encrypted key corresponds to which registered voter). The accounts who cast votes are encrypted (along with their choice of candidate) and also cryptographically shuffled. The election authority can then compare the encrypted signing key of each registered voter with the encrypted singing key of each voter who submitted a vote. This is done under encryption (using a "plaintext equality test"). Only when there is a match between the two lists is the vote actually counted. For each step, the EA publishes a publicly verifiable proof demonstrating it is done correctly.
If a voter is coerced or wants to sell their vote (while not actually selling it), they just make up a new bitcoin account and vote from it, knowing the vote will be discarded because it is not the account they registered (and no one can tell, because the account they registered is under encryption, and votes are only checked for registration after shuffling/anonymization). 
This all is a fairly direct translation of an existing system, JCJ / Civitas, to Bitcoin.
Using Bitcoin as a Primitive
In the above example, we didn't use Bitcoin exclusively but it still featured fairly prominently. We could instead use a smaller piece of what Bitcoin provides. For example, the blockchain is an excellent append-only broadcast channel with timestamping and "carbon-dating." Many cryptographic voting systems (nearly all of them) use a primitive like this which is typically called a "bulletin board."
A bulletin board is a place to post encrypted values and proofs that encrypted values are processed in the correct way to produce the tally.
The idea of CommitCoin (mentioned in another answer; disclaimer: I'm an inventor of it) is to use Bitcoin to provide a bulletin board service. The heavy lifting is done by the Scantegrity cryptographic voting system.

user469: I think it could technically be solved using a cryptocurrency system like Bitcoin, but not the existing Bitcoin as it stands. It would need some adjustments to the clients and the rules of the blockchain.
If you think about how paper voting works (at least here in Canada), it goes like this:

You present yourself with ID and are checked against the voters list for proof of eligibility.
Your blank ballot is torn from the stub. Nothing identifies your ballot to the stub number.
You have one ballot that goes in the box.
The officers keep the stubs to verify that the number of ballots in the box is valid.

Now, online:
The first question is identity. This could be established beforehand via user login/password, or some offline validation process if necessary. Either way, the result is, if you're identified and eligible to vote, you provide your digital address and the election office's account transfers 1 Votecoin to you.
The second question is anonymity. The Votecoin you received is identifiable to you and acts as the "stub". Anonymization would need to happen by random exchange of Votecoins with peers to launder the Votecoins to new, anonymous addresses. A few rounds of exchange could take place so even the peers you exchange with have no way to identify you.
You then have 1 anonymous Votecoin to spend to the ballot box address. The record shows only that you were given a balance of 1 vote. Who ended up spending that particular Votecoin can't be known.
For this to work fairly, the blockchain would need to process only net-zero transactions so you always have 1 Votecoin after every anonymization and nobody can steal your vote. The clients could use P2P discovery to handle the anonymization automatically.

user582: This problem becomes alot simpler, and does lend itself to a bitcoin framework, if you realize one thing. your point (2) that requires anonymity is actually useless. voting does not require anonymity. it is an arbitrary requirement that has created a security theatre, albeit one for encouraging more people to participate.
we live in the 21st century. if one can not stand by their vote, i question their motives. fear lynching? i highly doubt that will be possible with online voting.
eliminate the anonymity and you have yourself a very solvable problem. 2012 is coming, AND I WILL BE VOTING FOR RON PAUL, one way or another...

user960: At least one group has at least claimed to develop a voting system based on Bitcoin.
http://www.newscientist.com/article/mg21328476.500-bitcoin-online-currency-gets-new-job-in-web-security.html
According to the article:

The pair have used their method, known as CommitCoin, to close a
  loophole in a voting system they helped develop. In the Scantegrity
  system, voters receive a confirmation code from the list that is
  cryptographically linked to their selected candidate and can be used
  to check on the election website that their vote is counted.


user307: The bitcoin concept has no method to limit anything to a single entity.  I am one person yet on bitcon network I have multiple addresses,  I have multiple wallets which contain multiple addresses, I make up multiple nodes, I have multiple rigs with multiple GPU each, I use multiple IP addresses.
Everything about the bitcon network was designed to allow such a scenario to take place.  evoting requires multiple concepts which are incompatible with current bitcoin network
1) authenticate the person voting (is this person a valid registered voter).
2) keep the authenticated person anonymous.
3) ensure votes can't be duplicated
4) ensure vote count is public, verifiable, and immune to abuse by central authority
eVoting not be solved "easily" by bitcoin network.  I would say eVoating can't be solved "easily" period.  There are some very non-trivial issues with the combination of the above requirements.  
The bitcoin network doesn't help to ensure that any of the 4 principles above are met.

136: <p>It occurred to me the other day that the difficult problem of electronic voting could possibly be solved quite nicely using a bitcoin system. I believe it's transparent enough to be trusted. I found a few threads discussing this already.</p>

<p>Has any work been done in this area yet? I think it's worth investigating.</p>

<p>Some threads I seen are <a href="https://bitcointalk.org/index.php?topic=36807.0">here</a> and <a href="https://bitcointalk.org/index.php?topic=46130.0;all">here</a></p>
 512: <p>I don't have a clean solution but have put a fair amount of thought into this question, which I'll try and summarize here.</p>

<p>The term "Bitcoin-based" could have different meanings. It could mean (1) using Bitcoin exclusively, (2) using Bitcoin as black box to provide some functionality to augment some other voting protocol, or (liberally) (3) using the same cryptographic toolset as Bitcoin without using Bitcoin itself explicitly. I'll deal with the cases in order (3), (1), and (2). </p>

<p><strong>Using Bitcoin's Toolset</strong></p>

<p>Let me start with (3): using the Bitcoin toolbox. There is a lot of promise to the idea of applying cryptography to voting. In fact, there is a large shared history between digital cash and cryptographic voting, including the origins of both in cryptographer David Chaum and many shared primitives developed over the past few decades. This is the most promising in my opinion but also the least interesting to Bitcoin enthusiasts, so I won't say much more about it here. I do try to summarize  the current state of cryptographic voting <a href="https://security.stackexchange.com/a/5798/382">over on Security.SE</a>.</p>

<p><strong>Using (Almost) Exclusively Bitcoin</strong></p>

<p>In terms of (1), as most of the answers so far point out, governmental voting requires some control over identity to ensure that only eligible voters vote and that they only vote once. This needs to be held in contrast with the right to a secret ballot.</p>

<p>It would be possible for the government to maintain a roster of voters with each eligible voter's name, accompanied by an encryption of their Bitcoin public key. Each candidate could set up an account and you could vote by moving a specified amount to the candidate (if the candidates are trustworthy, they can immediately return the money to you). When the election is over, the blockchain is parsed to count the unique addresses sending money to each of the candidates. </p>

<p>To make sure voters are eligible takes a little work (done outside of Bitcoin): the encrypted public keys from the roster are <a href="http://en.wikipedia.org/wiki/Mix_network" rel="nofollow noreferrer">cryptographically shuffled</a> (this anonymizes the list so you lose track of which encrypted key corresponds to which registered voter). The accounts who cast votes are encrypted (along with their choice of candidate) and also cryptographically shuffled. The election authority can then compare the encrypted signing key of each registered voter with the encrypted singing key of each voter who submitted a vote. This is done <em>under encryption</em> (using a "plaintext equality test"). Only when there is a match between the two lists is the vote actually counted. For each step, the EA publishes a publicly verifiable proof demonstrating it is done correctly.</p>

<p>If a voter is coerced or wants to sell their vote (while not actually selling it), they just make up a new bitcoin account and vote from it, knowing the vote will be discarded because it is not the account they registered (and no one can tell, because the account they registered is under encryption, and votes are only checked for registration after shuffling/anonymization). </p>

<p>This all is a fairly direct translation of an existing system, <a href="http://www.rsa.com/rsalabs/node.asp?id=2860" rel="nofollow noreferrer">JCJ</a> / <a href="http://www.cs.cornell.edu/projects/civitas/" rel="nofollow noreferrer">Civitas</a>, to Bitcoin.</p>

<p><strong>Using Bitcoin as a Primitive</strong></p>

<p>In the above example, we didn't use Bitcoin exclusively but it still featured fairly prominently. We could instead use a smaller piece of what Bitcoin provides. For example, the blockchain is an excellent append-only broadcast channel with timestamping and "<a href="http://people.scs.carleton.ca/~clark/projects/commitcoin/" rel="nofollow noreferrer">carbon-dating</a>." Many cryptographic voting systems (nearly all of them) use a primitive like this which is typically called a "bulletin board."</p>

<p>A bulletin board is a place to post encrypted values and proofs that encrypted values are processed in the correct way to produce the tally.</p>

<p>The idea of <a href="http://people.scs.carleton.ca/~clark/papers/2012_fc.pdf" rel="nofollow noreferrer">CommitCoin</a> (mentioned in another answer; disclaimer: I'm an inventor of it) is to use Bitcoin to provide a bulletin board service. The heavy lifting is done by the <a href="http://en.wikipedia.org/wiki/Scantegrity" rel="nofollow noreferrer">Scantegrity</a> cryptographic voting system.</p>
 469: <p>I think it could technically be solved using a cryptocurrency system like Bitcoin, but not the existing Bitcoin as it stands. It would need some adjustments to the clients and the rules of the blockchain.</p>

<p>If you think about how paper voting works (at least here in Canada), it goes like this:</p>

<ol>
<li>You present yourself with ID and are checked against the voters list for proof of eligibility.</li>
<li>Your blank ballot is torn from the stub. Nothing identifies your ballot to the stub number.</li>
<li>You have one ballot that goes in the box.</li>
<li>The officers keep the stubs to verify that the number of ballots in the box is valid.</li>
</ol>

<p>Now, online:</p>

<p>The first question is identity. This could be established beforehand via user login/password, or some offline validation process if necessary. Either way, the result is, if you're identified and eligible to vote, you provide your digital address and the election office's account transfers 1 Votecoin to you.</p>

<p>The second question is anonymity. The Votecoin you received is identifiable to you and acts as the "stub". Anonymization would need to happen by random exchange of Votecoins with peers to launder the Votecoins to new, anonymous addresses. A few rounds of exchange could take place so even the peers you exchange with have no way to identify you.</p>

<p>You then have 1 anonymous Votecoin to spend to the ballot box address. The record shows only that you were given a balance of 1 vote. Who ended up spending that particular Votecoin can't be known.</p>

<p>For this to work fairly, the blockchain would need to process only net-zero transactions so you always have 1 Votecoin after every anonymization and nobody can steal your vote. The clients could use P2P discovery to handle the anonymization automatically.</p>
 582: <p>This problem becomes alot simpler, and does lend itself to a bitcoin framework, if you realize one thing. your point (2) that requires anonymity is actually useless. voting does not require anonymity. it is an arbitrary requirement that has created a security theatre, albeit one for encouraging more people to participate.</p>

<p>we live in the 21st century. if one can not stand by their vote, i question their motives. fear lynching? i highly doubt that will be possible with online voting.</p>

<p>eliminate the anonymity and you have yourself a very solvable problem. 2012 is coming, AND I WILL BE VOTING FOR RON PAUL, one way or another...</p>
 960: <p>At least one group has at least claimed to develop a voting system based on Bitcoin.</p>

<p><a href="http://www.newscientist.com/article/mg21328476.500-bitcoin-online-currency-gets-new-job-in-web-security.html">http://www.newscientist.com/article/mg21328476.500-bitcoin-online-currency-gets-new-job-in-web-security.html</a></p>

<p>According to the article:</p>

<blockquote>
  <p>The pair have used their method, known as CommitCoin, to close a
  loophole in a voting system they helped develop. In the Scantegrity
  system, voters receive a confirmation code from the list that is
  cryptographically linked to their selected candidate and can be used
  to check on the election website that their vote is counted.</p>
</blockquote>
 307: <p>The bitcoin concept has no method to limit anything to a single entity.  I am one person yet on bitcon network I have multiple addresses,  I have multiple wallets which contain multiple addresses, I make up multiple nodes, I have multiple rigs with multiple GPU each, I use multiple IP addresses.</p>

<p>Everything about the bitcon network was designed to allow such a scenario to take place.  evoting requires multiple concepts which are incompatible with current bitcoin network</p>

<p>1) authenticate the person voting (is this person a valid registered voter).
2) keep the authenticated person anonymous.
3) ensure votes can't be duplicated
4) ensure vote count is public, verifiable, and immune to abuse by central authority</p>

<p>eVoting not be solved "easily" by bitcoin network.  I would say eVoating can't be solved "easily" period.  There are some very non-trivial issues with the combination of the above requirements.  </p>

<p>The bitcoin network doesn't help to ensure that any of the 4 principles above are met.</p>
