# 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:** 9

<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, 7:09pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/161 "2017-10-13T19:09:36Z")

</div>

> [@k9bfriender](#):
>
> Okay, so not anonymous at all then.

Fully anonymous, unless you disclose your private key. It is called “private” for a reason.

---

<div class="post-metadata">

**Author:** ![Shalmanese](https://avatars.discourse-cdn.com/v4/letter/s/45deac/32.png) [@Shalmanese](https://boards.straightdope.com/u/Shalmanese)\
**Post date:** [October 13, 2017, 7:10pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/162 "2017-10-13T19:10:22Z")

</div>

Except you could accomplish all of what you just described with… a website. And you could make the entire log “tamper-proof” by just… having people watch the website.

What’s more, you get rid of a lot of tricky web-of-trust issues by keeping a centralized authority rather than distributing on a chain. Let’s say you get mugged on the way home from collecting your keypair and the mugger gets your keys. On a blockchain solution, you’re permanently screwed, there’s no way of revoking that key because that would be “tampering” with the chain. The mugger can then vote using your vote with impunity until the end of time. With a centralized version, the voting authority can unilaterally revoke the key and include police reports or other supporting evidence to explain why they’re disenfranchising that particular keypair. It’s up to the citizenry to then decide whether that move was legitimate and to cause a scandal if it’s not.

Voting intrinsically depends on central authorities to perform a number of key functions anyway. If you’re relying on them anyway, you don’t really have distributed trust and so a blockchain is not an appropriate solution.

---

<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, 7:10pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/163 "2017-10-13T19:10:43Z")

</div>

> [@Okrahoma](#):
>
> Fully anonymous, unless you disclose your private key. It is called “private” for a reason.

How many characters in this key?

---

<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, 7:11pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/164 "2017-10-13T19:11:05Z")

</div>

> [@HMS\_Irruncible](#):
>
> That’s not the case. Public refers to who can possess the key, not the identity of the key’s owner. Under the proposed scheme you pick a keypair out of a bucket, and you take one home. Only the private key can identify the public key, you’re the only one who holds the private key, and nobody knows you’re the owner of the private key.

No, you take both home. You encrypt your vote with your private key, and save it together with your public key.

> [@](#):
>
> Which also means that voters have no way to challenge a vote that they believe was wrongly cast, whether it’s their own error, or machine tampering. Blockchain has absolutely no way to validate any tampering that happens outside its endpoints. None.

Yes, it does.

---

<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, 7:12pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/165 "2017-10-13T19:12:16Z")

</div>

> [@k9bfriender](#):
>
> I mean anonymous from the stand point of being able to prove your vote.
> 
> Right, but he was saying that you can look up your vote by public key. Which means that you are able to show off your vote by using the public key that you have and know.

You can, but you can also show off someone else’s vote by using the public key that you have and know. Public keys are - you know - public.

---

<div class="post-metadata">

**Author:** ![DPRK](https://avatars.discourse-cdn.com/v4/letter/d/4491bb/32.png) [@DPRK](https://boards.straightdope.com/u/DPRK)\
**Post date:** [October 13, 2017, 7:16pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/166 "2017-10-13T19:16:40Z")

</div>

> [@steronz](#):
>
> Much longer than that. Hundreds of characters.

Oh, no need to exaggerate. If you use a key approximately 256 bits in length (like bitcoin does), you can encode it as a couple of dozen random alphanumeric characters, or, better yet, a few random dictionary words.

---

<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, 7:17pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/167 "2017-10-13T19:17:47Z")

</div>

So, how soon before an election would these keys be given out, will the pick-up areas be distributed more fairly than voting precincts have been, and will the process have to be repeated every time there is an election(unlike the current situation where your registration can be good for years in a lot of places? If people have to go through this whole process every time they vote, then the Republicans(who thrive more the fewer the total number of voters show up) should love it.

---

<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, 7:22pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/168 "2017-10-13T19:22:37Z")

</div>

This would put a stop to all the “Get Out The Vote” programs where people go out and help those who are housebound or have trouble getting around register to vote, won’t 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, 7:25pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/169 "2017-10-13T19:25:16Z")

</div>

> [@Czarcasm](#):
>
> How many characters in this key?

Doesn’t have to be extravagantly strong. Whatever it takes at current level of technology for the particular algorithm so that for one vote’s keypair it would take a few years to brute-force break it.

---

<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, 7:26pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/170 "2017-10-13T19:26:43Z")

</div>

> [@Okrahoma](#):
>
> Fully anonymous, unless you disclose your private key. It is called “private” for a reason.

Well… your $5 billion system is anonymous, until somebody decides to beat you with a $9 monkeywrench to make you give up your key. Unless you burn your key immediately, in which case, what’s the use?

Our existing system has true symmetrical anonymity, which means you can’t be coerced into revealing your vote. Your scheme gives that up. How do you justify giving up that secrecy?

---

<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, 7:29pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/171 "2017-10-13T19:29:00Z")

</div>

> [@Okrahoma](#):
>
> Doesn’t have to be extravagantly strong. Whatever it takes at current level of technology for the particular algorithm so that for one vote’s keypair it would take a few years to brute-force break it.

And the actual answer to my question would be…?

---

<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, 7:30pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/172 "2017-10-13T19:30:57Z")

</div>

> [@HMS\_Irruncible](#):
>
> Well… your $5 billion system is anonymous, until somebody decides to beat you with a $9 monkeywrench to make you give up your key. Unless you burn your key immediately, in which case, what’s the use?

If you burn it immediately, you can still prove it to your own satisfaction that your vote is recorded correctly. You just cannot prove it to someone else’s satisfaction. So - prove it to yourself, then burn it.

> [@](#):
>
> Our existing system has true symmetrical anonymity, which means you can’t be coerced into revealing your vote.

Except in mail-in vote schemes. Like Oregon’s. Or absentee ballots.

---

<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, 7:35pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/173 "2017-10-13T19:35:08Z")

</div>

> [@Okrahoma](#):
>
> Doesn’t have to be extravagantly strong. Whatever it takes at current level of technology for the particular algorithm so that for one vote’s keypair it would take a few years to brute-force break it.

[4 years to break an RSA-768 key](https://security.stackexchange.com/questions/4518/how-to-estimate-the-time-needed-to-crack-rsa-encryption/4528#4528). (Note, that record was in 2009, might not be good enough anymore). That means your key is 232 decimal digits long. Not sure if this matters, given a physical token.

---

<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, 7:36pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/174 "2017-10-13T19:36:29Z")

</div>

> [@Okrahoma](#):
>
> If you burn it immediately, you can still prove it to your own satisfaction that your vote is recorded correctly. You just cannot prove it to someone else’s satisfaction. So - prove it to yourself, then burn it.  
> Except in mail-in vote schemes. Like Oregon’s. Or absentee ballots.

I don’t do that. Most people don’t. You’re not answering why we should give up the secrecy that we do have.

---

<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, 7:52pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/175 "2017-10-13T19:52:30Z")

</div>

> [@HMS\_Irruncible](#):
>
> I don’t do that. Most people don’t. You’re not answering why we should give up the secrecy that we do have.

Most people don’t sell their votes. But if they want to, they can do it today, with mail-in ballots. And if they don’t want to, the secrecy is assured with what I am suggesting, by losing the private key.

---

<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, 7:56pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/176 "2017-10-13T19:56:00Z")

</div>

> [@HMS\_Irruncible](#):
>
> [4 years to break an RSA-768 key](https://security.stackexchange.com/questions/4518/how-to-estimate-the-time-needed-to-crack-rsa-encryption/4528#4528). (Note, that record was in 2009, might not be good enough anymore). That means your key is 232 decimal digits long. Not sure if this matters, given a physical token.

Note that this is to break one vote. Also note that this only matters for the voting period itself. After it, the keys are stored under the blockchain encryption mechanism, which is (for a long chain) much harder to break in order to change the votes. You basically have to re-create all the blocks, which is computationally way more difficult than breaking one vote.

---

<div class="post-metadata">

**Author:** ![DPRK](https://avatars.discourse-cdn.com/v4/letter/d/4491bb/32.png) [@DPRK](https://boards.straightdope.com/u/DPRK)\
**Post date:** [October 13, 2017, 8:09pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/177 "2017-10-13T20:09:05Z")

</div>

Are you voting (using your secret key) at home?

If so, since I am wiretapping the Internet I can (with some nonzero probability) tell what vote you cast, without cracking anything.

If not, why bother with the scheme at all?

---

<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, 8:09pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/178 "2017-10-13T20:09:29Z")

</div>

> [@Okrahoma](#):
>
> Most people don’t sell their votes. But if they want to, they can do it today, with mail-in ballots. And if they don’t want to, the secrecy is assured with what I am suggesting, by losing the private key.

When the goon with the rubber hose is trying to beat my key out of me, will he believe me when I say “I burned it at the polls?” I don’t think so. The only solution to this problem is not to issue receipts at all.

Absentee ballots aren’t relevant here. It’s true that someone could illegally keep a registry of names and ballots, but that’s a price people pay for the privilege of voting in absentia. I, on the other hand, do not vote in absentia and I have no interest in compromising my privacy in that way.

Maybe society as a whole might feel differently. I suppose Oregon decided that was OK. I’m not convinced of the value. If we’re solving abuses in the electoral system, I would rather address the thousands of people who are kicked off voter rolls with no due diligence for bullshit reasons. That’s a problem that needs solving.

---

<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, 8:17pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/179 "2017-10-13T20:17:03Z")

</div>

> [@DPRK](#):
>
> Are you voting (using your secret key) at home?
> 
> If so, since I am wiretapping the Internet I can (with some nonzero probability) tell what vote you cast, without cracking anything.

Not really. During the voting season, there will probably be thousands of transactions per settlement period, which means that (unless you crack the TLS protocol used for secure web communication) you could maybe narrow it down to one out of a few thousand. Have fun with that.

---

<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, 8:17pm UTC](https://boards.straightdope.com/t/blockchain-tech-for-votes/798478/180 "2017-10-13T20:17:39Z")

</div>

> [@Okrahoma](#):
>
> Note that this is to break one vote. Also note that this only matters for the voting period itself. After it, the keys are stored under the blockchain encryption mechanism, .

Yeah, that’s not actually true, you’re conflating 2 different concepts there. Anyway, the key management is a sideshow as I keep saying. A 2048 bit key would fit on an EMV chip, and those are effectively unbreakable. Real question is whether any of this is a good idea w/r/t secrecy, privacy, and public confidence in the system.

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

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