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 Aug 18, 2021 at 5:59 p.m. UTC

Presented By Icon

Election 2024 coverage presented by

Stand with crypto

 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.

  • Bitcoin Mining in the U.S. Will Become 'a Lot More Decentralized': Core Scientific CEO
    13:18
    Bitcoin Mining in the U.S. Will Become 'a Lot More Decentralized': Core Scientific CEO
  • Binance to Discontinue Its Nigerian Naira Services After Government Scrutiny
    05:10
    Binance to Discontinue Its Nigerian Naira Services After Government Scrutiny
  • The first video of the year 2024
    04:07
    The first video of the year 2024
  • The last regression video of the year 3.67.0
    40:07
    The last regression video of the year 3.67.0
  • 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

    Disclosure

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

    CoinDesk is an award-winning media outlet that covers the cryptocurrency industry. Its journalists abide by a strict set of editorial policies. CoinDesk has adopted a set of principles aimed at ensuring the integrity, editorial independence and freedom from bias of its publications. CoinDesk is part of the Bullish group, which owns and invests in digital asset businesses and digital assets. CoinDesk employees, including journalists, may receive Bullish group equity-based compensation. Bullish was incubated by technology investor Block.one.


    Learn more about Consensus 2024, CoinDesk's longest-running and most influential event that brings together all sides of crypto, blockchain and Web3. Head to consensus.coindesk.com to register and buy your pass now.