For a personal project or a team of professionals that understand how public key cryptography works this is a, albeit expensive, solution for a cryptographically proven voting system.
For an election system that a government would use? Absolutely right out. A criteria for fair elections is that the average person needs to be able grok it. The number of people who can validate solidity smart contracts and the cryptographic integrity of a blockchain is astronomically small compared to a paper ballot based system.
Something we were pretty worried about, not every kind of vote needs privacy - but there was a story with Eth DAO having people like Vitalik abstain from voting to not affect other voters opinions, happy to see further progress in this area. Can't wait for an openzepplin primitive.
They’re fundamentally different since the standard definition of a VDF is strictly non-parallelizable and P/o/W is generally designed to be “embarrassingly parallel.”
It may seem like a minor subtlety but the resulting dynamics are dramatically different. For a VDF it doesn’t matter if you have 1 machine churning away or 1000 machines churning away, it will take you the same amount of time to finish the calculation.
Meanwhile in academia, I’ve proposed research into cryptographically-provable voting systems, and received nothing but hostility and discouragement. The same cryptography professors who started their careers in the topic after the 2000 election, have now changed their research interest to ‘combatting disinformation’ about election integrity.
I’m not sure why the academics are discouraged , but there are non-technical reasons to discourage you (and all of us) from trying to use Internet-based voting systems for important elections:
This article voices the general opinion I’ve read from technologists and those who’ve studied networked voting systems. The problems all boil down to any software-based (i.e. non-paper-based) voting system will almost certainly contain bugs, and this will allow elections to be influenced by a few persistent hackers.
Maybe this is where blockchain-based systems could help push such systems forward, by effectively giving a worldwide bounty for voting software. After many years and 0 hacks, we could be pretty confident that this particular piece of solidity code is solid and could be used as part of an Internet voting scheme.
Though, the moment you have a frontend (which you will of course need to interact with the smart contract) you’re back to square one because of all the millions of lines of code (uh oh, bugs!) that are necessary to be executed in order to display a form on your screen.
Maybe it’s a good thing you were discouraged from this bleak area of research, who knows. I’m sorry you were discouraged like that.
Well said. That is the thing with all of these other on chain schemes for everything from real estate to food tracking to voting. It doesn't even matter how secure the voting/tracking part is, the chain can't actually provable tie to something in real life. And as you said, it is an attack vector. People can vote in important things and there can be fraud but when you have paper and many layers of verification and audit-ability, wide spread fraud isn't possible. Too many people have too much of the information.
This is an extremely weak straw-man argument. It doesn’t need to be on the blockchain, mobile, or even the internet. You can print out the cryptographic proof on paper if it pleases you.
How do you convince them the mobile app is doing what it says? There are so many layers of things that are completely invisible to a human without using other computer tools. Paper physically moving is way easier to understand and watch.
I observed the "audit" of my county's VVPAT. When the printout was found to be illegible, the admins just printed another copy. Proving, at best, the printer occassionally worked.
My county trashed our touchscreen voting machines.
Sadly, vendors, technophiles, and a certain type academic, remain undaunted in their enthusiasm for unverifiable elections.
Eg Adjudication of postal ballots, at scale, isn't any better than the touchscreens they replaced in that regard. How hard could it be? Well, the stack my county uses, for "efficiency", fully digitizes the audit trail.
Yup. Voting has received a dizzying amount of academic research. That doesn’t mean it’s impossible to innovate, but diving into that field without an advisor that’s familiar is a recipe for years of rediscovering existing results.
Also there's was a lot of over enthusiasm about moving voting to remote and online that took a while to get people to realize the major pitfalls they were setting up.
Did anyone ever solve the issue of vote verification (a voter being able to verify that their vote was counted) being a massive threat to vote secrecy? ie they're threatened to vote for Candidate X by a group and forced to show a verification they did?
Blockchain techbros have thoroughly burned up the good will that society grants new technologies, and earned it a distrust until proven otherwise state. There's even an XKCD on this exact topic: https://xkcd.com/2030/
>have now changed their research interest to ‘combatting disinformation’ about election integrity.
Seeing as how disinformation is a gigantic problem these days, this is a better use of their time than trying to reinvent a wheel that already works. Implementing a transparent verifiable blockchain backed voting system will not reduce election fraud conspiracy theories because those belief systems were not arrived at through rational logic in the first place.
Until it’s a result you don’t like. Have you ever considered the possibility that there are places where election systems can’t be trusted? I’m sure you’ll be just as supportive of the Russian-led vote in occupied regions of Ukraine.
My proposal was for provable voting systems in conflict regions. It stems from my experience on the ground supporting the 2014 election in Afghanistan. People all over the world risk their lives to vote, and they, normal primitive farmers with no education, demand proof that it was done fairly. The current method is a line of people showing their hands, then one by one, marking a wall and walking out with purple thumbs.
But really, the place and the situation is irrelevant. I find your response both abhorrent and stereotypical.
And you think an uneducated rural farmer is going to trust some numbers you show them? If they think the election is unfair, you going on about blockchain this and zero knowledge proof that is just going to convince them that you're making shit up in order to support a stolen election. The purple thumb proof works way better there.
The academics are right and you're wasting your time, sorry.
Purple thumbs are a pretty good system, and they were definitely not convinced by voting machines, nor paper ballots. But, it's a physical security nightmare. My job was to keep IEDs out of the polling places. There are many more issues such as multiple voting, cross-district voting, cross-border voting, voter intimidation, retaliation, etc.
And imagine an academic suggesting that it's not practical. The most celebrated academic result of the last 25 years in the field was a crypto system that would take a thousand years to multiply one-bit numbers.
Regardless, you're right. It is a waste of time. There's no funding. Academia is like consulting. You make money by telling people what they want to hear. I've become more aware of this.
There are numerous ways to hold a transparent election. Russia is not choosing those ways. Adding a new option does not change this. You earn 0 points for pointing out that Russia is choosing a non transparent, obviously fraudulent system.
I really hate this attitude. This is a very common belief held by non-technical people. They believe that it is impossible to have perfect security, and that every single piece of software ever built is either already hacked, or waiting to be hacked by future hackers.
I truly believe one day a cryptographic voting system will be rolled out, but it's a long way away, not because for technical reasons, but for cultural reasons.
Did you just call Randall Munroe a non-technical person?
> They believe that it is impossible to have perfect security, and that every single piece of software ever built is either already hacked, or waiting to be hacked by future hackers.
What do you propose to do with paper? Mostly it just gets fed into a machine. Is it impossible to vote twice with paper? Is it impossible to throw away paper? Is it impossible to miscount paper?
Paper doesn't impart any security property by itself. Can paper be used in a secure system? Maybe. Can a machine be used in a secure system? Maybe. Is all paper secure? No. Is any machine secure? No. Same for blockchain, mobile, internet, satellite, and ouija boards.
For an election system that a government would use? Absolutely right out. A criteria for fair elections is that the average person needs to be able grok it. The number of people who can validate solidity smart contracts and the cryptographic integrity of a blockchain is astronomically small compared to a paper ballot based system.