blank Skip to main content

Building an E-Voting System using Blockchain: Opportunities and Challenges

Moving voting online can make the process more comfortable, more flexible, and accessible to more people. However, current electronic voting systems are also vulnerable to data compromise and voting result manipulations.

A blockchain can help in addressing these risks. This technology has the potential for enhancing the security of voters’ personal data, increasing the transparency of the voting process, and making it easier to verify election results.

In this article, we discuss the main pros and cons of using blockchain technology for voting. We also list aspects to keep in mind when developing a blockchain-based voting solution.


Сhallenges of modern e-voting systems

Pros and Cons of Blockchain-Based E-Voting Systems

Building a Blockchain-Based E-Voting System: Key Aspects


Сhallenges of modern e-voting systems

Online voting is the reality today. Numerous countries around the globe, including several states in the US, Brazil, India, and Estonia already allow their citizens to vote using voting machines or even via the internet.

However, there are also those who don’t support the implementation of online voting. Some researchers express concerns [PDF] regarding higher risks of fraud, impersonation, and ballot secrecy violations with online voting. Others emphasize the increased cybersecurity risks posed by online voting compared to traditional approaches.

Overall, there are four essential challenges that should be dealt with when implementing an online voting system:

  • Security
  • Voter authentication
  • Accessibility
  • Voter anonymity
challenges of e-voting systems

Let’s look closely at each of these challenges.


An online voting system may have multiple weak spots. Cybersecurity risks can come from the system itself, the authentication mechanisms it deploys, the mobile devices used by voters, and the mechanisms responsible for protecting stored and transferred data.

For instance, in 2017, researchers discovered a flaw in a cryptography mechanism used to secure the Estonian national ID card system that could have resulted in the compromise of personal data of 760,000 people.

In 2020, researchers from the Massachusetts Institute of Technology (MIT) and the University of Michigan analyzed the OmniBallot platform [PDF], which was approved for online voting in several US states. They discovered that this platform could be manipulated by compromising a voter’s mobile device or a third-party data storage service.

Related services

Engineering for Cybersecurity Projects

Voter authentication

Voter authentication is an essential part of any voting system. When authenticating a voter, a voting system must ensure the person:

  • Is exactly who they claim to be
  • Has the right to vote
  • Hasn’t voted already

Without authenticating voters, a system will be unable to prevent double voting, voter impersonation, and other election manipulations.

In traditional voting systems, voter identity is usually verified manually by polling station staff. Online voting systems, however, should rely on digital identity verification mechanisms.

Currently, a person’s identity can be verified based on their:

  • Digital IDs
  • Personal security keys
  • Verified mobile devices
  • Biometrics

For instance, Brazil started using voters’ fingerprints to verify their identities back in 2012. In Estonia, where about one-third of all votes are cast online, voters are authenticated with an encrypted government ID card or a personal smartphone. And in the US, some internet voting vendors use face recognition systems to authenticate users.

However, the technologies used in these cases aren’t 100% error-free. Flawed encryption algorithms threaten the security of voting data. And if a person’s biometrics aren’t processed correctly, an eligible voter might not get a chance to vote.

Read also:
Smart Contract Security Audit: Penetration Testing and Static Analysis


Digital voting may be the right answer to the problem of physical accessibility of polling stations. In particular, switching to online voting could increase the participation rate among voters with physical disabilities and voters living in rural areas. Online translation of ballots and voter instructions could also be useful for overcoming language barriers.

At the same time, fully switching to digital voting might prevent people of certain demographics, races, or income levels from participating in the election process. For instance, any online voting system requires a stable internet connection, which might not be available in some regions.

Mobile devices used for authentication purposes are usually smartphones that have to meet certain technical requirements. Thus, a person possessing a less technologically advanced device won’t be able to use it as an identity verification tool. Even in the US, where over 80% of people have a smartphone, there’s a significant variation in smartphone ownership based on age, gender, and income level.

Also, modern face recognition systems have higher error rates when processing images of minority faces compared to images of Caucasian faces. In case of a recognition error, a misrecognized voter might be prevented from participating in an election.

Read also:
Blockchain for Cybersecurity: Pros and Cons, Trending Use Cases

Voter anonymity

When it comes to any sort of state-level elections and referendums, voter anonymity or unlinkability is an essential requirement. Anonymity is supposed to prevent possible attempts to influence a voter’s decision.

However, meeting this requirement is more challenging for digital voting systems than for traditional offline vote casting approaches. In a digital voting system, it’s difficult to ensure that no one can link a particular vote to a specific person while also providing end-to-end (e2e) verifiability and guaranteeing that all votes are properly registered and counted.

Some of the mechanisms offered as a solution to online voting anonymity concerns include voter non-repudiation and ring signature-based approaches. The latter is one of the key approaches suggested by researchers for blockchain voting systems.

