4 ms·
You need a public blockchain voting record. Citizens would need to independently verify the results of their votes cast and contest faulty ones. There are a lo
by zanny 10y ago
You need a public blockchain voting record. Citizens would need to independently verify the results of their votes cast and contest faulty ones.
There are a lot of problems with that system to be answered:
* Can individuals who catch fraudulent votes revoke them? How would that mechanism work? We know we can fairly easily give users private revocation keys for something on a blockchain like that, but in such a protocol a compromised vote would make it impossible to recieve or produce a valid credential like that. The alternative is you use traditional legal systems to contest and investigate fraudulence.
* Alternatively, you tie voter id to the revocation key, but then you have the problem of lost or stolen revocation tokens, plus...
* Anonymity. The easiest way to make a blockchain voting system both anonymous and verifiable to generate a random transaction id for voters to follow for their vote. But because any given id does not provably correlate a person to their vote (you would want to print it on generic paper or even better just send it as an NFC token to a handheld device as a generic string) then the actual voter can be confident in the correlation, but manipulators cannot. This does have its own problem of the machines potentially just emitting false ids, again promoting the idea you might need both a personal and session key combined to be able to verify authenticity of the machine itself.
* There are ways to mitigate compromised endpoints - having voters sign off on their votes success independently of the voting machine will eliminate the ability to produce false ids of someone elses vote, for example.
Note this would not be anything like a cryptocurrency blockchain. Participation would be limited to a collective network of state computers providing consensus with no outsider participation. The chain would not be active year round, it would only generate blocks per election. The actual blocks would contain metadata beyond just the votes, and in the best implementation would provide a searchable database of voter heuristics.
Additionally, a lot of the privacy requirements are a bit overblown. Almost all US states presently support mail in ballots, which have dramatically more vectors for compromise than any electronic system because it cannot be anonymous and authorized simultaneously the way algorithms can be. You could lax the anonymity to just public anonymity - the state itself knows your voter id, you know it, but the public does not. You can share your results because you always know your id, and while it does leave you open to intimidation, it already happens now. Friends force friends to take photos of their ballots, and write ins are implicitly compromisable. It depends on the voters themselves to go to authorities when their votes are being coerced.
But fundamentally the blockchain consensus model of voting makes sense. It eliminates the ability for bad actor endpoints ruining the integrity of the whole. It makes the whole process transparent, where the only way to rig the election is to compromise a majority of participating "miners" in the state. In traditional elections, that is still achievable - if you control the count, you can produce whatever results you want.
- specialist 10y ago"You need a public blockchain voting record." Any kind of audit log records the order of the ballots cast. Which (mostly) corresponds to the order ballots were issued. Meaning blockchain voting would eliminate the secret ballot. I don't think it's possible to have electronic tabulation which safeguards either the secret ballot or the public vote count. But I try to be open minded about it. Some of my besties are nuts for the blockchain stuff, so they keep me in the loop about each new notion.
- deleted 10y ago[deleted]
- zanny 10y agoExcept blockchains aren't timestamped, and you can introduce mechanisms to randomize block acceptance. With a bitcoin transaction you cannot know the order confirmations were requested, just when the transaction was finalized, and there is no correlation between the two in finalized blocks. Given that such a blockchain would only be active one day (or up to a week) of the year and see ~120m+ transactions in 20 hours or so, there would be no way to predict what transaction any one individuals vote was.
- specialist 10y agoSo the secure one-way hash (protecting the secret ballot) is smudging the timestamp. Hmmm. I'll ponder this. I really do consider these ideas. Both to see if there's a way to make them them work within existing election administration laws, rules, and procedures, as well as to see if there's some future perfect system that might work (even if we have to change how we run elections)