An Ethereum Voting Scheme That Doesn't Give Away Your Vote

In Malta this week, researchers revealed a proposal for secure blockchain voting that involves no third party for privacy or tallying votes.

AccessTimeIconApr 6, 2017 at 2:30 p.m. UTC
Updated Sep 11, 2021 at 1:13 p.m. UTC
 Feng Hao, Patrick McCorry, and Siamak Shahandashti, creators of the Open Vote Network.
Feng Hao, Patrick McCorry, and Siamak Shahandashti, creators of the Open Vote Network.

Voting on the blockchain sounds like a brilliant idea, promising to eliminate fraud while providing complete transparency to the final results.

But in practice, blockchain voting is extremely difficult to implement in a way that both keeps the votes private (so you don't know how a person voted) and doesn’t require a third party.

There are a few voting apps already out there, like the Blockchain Voting Machine, Follow My Vote and TIVI, that use the blockchain as a ballot box. But each of these, in some way or another, relies on a third party to achieve voter privacy.

At the Financial Cryptography and Data Security Conference in Malta this week, however, a PhD student from Newcastle University in the UK, caught audience attention when he stepped forward with a proposal for secure voting that involves no third party for privacy – or for tallying votes.

Patrick McCorry's Open Vote Network is a smart contract written in Solidity, where ethereum takes over the work of the trusted third party.

The solution, McCorry said, is ideal for boardroom voting, although not for large groups.

He explained the idea to CoinDesk:

"Everyone can cast their encrypted vote. And then at the end of the election, once all the votes have been cast, anyone, including observers, can simply add the encrypted votes together. It will cancel out all the random factors in the encryption and it will just reveal the final tally."

Hurdles to overcome

When McCorry and his fellow researchers first took on the project, they ran up against two issues.

The first was that, in designing a voting scheme in ethereum, the platform would not compute the final tally until the final voter cast a vote, requiring 100% participation. The second was an adaptive issue where the final voter was able to compute the tally before casting a vote. This posed a problem, since knowing the vote tally upfront has the potential to sway a person’s vote.

However, using ethereum and cryptography, the Open Vote Network team found a way around both problems.

The system works like this: an election admin sends ethereum a 'white list' of voters. Later, when a voter registers for an election, he or she puts down a small deposit. Voters then have a limited time to cast their vote, or lose the deposit.

When a vote is cast, it is first encrypted before being submitted to ethereum. Once all the votes are in (or the time limit for voting is up), ethereum computes the tally, keeping votes private.

And once the final voter casts a vote, he or she cannot change that vote, even after computing the tally.

McCorry explained that his approach rides on the fact that the people in the election are known — an advantage in that it allows the use of peer pressure to encourage voting.

Road ahead

Moving forward, McCorry foresees a time when decentralized vote collections are implemented widely.

"We wanted to show that decentralized elections were possible. Because it has been in academic literature for years, but it has never been practically implemented," McCorry said.

He added that the project – the code for which is now available on Github – also demonstrates that ethereum can support cryptography, as the Open Vote Network uses both ElGamal and zero-knowledge proofs.

McCorry concluded by saying that he and his team are moving on to research use of the blockchain for larger-scale elections.

Voting image via Shutterstock. Event image via Amy Castor for CoinDesk


Please note that our privacy policy, terms of use, cookies, and do not sell my personal information has been updated.

CoinDesk is an award-winning media outlet that covers the cryptocurrency industry. Its journalists abide by a strict set of editorial policies. In November 2023, CoinDesk was acquired by the Bullish group, owner of Bullish, a regulated, digital assets exchange. The Bullish group is majority-owned by; both companies have interests in a variety of blockchain and digital asset businesses and significant holdings of digital assets, including bitcoin. CoinDesk operates as an independent subsidiary with an editorial committee to protect journalistic independence. CoinDesk employees, including journalists, may receive options in the Bullish group as part of their compensation.