In fact, the blockchain might be the right technology to address most of the above-mentioned concerns. In the next section, we discuss the key pros and cons of a blockchain voting system project.

Related services

Blockchain-based Solution Development

Pros and Cons of Blockchain-Based E-Voting Systems

Blockchains can be used to enhance different e-voting systems:

applications for blockchain-based voting systems

Naturally, the strictest requirements will be for systems used in national elections and referendums, where voter anonymity is a must. Other solutions might not require maintaining the secrecy of a voter’s choice and therefore be easier to implement.

A blockchain can help you achieve several goals when building an e-voting solution:

  • Securely store data
  • Reliably verify identities
  • Cast votes
tasks solved by blockchain in voting systems

Current concepts of blockchain-based voting system development mostly leverage the technology for secure data storage. For instance, in 2020, the Thai Democratic Party held an election for its new leader using the Zcoin blockchain as a database to store encrypted data containing voter identification documents and vote tallies. The same year, the Republican and Democratic parties in several US states used the Voatz app during their state conventions. This application relies on the Hyperledger Fabric blockchain to create an immutable trail of cast ballots.

In Switzerland, local authorities in Zug use the Ethereum-based uPort solution as an e-government authorization service. Citizens registered in uPort can use this service as a third-party authorization tool for accessing various online government services, including e-voting.

Blockchain-based solutions are also widely applied for conducting elections and non-governmental polls. In particular, in 2018, inductees into the Rock and Roll Hall of Fame were selected using a blockchain-based mobile voting system called Votem. The platform can verify a voter’s identity, facilitate an absentee ballot request, and securely cast votes.

The blockchain surely offers some promising benefits and opens new opportunities for electronic voting. Let’s look closer at the key advantages of blockchain-based voting systems.

Pros of blockchain-based e-voting

As a distributed ledger, a blockchain offers several crucial advantages for e-voting systems:

  • Resistance to cyberattacks
  • Immutable data records
  • Transparent transaction history
  • Voter anonymity
pros of blockchain-based voting systems

A blockchain is distributed among multiple nodes and therefore has no single point of failure. As a result, blockchain-based election systems are more likely to be resilient against denial of service, database deletion, and other cyberattacks.

The core idea behind blockchain technology is data immutability: Once a record is made on a blockchain, it gets linked to both the previous and the next blocks. Introducing any changes to a particular record without leaving a trace is impossible, which eliminates the risk of tampering with voting results.

Transaction records stored on a blockchain can’t be changed, while access to them is open to any network participant. Thus, in contrast to other digital voting solutions, a blockchain-based balloting platform is supposed to be not only more secure but also make it easier to audit and verify election results.

Blockchain systems can authenticate voters using standard methods like multi-factor authentication (MFA). And to ensure voter anonymity, the previously mentioned ring signature method can be applied. Using this method, a group of blockchain users are authenticated with their private keys and united into a small circle, or a “ring.” While ballots cast within a particular ring can be associated with that ring, there’s no way to link a particular vote to a specific voter.

Also, blockchain-based solutions can increase the speed of vote counting and mitigate the risk of human errors and fraud by reducing human intervention in the balloting process.

However, aside from potential advantages of the blockchain in voting, the use of this technology is also associated with several disturbing concerns. Let’s take a closer look at them.

Read also:
How to Implement a Custom Blockchain for Your Business: Graphene Framework

Cons of blockchain-based e-voting

Key concerns regarding voting systems with blockchain capabilities include:

  • Dependence on software and devices
  • Voter disqualification risks
  • Lack of public trust
cons of blockchain-based voting systems

Like many digital solutions, a blockchain-based voting system is still dependent on the software and equipment used by voters. Hackers may use software or device flaws to steal a voter’s data or alter their vote before it is recorded on the blockchain.

Additionally, a voter can be disqualified by mistake and thus prevented from participating in an election. For instance, most current concepts of blockchain-based voting systems rely on private keys as a vote authenticity validation measure. However, private keys are unrestorable, so if a voter loses their private key, they won’t be able to cast their ballot.

Finally, the lack of clear state-level regulations for blockchain-based solutions creates additional concerns and insecurities for both the developers and users of such systems. Establishing unified guidelines and standards would make it easier to build secure, unbiased, and well-performing blockchain-based voting platforms that could gain public trust.

However, with governments working on new blockchain legislation and developers gradually advancing blockchain solutions, there’s a chance for resolving these issues.

Now let’s overview the key points to keep in mind when designing your own online voting system project using blockchain.

Read also:
How to Speed Up Blockchain Development with DevOps Tools

Building a Blockchain-Based E-Voting System: Key Aspects

How to build a digital voting system with the use of the blockchain technology? First, you need to determine what purpose the blockchain will serve as part of your voting solution.

