# Blockchain tech for votes

**URL:** <https://boards.straightdope.com/t/blockchain-tech-for-votes/798478>\
**Category:** Great Debates\
**Created:** [October 10, 2017, 1:06pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478 "2017-10-10T13:06:30Z")\
**Posts on this page:** 20\
**Page:** 7

<div class="post-metadata">

**Author:** ![Okrahoma](https://avatars.discourse-cdn.com/v4/letter/o/90db22/32.png) [@Okrahoma](https://boards.straightdope.com/u/Okrahoma)\
**Post date:** [October 13, 2017, 3:44pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/121 "2017-10-13T15:44:59Z")

</div>

> [@steronz](#):
>
> Then the counts will be off, and people who have been observing the ballots as they’re posted publicly will see the difference.

… the counts are off [quite](http://www.detroitnews.com/story/news/politics/2016/12/12/records-many-votes-detroits-precincts/95363314/) [often](http://www.foxnews.com/politics/2017/09/05/chicago-reported-thousands-more-votes-than-voters-in-2016-gop-official-says.html) in current system. So?

---

<div class="post-metadata">

**Author:** ![HMS\_Irruncible](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/hms_irruncible/32/7394_2.png) [@HMS\_Irruncible](https://boards.straightdope.com/u/HMS_Irruncible)\
**Post date:** [October 13, 2017, 3:46pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/122 "2017-10-13T15:46:15Z")

</div>

> [@Okrahoma](#):
>
> You encrypt with the private key. You give the public key. It is decrypted with the public key. But since the public key is not anywhere associated with your name in my scheme, it is anonymous. Hope this made it clearer.

That’s plain wrong. But in the interest of solving this puzzle, we can set that aside as it is a separate detail of the process. Let’s say that public/private keys are details of the concept “wallet”, and that these details are solved. So in non-technical terms, let’s look at a simple blockchain voting scheme with your stated requirements, and challenge one very big failure case.

First, the assumptions.  
[ol]  
[li]A wallet can hold one type of coin of type ‘USPresident2020’[/li][li]Candidates get government-issued wallets to receive their coins.[/li][li]Voters get a government-issued wallet which is issued as a physical token.[/li][li]The walled is pre-loaded with one coin.[/li][li]To protect anonymity, there is no record of wallet ownership.[/li][li]The voter casts their ballot by transferring their coin to their candidate.[/li][li]Every voter keeps their wallet-token so they can verify that they voted as intended.[/li][/ol]

The election takes place. There’s great fanfare about the new transparent system where you can be 100% sure your ballot was recorded exactly as you cast it. Donald Trump is narrowly defeated by Elizabeth Warren. Immediately a bunch of angry Republicans go online to check the validity of your claim.

The following date, Breitbart is blaring a headline that thousands of registered Republicans are claiming that the system recorded their votes for Warren instead of narrowly-defeated Trump. And they have their government-issued wallets as receipts.

Remember Okrahoma, you promised that everybody could verify online that their vote was recorded as intended. Across the country, 27,000 voters are reporting that is not happening. You made some big promises and spent a huge amount of money. You’ll be asked to testify before the Senate to explain why people are saying your system recorded incorrect votes.

What do you think could have caused this problem? Given the above assumptions, how can you prove your answer? If some additional assumption would improve confidence in the scheme, what is it?

---

<div class="post-metadata">

**Author:** ![Okrahoma](https://avatars.discourse-cdn.com/v4/letter/o/90db22/32.png) [@Okrahoma](https://boards.straightdope.com/u/Okrahoma)\
**Post date:** [October 13, 2017, 3:51pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/123 "2017-10-13T15:51:57Z")

</div>

> [@HMS\_Irruncible](#):
>
> The election takes place. There’s great fanfare about the new transparent system where you can be 100% sure your ballot was recorded exactly as you cast it. Donald Trump is narrowly defeated by Elizabeth Warren. Immediately a bunch of angry Republicans go online to check the validity of your claim.
> 
> The following date, Breitbart is blaring a headline that thousands of registered Republicans are claiming that the system recorded their votes for Warren instead of narrowly-defeated Trump. And they have their government-issued wallets as receipts.

Proof? Have a rabid pro-Trump voter come on TV, with his private key, find his transaction in the blockchain and prove that his vote is recorded for Warren.

Or are you saying that 27,000 rabid pro-Trump voters will deliberately vote for Warren in order to discredit the voting system?

---

<div class="post-metadata">

**Author:** ![Little\_Nemo](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/little_nemo/32/3120_2.png) [@Little\_Nemo](https://boards.straightdope.com/u/Little_Nemo)\
**Post date:** [October 13, 2017, 3:56pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/124 "2017-10-13T15:56:08Z")

</div>

> [@Okrahoma](#):
>
> See #44.

I saw it and it has no relevance to my post.

If you have a system in which votes are being cast on a computer than you cannot monitor the voting. Nobody can watch what a computer is doing.

The only system that can be monitored is one in which the votes and the voting and the tallying are all physical acts that are observable by human beings.

---

<div class="post-metadata">

**Author:** ![Czarcasm](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/czarcasm/32/4050_2.png) [@Czarcasm](https://boards.straightdope.com/u/Czarcasm)\
**Post date:** [October 13, 2017, 3:58pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/125 "2017-10-13T15:58:08Z")

</div>

What will this cost, and who will be doing the tech?

---

<div class="post-metadata">

**Author:** ![Okrahoma](https://avatars.discourse-cdn.com/v4/letter/o/90db22/32.png) [@Okrahoma](https://boards.straightdope.com/u/Okrahoma)\
**Post date:** [October 13, 2017, 3:59pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/126 "2017-10-13T15:59:48Z")

</div>

> [@Little\_Nemo](#):
>
> I saw it and it has no relevance to my post.
> 
> If you have a system in which votes are being cast on a computer than you cannot monitor the voting. Nobody can watch what a computer is doing.

Once the keys are in voters’ hands, sure you can. Just like you can monitor bitcoin transactions [as they occur](https://blockchain.info/).

---

<div class="post-metadata">

**Author:** ![k9bfriender](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/k9bfriender/32/3283_2.png) [@k9bfriender](https://boards.straightdope.com/u/k9bfriender)\
**Post date:** [October 13, 2017, 4:07pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/127 "2017-10-13T16:07:54Z")

</div>

> [@Okrahoma](#):
>
> Proof? Have a rabid pro-Trump voter come on TV, with his private key, find his transaction in the blockchain and prove that his vote is recorded for Warren.
> 
> Or are you saying that 27,000 rabid pro-Trump voters will deliberately vote for Warren in order to discredit the voting system?

So, you are saying that there _will_ be a way for a voter to prove to a third party who they voted for.  
Fatal and irrecoverable flaw in your system right there. You don’t need to go any further, you’re done.

---

<div class="post-metadata">

**Author:** ![Little\_Nemo](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/little_nemo/32/3120_2.png) [@Little\_Nemo](https://boards.straightdope.com/u/Little_Nemo)\
**Post date:** [October 13, 2017, 4:14pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/128 "2017-10-13T16:14:10Z")

</div>

> [@Okrahoma](#):
>
> Proof? Have a rabid pro-Trump voter come on TV, with his private key, find his transaction in the blockchain and prove that his vote is recorded for Warren.
> 
> Or are you saying that 27,000 rabid pro-Trump voters will deliberately vote for Warren in order to discredit the voting system?

See my post above.

The fraudulent computer isn’t programmed to tell the wrong result to any individual voter. When they have their private key checked, the computer tells them accurately who they voted for. The voter has no evidence of fraud.

But while the computer gives it each voter who checks his vote an accurate answer, it also gives a fraudulent total of the votes cast. Sixty five million people vote for Trump and sixty three million voted for Hillary Clinton and Trump won the vote. But the computer says that sixty five million people vote for Trump and sixty seven million voted for Hillary Clinton and Clinton won the vote.

How are Trump voters going to prove the computer is wrong? Twenty-seven thousand Trump voters go and check their keys. Every one of them is told their vote was cast for Trump - and is told Clinton won the election.

So the computer steals the election for Clinton and you can’t prove it.

---

<div class="post-metadata">

**Author:** ![Okrahoma](https://avatars.discourse-cdn.com/v4/letter/o/90db22/32.png) [@Okrahoma](https://boards.straightdope.com/u/Okrahoma)\
**Post date:** [October 13, 2017, 4:14pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/129 "2017-10-13T16:14:27Z")

</div>

> [@k9bfriender](#):
>
> So, you are saying that there _will_ be a way for a voter to prove to a third party who they voted for.

Only if they want to. If they don’t want to, lose the private key immediately after voting.

---

<div class="post-metadata">

**Author:** ![HMS\_Irruncible](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/hms_irruncible/32/7394_2.png) [@HMS\_Irruncible](https://boards.straightdope.com/u/HMS_Irruncible)\
**Post date:** [October 13, 2017, 4:15pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/130 "2017-10-13T16:15:51Z")

</div>

> [@Okrahoma](#):
>
> Proof? Have a rabid pro-Trump voter come on TV, with his private key, find his transaction in the blockchain and prove that his vote is recorded for Warren.

Given this evidence, what is your verdict on this man’s claim? Did the system faithfully record his vote or not? He’s very sure that you are very, very wrong.

---

<div class="post-metadata">

**Author:** ![Okrahoma](https://avatars.discourse-cdn.com/v4/letter/o/90db22/32.png) [@Okrahoma](https://boards.straightdope.com/u/Okrahoma)\
**Post date:** [October 13, 2017, 4:17pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/131 "2017-10-13T16:17:05Z")

</div>

> [@Little\_Nemo](#):
>
> See my post above.
> 
> The fraudulent computer isn’t programmed to tell the wrong result to any individual voter. When they have their private key checked, the computer tells them accurately who they voted for. The voter has no evidence of fraud.
> 
> But while the computer gives it each voter who checks his vote an accurate answer, it also gives a fraudulent total of the votes cast.

You don’t understand how blockchain works. It is literally impossible to do that with the blockchain system. It is not “the computer” that tells you that. You don’t have to trust the computer. Write a fairly simple program that traverses the publicly available blockchain (and by publicly available I mean available on lots and lots of different computers) and count the votes yourself.

---

<div class="post-metadata">

**Author:** ![Okrahoma](https://avatars.discourse-cdn.com/v4/letter/o/90db22/32.png) [@Okrahoma](https://boards.straightdope.com/u/Okrahoma)\
**Post date:** [October 13, 2017, 4:18pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/132 "2017-10-13T16:18:59Z")

</div>

> [@HMS\_Irruncible](#):
>
> Given this evidence, what is your verdict on this man’s claim?

Given what evidence? That the system recorded his vote for Trump?

---

<div class="post-metadata">

**Author:** ![HMS\_Irruncible](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/hms_irruncible/32/7394_2.png) [@HMS\_Irruncible](https://boards.straightdope.com/u/HMS_Irruncible)\
**Post date:** [October 13, 2017, 4:25pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/133 "2017-10-13T16:25:44Z")

</div>

> [@Okrahoma](#):
>
> Given what evidence? That the system recorded his vote for Trump?

I give the scenario. You give the evidence.

As I stipulated in post 122, an angry voter stands in front of you, angry because he’s certain he voted for Trump, but the system says his wallet voted for Warren.

In post 123, you say you audit his wallet-card and confirm that his ballot was indeed cast for Warren.

What is your response to this angry man? Are you calling him a liar? Are you calling the other 27,000 voters liars as well?

What can you prove, and how?

---

<div class="post-metadata">

**Author:** ![Czarcasm](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/czarcasm/32/4050_2.png) [@Czarcasm](https://boards.straightdope.com/u/Czarcasm)\
**Post date:** [October 13, 2017, 4:34pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/134 "2017-10-13T16:34:33Z")

</div>

> [@Okrahoma](#):
>
> You don’t understand how blockchain works. It is literally impossible to do that with the blockchain system. It is not “the computer” that tells you that. You don’t have to trust the computer. Write a fairly simple program that traverses the publicly available blockchain (and by publicly available I mean available on lots and lots of different computers) and count the votes yourself.

Answers like this is why the public will never go for it. To 90% of the voting public, what you just said is total gibberish. You have yet to even approach the problem of getting the public to trust both the government and the science needed to make it work.  
BTW, how much will this elephant charm cost, and will it be public tech, or private?

---

<div class="post-metadata">

**Author:** ![Okrahoma](https://avatars.discourse-cdn.com/v4/letter/o/90db22/32.png) [@Okrahoma](https://boards.straightdope.com/u/Okrahoma)\
**Post date:** [October 13, 2017, 4:35pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/135 "2017-10-13T16:35:05Z")

</div>

> [@HMS\_Irruncible](#):
>
> I give the scenario. You give the evidence.
> 
> As I stipulated in post 122, an angry voter stands in front of you, angry because he’s certain he voted for Trump, but the system says his wallet voted for Warren.
> 
> In post 123, you say you audit his wallet-card and confirm that his ballot was indeed cast for Warren.
> 
> What is your response to this angry man? Are you calling him a liar? Are you calling the other 27,000 voters liars as well?
> 
> What can you prove, and how?

Yes, I am calling him a liar. Of course, your scenario basically requires him to be a liar.

---

<div class="post-metadata">

**Author:** ![Little\_Nemo](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/little_nemo/32/3120_2.png) [@Little\_Nemo](https://boards.straightdope.com/u/Little_Nemo)\
**Post date:** [October 13, 2017, 4:35pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/136 "2017-10-13T16:35:29Z")

</div>

> [@Okrahoma](#):
>
> Once the keys are in voters’ hands, sure you can. Just like you can monitor bitcoin transactions [as they occur](https://blockchain.info/).

No, you’re wrong. If you see a person push a button on a computer all you can verify is that the person pushed a button on a computer. You cannot verify that the computer recorded the result that matches the button that the person pushed. That’s physically impossible. No human being can see what a computer is doing.

If a person writes his mark on a piece of paper and drops the piece of paper into a wooden box, he knows that the piece of paper and the wooden box are not capable of changing what he wrote.

And this person, who is a faithful Republican, can see that there is another faithful Republican sitting right next to the box watching it. He knows that that faithful Republican guard will not allow any Democrats to throw a handful of votes into the box. The Republican guard will make sure that everyone only casts one vote. (And, of course, a faithful Democratic guard is there to assure all the faithful Democratic voters that no Republican is able to throw a handful of votes into the box.)

These Republican and Democratic guards were there every step of the way. They were able to examine the box before the voting started to make sure it was empty and didn’t have any secret compartments. They were able to check all the paper ballots to make sure they were blank and had the right names on them. They were able to watch every person drop their one ballot into the box. They were able to watch the box at all times to make sure nobody threw in extra votes or removed votes from the box. And they were able to watch as the box was opened when the voting was done. They were able to see each ballot as it was counted and see the totals as they were added up.

At the end of the day, the Democratic monitors were able to say _“Don’t worry. We were there all day, we watched everything, and we made sure the Republicans couldn’t cheat.”_ And the Republican monitors were able to say _“Don’t worry. We were there all day, we watched everything, and we made sure the Democrats couldn’t cheat.”_

That’s how a transparent voting system works. People can watch it at every step.

But getting a computer involved at any step is the equivalent of taking the votes off into a closed room and then coming out with them a few minutes later and saying _“These are the same votes I went into the room with. I didn’t change anything. Trust me.”_

---

<div class="post-metadata">

**Author:** ![k9bfriender](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/k9bfriender/32/3283_2.png) [@k9bfriender](https://boards.straightdope.com/u/k9bfriender)\
**Post date:** [October 13, 2017, 4:37pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/137 "2017-10-13T16:37:03Z")

</div>

> [@Okrahoma](#):
>
> Only if they want to. If they don’t want to, lose the private key immediately after voting.

That doesn’t work at all.

What if they don’t want to, because they get $50 if they show they voted for your candidate.

What if they do want to, but their boss/spouse/bully, wants to see it, and they will be fired/divorced/abused if they do not show it to these people?

Or, in your case, they vote, then they “lose” the private key, and now want to check for themselves that their vote was tallied right. They’ve lost the ability to do that.

---

<div class="post-metadata">

**Author:** ![Okrahoma](https://avatars.discourse-cdn.com/v4/letter/o/90db22/32.png) [@Okrahoma](https://boards.straightdope.com/u/Okrahoma)\
**Post date:** [October 13, 2017, 4:38pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/138 "2017-10-13T16:38:57Z")

</div>

> [@Little\_Nemo](#):
>
> No, you’re wrong. If you see a person push a button on a computer all you can verify is that the person pushed a button on a computer. You cannot verify that the computer recorded the result that matches the button that the person pushed. That’s physically impossible. No human being can see what a computer is doing.

If you push a button on the computer and then, immediately, you can verify on a few dozen if not hundreds of independent web sites that the result is recorded correctly, then yes, you can see what the computer has done.

---

<div class="post-metadata">

**Author:** ![Okrahoma](https://avatars.discourse-cdn.com/v4/letter/o/90db22/32.png) [@Okrahoma](https://boards.straightdope.com/u/Okrahoma)\
**Post date:** [October 13, 2017, 4:42pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/139 "2017-10-13T16:42:34Z")

</div>

> [@k9bfriender](#):
>
> That doesn’t work at all.
> 
> What if they don’t want to, because they get $50 if they show they voted for your candidate.
> 
> What if they do want to, but their boss/spouse/bully, wants to see it, and they will be fired/divorced/abused if they do not show it to these people?

The same problem with mail-in ballots. The boss/spouse/bully watches you mark the ballot, put it in the envelope and give it to him/her to send.

> [@](#):
>
> Or, in your case, they vote, then they “lose” the private key, and now want to check for themselves that their vote was tallied right. They’ve lost the ability to do that.

No, they didn’t. They still have the public key that they check with. The public key is what the vote gets stored with. The private key is only needed to verify that the public key is actually yours. But since you yourself already know that it is, it is not needed.

---

<div class="post-metadata">

**Author:** ![k9bfriender](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/k9bfriender/32/3283_2.png) [@k9bfriender](https://boards.straightdope.com/u/k9bfriender)\
**Post date:** [October 13, 2017, 4:42pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/140 "2017-10-13T16:42:49Z")

</div>

> [@Okrahoma](#):
>
> Yes, I am calling him a liar. Of course, your scenario basically requires him to be a liar.

Or mistaken.

Or, the software itself is broken, in such a way that he put down a vote for one candidate that was changed to another candidate before that transaction ever even took place.

There are many scenarios where someone could claim that their vote was incorrectly tallied that do not involve them being liars.

You voting system will get even less support for it if you make claims like this.

[Previous page](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478.md?page=6)

[Next page](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478.md?page=8)
