The solution to Nigerian’s election conspiracy — Decentralized voting system.

Mayomi Ayandiran
8 min readFeb 1, 2018

--

To make democracy work, we must be a nation of participants, not simply observers. One who does not vote has no right to complain.
— Louis L’Amour

The quote above looks good but what happens when you cast your vote and you know it within yourself that your vote doesn’t count, that means you just wasted your precious time, risked your live and wasted your effort, these are not the only things you have wasted but you have lost your chance of voting for the person you think will make Nigeria a better place.

Now the question most Nigerians ask themselves is why do they go to the polling booth to vote when they know that their vote is not going to be counted. In a country like Nigeria most people that vote are the average Nigerians and the uneducated ones, if you ask the educated ones why they don’t vote they will tell you that why should they vote when they know their vote doesn’t count. These baffles me a lot and I asked myself, ‘Are we really operating a democratic system in Nigeria?’ if democracy means government of the people by the people and for the people then why are the people not allow to select their own leaders. Or is it that our votes are been counted and we thought they are not been counted or we Nigerians are just ignorance of our right, or are we scared of choosing the wrong person for the job or ….

The government has tried their best in making her citizens believe that their votes truly count, they counted and announced each polling booth votes immediately the voting period has elapsed but we don’t know what happened during the collation of the results, so one might have a reason not to totally trust the results, now the question is what do Nigerians what? How can we make the voting system a perfect and unquestionable one?

http://www.relationship-economy.com/wp-content/uploads/2012/03/what-you-want.jpg

The solution to these trust issues that has grown into a heavy forest in the mind of Nigerians is a system where everyone sees their vote being counted and they see the result of their action immediately, that is, if I voted for the candidate I preferred, I want to see the vote incrementing by one, I want to know that I can trace my vote and see that truly it was recorded for the person I voted for, so how can the government solve my trust issues, wait ✋ what if the voting system is decentralized, what if everyone can contribute to the counting of the votes and the counting is not centralized, that is no particular organization is responsible for how the vote is been counted but everyone is involved in the voting process. Well there’s a good news😁.

https://tenor.com/view/good-news-excited-parks-and-recreation-rec-ron-swanson-gif-5025044

Applying the concept of blockchain to elections solve it all! What do I mean? What is blockchain?, how does blockchain solves the problem of elections in Nigeria? How does it solve trust issues with Nigerians? These and many more are the questions this article is meant to address. So let’s get started!

https://media1.tenor.com/images/7dcc0b5a2c64d741b6edd12a88738cf9/tenor.gif?itemid=4767352

What is blockchain?

‘A blockchain, originally block chain, is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a hash pointer as a link to a previous block, a timestamp and transaction data. By design, blockchains are inherently resistant to modification of the data. It is “an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way”. For use as a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks, which requires collusion of the network majority.

Ok, that definition was from wikipedia, read more here . Of course I know that was a technical definition and complex to understand for someone who does not know what blockchain really means.

Blockchain is a systematic way of defining a data such that the data are linked to one another in chain form, the previous data is linked to the next data and these data are hosted across a network of computers and the data are all encrypted.

https://www.intellectsoft.net/blog/wp-content/uploads/shutterstock_619168763-1000x462.jpg

Centralized and Decentralized

I will like to explain these terms base on the way internet works. If you are reading this article on your phone or computer, this is because the website where you are reading this article has a server somewhere, and you are sending request to the server, all these data are stored on that server and if the server went down then you won’t be able to load this page, that is centralized, everything is on one server, though some company might have more than one server powering their website but it is still centralized everything it is still in one place. Contaminating the server might lead to the end of the website.

Now, how can we decentralized the internet?

https://i.pinimg.com/originals/51/3d/af/513dafe547bec22cecaec60e7d51dd0d.png