Depending on the task at hand, your focus may range from securely recording votes on the blockchain to casting actual votes using smart contracts. When working on a general online voting system using blockchain, there will be several crucial choices you need to make:

  1. What type of blockchain network to use?
  2. What consensus algorithm to implement?
  3. What integrations to enable?
  4. How to maintain the required level of anonymity?

Let’s try to answer each of these questions.

1. What type of blockchain network to use?

There are three common types of blockchain network architectures:

types of blockchain architectures

There are several aspects that may influence your choice when it comes to the architecture of a blockchain network:

  • Level of decentralization
  • Information publicity
  • Transaction fees
what blockchain architecture to choose?

Permissioned networks are preferable for cases when only partial decentralization is desired. To achieve the maximum possible decentralization, a public permissionless blockchain would be more appropriate.

In public networks, all transaction information is available to everyone, so you can monitor election progress in real time. However, if you want to be able to manage what data can be seen by the general public, you’d better go with a private blockchain network.

Finally, all public blockchain networks require a transaction fee (mostly as a security measure against denial of service attacks). While there are mechanisms that can make a transaction in a public network free for a user, it’s much easier to configure free transactions within a private blockchain network.

Read also:
Blockchain for Supply Chains: A Practical Example of a Custom Network Implementation

2. What consensus algorithm to implement?

Consensus algorithms are responsible for reaching a single source of truth within a blockchain and can be competitive or non-competitive.

blockchain consensus algorithms

Competitive consensus algorithms were widely applied in the first blockchain models. While they can successfully achieve their main goal — reaching an agreement between nodes — they may be prone to double payment.

Real-life example of a competitive algorithm: As an Ethereum-based solution, uPort relies on the proof of stake consensus algorithm.

Read also:
Decentralized Blockchain Application for International Remittance Payments

Non-competitive consensus algorithms, on the other hand, allow for processing only one agreement at a time in a trusted network. However, as networks relying on such algorithms usually consist of a small number of nodes, they can be more vulnerable to attacks than larger distributed ledgers with no single point of failure.

Real-life example of a non-competitive algorithm: Voatz is a blockchain-based voting solution that relies on the non-competitive Practical Byzantine Fault Tolerance (PBFT) consensus algorithm.

Read also:
Blockchain Attack Vectors: Vulnerabilities of the Most Secure Technology

3. What integration opportunities to enable?

While the blockchain has promising potential for use in the voting process, it won’t replace other voting approaches completely. Currently, digital voting solutions are most likely to be used in conjunction with traditional offline vote casting.

As we mentioned earlier, you can leverage blockchain technology in a voting system to authenticate voters, cast their ballots, and securely store identification and voting data. Thus, your blockchain-based solution might need to be able to integrate with:

  • Third-party identity verification services
  • Online voting systems
  • Databases storing votes cast by other systems

Depending on the extent to which blockchain technology is used in your application, you need to plan different integration scenarios for each of these three options.

Also, when using a blockchain-based system alongside other electronic or offline voting approaches, it’s vital to make sure a user won’t be able to vote several times through different channels.

4. How to maintain the required level of anonymity?

By default, blockchain transactions are public so that any user might get access to transaction details. However, online elections usually require ensuring complete ballot secrecy. So when building an e-voting system using blockchain, it’s necessary to eliminate the possibility of linking a particular vote to a particular user. The only exceptions are cases where the anonymity of the voter isn’t necessary, such as in parliamentary voting or when casting stakeholder ballots.

Many of the current blockchain-based voting systems rely on non-interactive zero-knowledge (NIZK) arguments as a measure for achieving the right balance between ballot secrecy and voting result verifiability. For instance, Zcash, a blockchain that some researchers see as a fitting solution for online voting, uses a zero-knowledge Succinct Non-interactive Argument of Knowledge.

After answering these four questions, you’ll be able to outline the basic set of requirements for your blockchain-based e-voting solution.

Read also:
Hyperledger Fabric: Concepts, Configuration, and Deployment


Blockchain-based e-voting systems are unlikely to fully replace traditional offline voting procedures but can be successfully implemented alongside them. Current e-voting solutions relying on blockchain technology are widely applied not only for conducting national elections but also as a polling tool within enterprises and small organizations.

You can build an electronic voting system using blockchain to securely store voting data, authenticate legitimate voters, and cast actual ballots. In contrast to other solutions for online voting, solutions that leverage blockchain technology offer improved data security, contain convenient identity verification mechanisms, and make it easier to maintain the right balance between ballot secrecy and voting results verification.

At Apriorit, we have vast experience building robust blockchain-based solutions for industries including healthcare, finance, and supply chain. Contact us to start discussing implementation options for your next blockchain project.

Tell us about your project

Send us a request for proposal! We’ll get back to you with details and estimations.

By clicking Send you give consent to processing your data

Book an Exploratory Call

Do not have any specific task for us in mind but our skills seem interesting?

Get a quick Apriorit intro to better understand our team capabilities.

Book time slot

Contact us