Hacker News new | ask | show | jobs
by florabuzzword 2867 days ago
Overall, well put, and those points are tough to discount.

> With electronic voting, the counting is done by machines and the mechanism is obfuscated and unverifiable.

Could a blockchain not address that with public/private keys? Why is this ridiculous?

6 comments

The hard parts of voting systems are keeping 1 ratios 1 of voter and vote and preserving individual voter anonymity. Blockchains don't solve either problem better than paper, and if you're not careful you end up introducing subtle new voting problems (you should not be able to prove who you voted for -- _even_ if you hold a special credential) and shiny new operational problems like key distribution. All of this is at best a ton of risk for ostensibly very little benefit; at worst, your democracy is now owned by some rando with an Android 0day.
Okay, let's start with the idea that it isn't ridiculous. For the sake of argument, let's say a blockchain-based voting system could be as verifiable as paper.

So what problem does it solve? What does the blockchain accomplish that a paper ballot does not? And what are the costs in terms of user interface and voter education, relative to paper?

It makes voting faster and less expensive (practically free). That means you could have the public voting at arbitrary frequency. You could imagine a system where the public is voting every month, week, or day on what the country should do next.

I'm not saying this would be good necessarily, only that such a technology would enable fast, frequent, continuous control distributed across the population. Such a country would be very different from anything that exists today.

This is assuming that the system would be inherently trustworthy and trustable with no human oversight. I have a nagging suspicion that over time this system would still settle in a state where we have just as many humans involved in ensuring everything is kosher as we have now, but compounded with a system that is less transparent for someone who is blockchain illiterate.

Assuming that voting would become effectively free, the second point does sound quite intriguing. It's the sort of direct democracy that is practiced by some countries (e.g. Switzerland). It does require a certain level of voter education though - so people look at the longer term. Otherwise you'll never push through an initiative that raises taxes for example.

I haven't heard of a "practically free" blockchain yet, though.
Because your vote also needs to be private to the point where a third-party can't verify that a vote belongs to you.

To prevent selling of votes, or forced votes via blackmail.

Thanks. That’s the answer I was looking for. I guess there would be no way to verify privately.
There's ways. A memorized "secret" that would be put on the ballot in addition to your vote could be used for you to verify a checksum.

The main issue is the hardware, and added complexity. But these are interesting problems that should be talked about.

There are a large number of technical issues with blockchain voting. The thing about public key cryptography is that it is easy to create a new identity. But in a voting system you need to trust that each voter is a citizen and that they only vote once. This means that public keys of the citizens need to be securely collected by a government authority (for example your local DMV).

Plus we would need culture changes around key management, so that non-tech-literate people can create and protect keys. Which means the people would need some standard for secure hardware to generate keys and sign ballots. Which means we'd need some government standard for "trusted hardware", and that would quickly become an attack vector.

Only after all of that would it be possible for the government to trust votes via public key cryptography. And as Jacob says, the important thing is that the _public_ has trust in the vote, regardless of what government officials believe.

That still counts as "done by machines".