Implementing Blockchain for Voting: An Indepth Look at the Technical Issues

Implementing Blockchain for Voting: An Indepth Look at the Technical Issues

The viability of blockchain-based voting systems has been highly contentious. At a technical level, blockchains and their associated technology — such as cryptography and distributed storage systems like IPFS — provide some unique advantages that legacy voting systems don’t employ. The current criticisms of blockchain-based voting systems largely stem from their functionality as online/e-voting models that have received their fair share of criticism over the years as vulnerable to hacking and manipulation.

At the core of the debate that proponents of blockchain voting systems are pushing is that developing innovative solutions using the technology do not necessarily have to be perfect, as long as they simply improve upon the current model. Alex Tapscott recently penned an Op-Ed in the New York Times leading up to the recent midterm elections about online voting systems. The piece was met with stiff resistance by academics and political pundits, but it highlighted some important consequences of a secure and anonymous online voting system underscored by a P2P blockchain system.

Blockchain Voting

According to the preliminary analysis of voter participation in the midterms by the U.S. Elections Project, roughly 49 percent of eligible voters participated in the election. While this is an unprecedented amount of participation in midterm elections, it is still only 49 percent of eligible voters. Online voting systems — predicated on a blockchain — can improve voter participation by easing access to the process, avoiding administration and counting errors (see the ongoing situation in Florida), and ensuring the authenticity of results based on cryptographic guarantees of security.

There are problems still facing blockchain-based voting systems, however. Implementing the technology is not a silver bullet to cure all voting woes in democratic systems. Some of the major concerns facing blockchain voting systems include validating identity, falsifying votes for voters who did not vote, and issues with the potential to deanonymize voters.

The implementation of blockchain voting is usually tied to some new method for voting at a larger scale. For instance, liquid democracies, carbon voting, and other systems are often tethered to a blockchain model as a proposed better method than the current system. While interesting, these concepts are not the primary concern of this piece and bring with them their own forms of advantages, disadvantages, and contentious debate. Analyzing blockchain voting systems at a technical level requires emphasizing the fundamental components of any authentic democratic voting system followed by looking at some recent practical examples.

The Fundamental Components of a Democratic Voting System

A blockchain voting model would require all of the same guarantees that any democratic election system has. Particularly when referencing an e-voting system, these include:

  • Completeness/Finality of Results
  • Robustness and Authenticity of the System (Cryptographic guarantees on fraud, tampering, etc.)
  • Eligibility (secure, fast, accurate identity verification system)
  • Verifiability
  • Unreusable Votes
  • Anonymity

Analyzing the potential of a blockchain e-voting system requires viewing the model through the prism of preserving the above components that democratic elections strive to achieve.

Completeness/Finality of Results

This refers specifically to the notion that all eligible voters are accepted as able to vote, and all votes are counted correctly. Finality is a concern in modern voting systems where different voting machine software and identification requirements often lead to recounts in tight races. Removing this inefficiency is key to improving the authenticity and acceptance of results.

Robustness and Authenticity of the System

Simply put, voter confidence in election systems — even in developed democracies — is astoundingly poor. According to a Harvard report in 2016, only 29 percent of Americans were confident ballots nationwide would be counted correctly. Preventing tampering and reducing the ability of fraudulent voters to affect the system is an arduous task with a long historical precedent of challenges.


This mainly refers to only legitimate voters being able to vote. Instances of dead people voting and illegal voting remain problems today.


Vote auditing, or the ability for anyone to verify that the outcome is the legitimate sum of all eligible votes cast. This concept applies both to the voter that they can be sure their vote was counted and to the general universality of anyone being able to verify the overall outcome is authentic.

Unreusable Votes

Voters can vote only once. Applies to elections of representatives, referendums, initiatives, etc.


One of the essential components of any democratic voting system, voter anonymity protects them from post-election retribution or coercion at the time of voting. Coercion through “vote buying” is still a concern though and solutions such as blind signatures and multi-faceted private key/password combinations as voting receipts have been floated as solutions.

The above categories are necessary — at least to a certain extent — to accurately and successfully achieve a democratic election result.

Implementing a Blockchain Voting Model

In a straightforward voting system, we can assume there are at least 3 primary entities participating:

  1. Voters
  2. Authorities
  3. Counters

Importantly, the vital component where a blockchain-based system can have the largest impact is uncoupling the authority entity from the counter entity. The precise reason for doing so only requires a quote from Joseph Stalin to understand why:

“It’s not the people who vote that count. It’s the people who count the votes.”

Counting of ballots is typically run by the authority (i.e., government) so removing the relationship between the two can provide crucial assurances to voters in regards to confidence in the election’s integrity. Such manipulation may not be prevalent in developed democracies, but it is well-established as a common problem in the developing world, particularly where there is exceptionally inadequate infrastructure.

At the start of a traditional voting process, voters cast their ballots to electronic voting machines or paper ballots at polling places. The counters tally these votes and store them in a centralized database overseen by the authority.

