|
|
|
|
|
by mckmk
2802 days ago
|
|
There is fundamentally no way to do voting on the blockchain that limits one person to one vote and still maintains a system that isn’t completely reliant on trusting a third party at every important level. To start, and this is really important. The end users MUST maintain their own private key and choose their own software that interacts with the blockchain directly. If they use some common website or mobile app then the blockchain is providing nothing. That site / mobile app is already in the middle of 100% of the data. BUT, how we verify people and distribute private keys without again trusting a middleman? And if we don’t distribute private keys and instead have people register online, what stops someone from registering 2 times, 10 times, 1000 times, 1 million times? If some party is saying who can and can’t register for private keys for this blockchain then they are… what? A trusted third party. What if I lose my private key? Can I just no longer vote for the rest of my life? If I can somehow reclaim my vote that means there is somebody that’s actually controlling that blockchain and it’s no longer trustless and reliable if some party has that power. If I lose my private key and lose my right to vote then that’s a bad system. What if somebody starts paying people for their private keys? It seems like it’s illegal and immoral to let the practice continue but there’s no way of stopping it. Those private keys are either irrevocable which stays true to the blockchain and not trusting of a middleman OR there is some party the ability to revoke those keys and in that case… THAT’S a trusted middleman. What happens if a user claims the vote they cast isn’t what the public ledger shows their public key/address as having voted for? What if a lot claim that? What does the blockchain really provide in these kinds of imagined uses? That a certain set of private keys DID sign a certain set of transactions - assuming a 51% attack isn’t affordable enough for some party wanting to sway the election. That’s it. No connection to reality. Any non awful implementation of it involves inserting trusted third parties at every part of the process. And this isn’t because we’re ‘early’ and we’ll somehow figure these out. They’re fundamental to blockchain design. |
|
In the case of a national election it's of course okay to trust that the government distributes the keys.
As I said in Sweden we have BankID. With it you log in to all banks, do your taxes, doctors appointments and journals, etc. These are given out at banks and service points which require your ID and send to your address (the exact same security checks as when you're voting). They can be withdrawn and renewed as needed.
We distribute the votes so 1 vote = 1 BankID vote. It's also technically possible to allow users to change their vote if done before the deadline.
All this can happen on any blockchain for example the very secure Bitcoin chain.
> What if I lose my private key?
You renew your BankID and you can change your vote.
> What if somebody starts paying people for their private keys?
What if somebody starts paying people to vote for them? Same problem.
> What happens if a user claims the vote they cast isn’t what the public ledger shows their public key/address as having voted for?
That it's even possible is an improvement over what we have today. Now I just don't know if my vote was counted incorrectly either by a tired worker or a corrupt one(s).
> What does the blockchain really provide in these kinds of imagined uses?
All votes can be counted publicly by anyone. There's no possibility for more votes than registered residents for example. There's no delay.
A lot of money is spent on setting up voting booths, collecting votes and counting them. This is much cheaper. We also don't throw away so much paper.
> assuming a 51% attack isn’t affordable enough for some party wanting to sway the election
Firstly a 51% attack would be easily detectable.
Secondly the only thing you can do is prevent people from voting. You cannot vote for them.
Thirdly all votes cast on the orphaned blocks can still be detected.