If you are a fan of HBO silicon valley series, you would probably have heard ‘Richard Hendrick’ in the movie talking about decentralizing the internet. How does these work? Everyone has the encrypted data on the computer, that’s is. Instead of having all the data in a central place I mean, one place. Everyone have it on their computer and each changes being made is approved by each computer on the network. Wawu!!! This means no one can just login from somewhere in ‘god mode’ to edit your data, if they try to do so it will break the data that were linked to the other chains, which will be rejected by a validation process called ‘proof of work’. This makes it technically impossible to hack and change data that have entered the chain because it will have to be changed in each of the computers on the network.

You might be surprised that we are talking about blockchain and I have not mentioned cryptocurrency like Bitcoin, Ethereum ,Ripple and the likes, please don’t , all these are digital currency that work by the application of blockchain technics. The problem this solves is freeing us from banks by making us being our own bank ourselves. I will explain these in a future article.

Now how does decentralizing voting system help the next Nigeria elections?

If you are reading this article patiently from the beginning you would have probably started to understand the point my trying to make, if elections are decentralized such that the government or any other organization are not involved in the managing of how the votes are being counted then our elections would be free and fair. You will have the power to vote and you will be able to monitor your vote, once you add your vote to the election chain, it is there forever and hashed(encrypted) forever.

AN ATTEMPT TO SOLVE THIS PROBLEM

I and three other developers(Emmanuel Kehinde, Adeniranyusuf Abdullateef and Anifowose Quadri) have put the weight of building a decentralizing application (dapps) solely to tangle the challenge of people not trusting the current centralized system of elections used by governments of this world, this is not first of it kind as there are already many decentralized voting application developed by developers all over the world, but what makes ours different from others is the fact that it was made with Nigeria in mind as a case study. We built the app leveraging on an existing platform that allows applications to be built decentralized. This platform is called Ethereum, Ethereum allow developers to build app in form of contract on their platform, the applications are called Smart Contracts, they are written to make data look like transactions, and these are being mining on the Ethereum network. Meaning each of your vote in much like your are transferring ether in form of vote from your end to the Ethereum blockchain. This means to hack the vote you must first take Ethereum down , wawu!!!.

Bring Ethereum down and lemme see…

So how does the application works, the voter supply their Voter’s Identification Number(VIN) and we check if the VIN exist, if it exist we send One Time Password (OTP) to the phone number that they provided during registration of their voter’s card. The voter insert the OTP s/he received and login, then they select from the lists of all available elections and they are taking straight to the voting page where they see list of all candidates with their party logos and there’s a button to vote. During the registration period as a voter, all the VIN are being sent to the Ethereum network. The candidates are also sent to the Ethereum network such that when a voter which is identified by his/her VIN vote for one candidate in the chain, the voter’s vote enter the Ethereum blockchain network and miners confirm the validity of the transaction sent, we wrote the smart contract using Solidity (Ethereum language) to add voter, add candidates, check if the voter has voted and to get the total vote of each candidate. Then we make backend client(a simple API-gateway) that communicates with the Ethereum network using eth.js, with eth.js we are able to write an API that Web application, Android application and even USSD application can communicate with.

So nice solutions but what about my grandma in the village? Will she be able to vote?

To address the internet issues problem in rural areas we have developed an USSD application(using Africaistalking) which can be used to vote by just typing *384*811# on your phone without internet. So you won’t have to say you didn’t vote because you don’t have internet 😛 .

But what about those with no phone number, doesn’t this mean that they don’t have right to vote?

Well, we also address this issue, in the web app there is a feature that allows the voters to been authenticated using their fingerprint, the way this will work is that INEC officers will setting up at polling booths and they will be in charge of directing the voters that can’t use their phone number to vote.

The web app also have a page where you can see vote logs(transactions) as they are being sent, failed transaction means that the person has voter before and are trying to vote again.

The web app also have a real time chart updates that update as the voting is going on.

This application was built for an ongoing hackathon called saucecode… Say yes to Free and Fair electron, yes to your right, yes to the real democracy!… I rest my case. Thanks for reading.

--

--