A blockchain voting model removes the connection between counters and authority by uploading votes directly to the blockchain itself, a P2P ledger network with no intermediary. The digital medium for vote casting is the blockchain rather than a database controlled by an authority. A public blockchain would be the optimal choice for such elections, especially a decentralized ledger such as Bitcoin or Ethereum.

Within such a system, there would only be two primary participating entities, the voter and the authority. The counter would be eliminated, and the authority could simply tally the votes through an accessible and transparent blockchain rather than relying on various polling places and machines to report results to a siloed database. Voters would be able to cast votes directly through their phones or on their computers. However, these mechanisms for voting would require two sets of data:

  1. The Actual Votes
  2. Identification Documents

Identification documents would need to be validated by the authority — which leaves open potential manipulation still — but could eventually be replaced by whitelisted identities verified through a distributed identity protocol. For now, decentralized identity services are just not developed or ubiquitous enough to function adequately in such a system so the authority (government) would function as the verifier of voter identity. Potential falsification of identities and variations of Sybil attacks loom over blockchain voting implementations.

Rather than votes being directly uploaded to the blockchain, they could be encrypted and stored in a distributed file system such as IPFS. Subsequently, the hashes of the votes could be stored on the blockchain that correlates to their IPFS location. Using IPFS would save storage space, making the voting more scalable on the public ledger while also providing an initial layer of identity obfuscation. A reasonable concern with this process is anonymity though. Voters could potentially be deanonymized through IP mapping or other network-layer tracing methods that connect their vote to their identity. However, developments in zero-knowledge proofs for anonymous but verifiable voting and network-layer privacy protections such as Dandelion offer some promising potential for preserving privacy on this front.

Additionally, Zcoin — who recently completed a Thailand primary election on their blockchain with over 127,000 votes — implemented Shamir’s Secret Sharing Scheme to ensure that no single entity could decrypt voter information. All of the participating authorities (Thai Election Commission, Democratic Party, candidates) would have to sign off unanimously on decrypting the voting data.

ZCoin Guide

Read: What is ZCoin?

Following the election, finality would happen significantly faster than traditional systems. For reference, Zcoin achieved final results in the primary within 12 hours. Current methods require recounts and other inefficiencies that extend election counting periods and reduce voter confidence.

The universal verifiability of votes could also occur in a much more straightforward manner than legacy voting systems. Auditability of elections through the IPFS hash on the blockchain ensures that the outcome is the legitimate sum of all votes cast. However, individual verifiability is more complicated when attempting to maintain anonymity and is an active area of research for blockchain voting mechanisms. Proposed methods to overcome this issue include having the voter generate a public/private key pair at the time of voting that ensures individual verifiability while not revealing any details about the voter’s identity.

Crucially, robustness and authenticity of votes can be assured through the cryptography of blockchain protocols. With votes tethered to a transaction — such as in Zcoin — votes have the same guarantees as any transaction not to be double spent or manipulated, guaranteed by digital signatures

Overall, a blockchain voting system has the potential to meet the requisite fundamental components of any democratic election process. There are obvious shortcomings in regards to anonymity and eligibility of voters, but advanced and standardized technical implementations such as ZKPs and decentralized identity protocols can help to overcome these shortcomings in the long-run. The current question of blockchain voting is whether or not it’s possible. Eventually, the question should transition to whether or not government authorities are willing to give up control over the process.

What is IPFS?

Read: What is IPFS?

Recent Developments in Blockchain Voting

There has been a spate of recent developments in blockchain experimentation with voting mechanisms, both on large and small scales. Zcoin — mentioned earlier — successfully completed the world’s first large-scale blockchain voting system for Thailand’s Democratic Party primary election.

They successfully reached finality of results within 12 hours with more than 127,000 votes accounted for. Zcoin is now looking into furthering anonymity guarantees with a P2P blockchain voting network by using ZKPs.

Several startups such as Follow My Vote and Voatz are also researching and developing blockchain-based voting solutions. Smaller scale experiments with blockchain voting included a small case with West Virginia during the recent U.S. midterms where 150 citizens voted through a blockchain app.

Other initiatives include Democracy Earth, who has built an open-source framework for blockchain-based governance and voting schemes predicated on various forms of liquid democracy. Their 2016 case study for a digital referendum on Colombia’s Diaspora provides some intriguing insights into the ongoing debate about voting structures and what future developments may look like.

Blockchain voting is an exhaustive topic with an array of material on it that covers everything from democratic ideals to technically employing a protocol for voting in a P2P network. Zcoin’s large-scale test of blockchain voting was the first of its kind, and it was just revealed on November 13th. There is still much research and development work to be performed before blockchain voting systems become viable. Obstacles are naturally going to exist for integrating a novel technology with a fundamental component of democracy, but there is some definite potential to improve upon current models that are clearly underwhelming.

The post Implementing Blockchain for Voting: An Indepth Look at the Technical Issues appeared first on Blockonomi.



Write a comment