Election Fraud and How Blockchains Can Support Robust Voting

Exploring the aspects that make elections possible and if blockchains can help

Welcome to The Crypto Compass!

Choosing who runs our country is a difficult ordeal. All candidates have great ideas, but everyone has different priorities of what's more important.

By running elections we have a way to rank each individual's preferences and ensure a fair outcome.

However, the system is far from perfect and often comes under criticism with claims of fraud or voter manipulation.

Blockchains, in conjunction with traditional ballots enable an opportunity to remove the uncertainties associated with voting, although it isn’t as clear cut as it appears.

Minimal election security requirements

A paper titled, “Going from bad to worse: from Internet voting to blockchain voting” outline 5 attributes that are the minimum requirement for a secure election. These are; secret ballot, software independence, voter verifiability, contestability, auditing.

Let us look at what these mean and how they apply to our current voting systems.

Secret Ballot

No one should be able to discern how an individual has voted outside of them explicitly telling them (which requires trust in the other party). This is a fundamental property to prevent vote selling and voter fraud.

In most physical voting systems, voters are given access to a private booth to mark their ballots before depositing them into locked box. It is not possible to share your ballot without word-of-mouth.

Software Independence

The outcome of an election should not vary between different counting methods. A software-based system needs to have ways to ensure that each vote is recorded as intended; it should not accidentally change votes.

Manual counting is the current solution to this, a series of individuals verify that votes are counted accurately and are overseen by supervisors.

Voter Verifiability

Before voting, a voter should be able to verify that their prepared ballot properly reflects their choices.

Although this seems obvious, this is done by simply looking at your ballot before you submit it into the box. Just can easily verify that you have put a cross next to the candidate you wish to vote for.

Contestability

Leading on from software independence, if an issue is identified in the vote counting process, can others be convinced that the error did in fact happen?

This manifests itself as a recount of votes, this requires a strong basis and a lot of convincing as the entire process is labour-intensive and can take days to complete.

Auditing

The ideas of Software Independence and Contestability build directly into the concept of auditing. A proper election should have methods of auditing the process, such as third-party oversight during the ballot collection and counting process.

However, it is not only enough to have measures to enable auditing, all elections should be audited. Although this requires more involvement of various parties, it on average will reduce the amount of work required to verify an honest election.

Blockchains as a ballot box

The paper goes on to discuss blockchain as a technology, giving an overview of distributed ledgers, consensus mechanisms, authentication techniques, smart contracts and blockchain applications.

Here it begins to outline where blockchains do and do not meet the criteria outlined previously.

In these scenarios, we will assume that a voter’s blockchain wallet is associated with their government level identification (National Insurance, Social Security).

Secret Ballot

Voters may be able to submit their ballot using a digital interface which interacts with their pre-created blockchain wallet. Due to the nature of blockchains this transactions becomes publicly viewable.

A layer of anonymity is preserved as the voter’s public address is pseudo-anonymous, and not identifiable by most people.

However, we remember that a wallet would be associated with a government-level identification meaning all government bodies have access to citizen’s voting preference.

This introduces a risk of individuals being targeted by political campaigns. And creates an information security risk as this information is of great interest to other state-level actors who may wish to manipulate campaigns.

Voter Verifiability

The process of voting even when using a blockchain would be done through a digital interface, where the user would be able to choose who their vote goes to before submitting their vote. This meets the criteria of voter verifiability.

A voter does not interact with the blockchain and this would be handled by the software running on the digital voting kiosk.

The benefit here is that if the software is open source (see below), third-parties can create tools which allow a user to verify their vote by entering their wallet address (which may be abstracted to a username for user-friendliness).

Software Independence, Contestability, and Auditing

These sections combine as they fit closely together.

Computer programs can only operate in the way which they were programmed, meaning a script which will count and tally votes will generally be correct if it was created that way. The best way to enable this is to ensure this code is open-source, which means that it can be viewed by anyone and the functionality can be verified.

The above idea extends to public blockchain and smart contracts. The code for blockchains such as Bitcoin, Ethereum, and many others are open-source,. This enables the code to be verified and audited by the community to ensure the accurate operations without defects.

If an error was to be identified, this information can be made public with steps to recreate the error but also how to remediate the issue. This community perspective enables much more tenacious code.

Reflections

From my perspective, there are two key issues, voter secrecy (secret ballot), and government willingness to adopt this technology.

Voter secrecy is an issue which can be resolved through the slew of blockchain tools which can leverage zero-knowledge proofs which allow an individual to verify that they voted, but does not allow anyone else to verify that they voted. Zcash is a blockchain project which is referenced in the paper regarding this capability.

Finally, it comes down to government willingness to adopt this technology which is relatively in it’s infancy compared to traditional methods of voting. Naturally, it will take time for governments to understand the capabilities of the technology before beginning to deploy it.

Further Reading

I discussed this topic on my podcast, Blockchain and Beyond.

Thanks for reading! If you enjoyed this edition of The Crypto Compass, feel free to reply to this email and let me know. I read each piece of feedback and take it on board.