Hacker News new | past | comments | ask | show | jobs | submit login

"We don’t really know—and that’s worrisome."

Isn't the point of the blockchain that you always know?




As far as i understand, the software used ("Voatz") is a private blockchain and there is no public information about who runs what.

As far as we know, Voatz could control all the peers in their blockchain making them able to change the vote as they please.


David Gerard, a prominent blockchain skeptic who generally does his homework well, writes that Voatz is "running Hyperledger on four nodes [...] it’s just a single-user clustered database". [1]

[1] https://davidgerard.co.uk/blockchain/2018/06/05/the-west-vir...


Yes, this. Voatz is holding a lot of power here and I can only imagine how well their solution is implemented. Do state or local governments even understand what they do?


If the blockchain is published can't people check 1) that the votes add up to the correct totals and 2) that their vote is reflected in the blockchain?


A blockchain (at least one used like this) is not the right tool here.

Really, all you need is some sort of publicly-defined machine-readable representation of your vote that gets a digital signature locally on your device. You have an open-source app that can sign the vote payload. Then you send the signed payload to the server where it gets added to a plaintext repository.

At this point it would be good to use a signed chain (like git for example) and at this point you "commit" your vote with a timestamp and send the result back to the client. (Commit hash and timestamp.)

Then later, you could just look for the commit sha and timestamp. Of course this means anyone with access to your signature can see who you voted for. Which is a general shortcoming of signature-chain systems.

Another way of doing it might be to have two different blockchains. One has signatures + votes and the other has only the signatures. The one with only the signatures is publicly posted, and the one with signatures + votes is privately audited. The trouble is deciding whether you value anonymity or integrity more.

Of course, in this case it's not clear what the people involved value, since the blockchain is private and just a database that anyone can recreate from scratch at any time.


You could check that the vote adds up, but you cannot check that the vote are correct.

Since Voatz is basically a private blockchain, there is no way to check that the blockchain was tampered with, or even saved the correct votes, before the it has been made public (which will be after the vote). The only way would be to have a mechanism for people to check if there vote was correctly saved at any point. And this is a very big problem, has having a way to know who vote for who in a democracy is a very very very big no no.


Always know what?

The initial point of a blockchain was to provide a mechanism for consensus in a system with multiple parties that lack trust for each other and with no Central arbiter.

Can we access this blockchain to view the votes? No? Then it's opaque to us. It's a private blockchain.


Well you can't really know even if you go and submit a paper ballot. If you could verify your vote, you could sell it. I don't know if that's still a realistic scenario these days when Tammany Hall isn't literally beating people for votes, but it's a reason why you can't tie a vote to yourself individually.


You should check out Threeballot for a simple counterexample. The idea is that you xor together 3 ballots when you vote, but one of the three ballots is published. You have a 1/3 chance of catching manipulation.


That's pretty neat. Are you aware of the weakness though?

https://en.wikipedia.org/wiki/ThreeBallot#Broken_Encryption


https://en.wikipedia.org/wiki/Helios_Voting

Helios does it far better, and way before all of this "blockchain" hype, no cryptocurrency required.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: