E-Voting Design Utilizing Blockchain and AI

Source: Deep Learning on Medium


Looking into how blockchain and Deep Learning could be utilized to create an E-Voting system.

Voting is a crucial aspect of democracy it’s how the citizen gets to decide who will lead the country. Which also means how the future of that country will go. Indonesia, my home country, is currently voting for the 2019 presidential election. There are around 193 Million people that are eligible voters spread all over the world. Citizens right to vote is a logistical nightmare for the country. To make this happen Let us break down the number:

Indonesia recruited 6,000,000 election employees worldwide

Indonesia had 810,000 polling stations

To make these polling stations staff would travel by plane, boat, and foot to reach remote villages. This is no small feat it is impressive and always amazes me the efforts to achieve this. We are able to do this for one single day of the election and free for citizens to vote. But with technology shouldn’t we be able to make this easier, less fraudulent and also help to increase voter turn out, currently at around 76%. We currently have technology that can help us make voting more secure and easier.


There are two technologies that can redefine the security of information as well as the assurance of individuality, that is blockchain and Deep Learning. In this article, we are going to go through different phases that I think E-Voting will start to be integrated during the election.

Phase 1 Blockchain Integration

art from here

One of the most important aspects of voting in place is securing information of who you voted for is counted correctly. The current voting practice is by paper and pen with manual counting. That means that there is room for human error during the voting count. With blockchain technology, we would be able to store the information of who has voted and who they voted for, which could be anonymous dependent on how we do the permission. There are multiple solutions to this problem!

We need to think about whether this should be on public or private blockchain.

If we were to use public blockchain ID information should not be published due to security reason of individuals. But one of the current biggest issues with a public blockchain is that currently as of April 2019 it is not feasible for 190 million transactions to be done on a public blockchain. Let us look at some quick numbers as of January 2019 the fastest public blockchain, XRP, is at around 1,000 transactions per second if we were to only have 100 million people to vote with the blockchain it would take around 27.7 hours to confirm all the votes. But this is if XRP had only voting to confirm in the network which is not true since other types of transaction are occurring which would mean it would take far longer than the 27 hours.

We have seen some of the issues that are in place with the public blockchain it means currently this system is far more feasible by utilizing a permission blockchain. Which can go at around 3000 transactions per second depending on the type of blockchain. Since it is very unlikely we would be able to have everyone signed up on to the blockchain in the next few years. The most seamless method would be allowing the voting moderators to input voter data for KYC then allow the voter to vote. This would help to create a faster processing time of counting votes and ensuring data that is reliable. Because we are utilizing permission based blockchain there are ways for us to moderate who is able to see the information, where the information can be stored and how it can interact with.

Phase 2 Deep Learning

Image by teguhjati pras from Pixabay

But what if we were able to make this process much easier by utilizing DL specifically using facial recognition technology. This technology has already been utilized, such as your iPhone when unlocking your phone. Now the technology for the iPhone is quite powerful as it uses depth perception to enable accuracy of the user’s faces. Which makes it far safer to use to ensure that the voter is who they say they are. Although this technology exists there are some issues involved in where do you store the face recognition data and where would you get this data. Though in some countries the data might be easier to get than others.

These would be problems that would be needed to solve not just for E-Voting but for also personal identifiable information. Especially if we are going to start to put our identity on the blockchain.

What would the future of voting be like?

If we were to be realistic the most likely implementation for many countries would first to secure the data. Here is how I envision it going for right now or at least next 2–3 years.

1. The individual would go into the polling station with their ID. Then an officer would check the ID of the individual ensuring they are allowed to vote and the officer would input the data of the user into the blockchain. This could be done by either scanning the ID or do a manual input.

2. Once the individual has been allowed by the officer they would then go to a booth and vote.

What kind of data would be on the blockchain?

We would be able to know when they have voted who was the officer that allowed them to vote but we can make it so that we don’t know who you voted for. This is all in an environment of immutability making sure that all the data has not been altered.

This is also just an idea but it is not impossible to make. There will be a future where I would be able to login into my government app account and vote in the comfort of my bed. Where I open my phone it scans my face and I can vote immediately all in the span of a few seconds.


Thanks so much for reading!

Tell me what you think? How can we improve this design? Is there a more seamless integration? Do you think we will never have E-Voting?

If you like this idea talk to me on LinkedIn and follow on Medium.