Democracy Decentralized

Using Blockchain technology to re-establish the trust in our election system.

Manroop Kalsi
Published in
5 min readDec 27, 2020


The future is not something we enter, the future is something we create. Everyone has the ability to change the world. To make a difference. Many small people, in small places, doing small things can change the world.

Every vote counts. Every citizen has the responsibility to vote, and each vote contributes to the future of a country.

Every election has implications, and how each person chooses to vote impacts how they live and how society functions.

A democracy allows for populations to have a say in the future of the country, and the decisions to be made.

Of the People, by the People, and for the People. ~ Abraham Lincoln

The democratic system is the basis of how society functions. But how do we know for sure that our ballots actually count and have not been tampered with.

Currently, we place our trust in the government to ensure that this process is streamlined and remains transparent as well as ethical.

But what happens when the people responsible for maintaining transparency are corrupt?

People don’t have faith in the security and transparency with the way that the current election system works. Even with the recent 2020 election in the United States, there was an abundance of controversy regarding the accuracy of the results.

An abundance of people simply do not trust the current voting process and system to be accurate, fair, and transparent.

Furthermore, with the Covid-19 Pandemic having mass groups of people gathering to vote is simply unsafe, especially with a high amount of individuals at high risk for the virus. The mail-in voting system has proven to be inefficient and to significantly increase the time it takes for the entire election process to occur.

In-person voting has been consistently inaccessible to citizens who do not have access to transportation, those who just aren’t able to be transported, people who live abroad, or are currently serving the country’s military.

Shouldn’t they still have the right to vote and have their voice heard?

In addition, with ballots being counted by hand there is a huge human margin of error, which lengthens the process whilst having to recount ballots an abundance of times to ensure that the results are as accurate as possible.

Platforms to vote online encompass an immense risk of individuals losing the anonymity that comes with voting in a democracy. By voting online, what’s to stop the government from tampering with these votes or for the platforms to be hacked.

A simple hack could forever impact the future of a country.

Imagine if the voting process could be streamlined through increasing the efficiency, and accuracy as well as maintaining a real time poll. A system that allows accessibility for everyone, without the risk of being tampered, whilst also maintaining and protecting the identities of those who are voting.

Sounds like a dream doesn’t it? How could this ever be possible?

The answer is Blockchain.

With the use of Blockchain technology, we would have the ability to decentralize the power of democracy, with voting Decentralized Applications (DApps) that ensure ease, accessibility and security.

The blockchain is a decentralized ledger that is immutable, meaning that the data cannot be changed or tampered with once on the blockchain.

Majority of our current systems are on centralized networks meaning that there is a central node in control connecting all the other nodes. Such network has one point of failure, and has high vulnerability to collapse from one hack at the heart of the network.

A blockchain is decentralized and distributed meaning that all the nodes are connected to one another, and each node has a copy of the ledger. On the blockchain, all transaction conduced have the ability to be transparent as well as anonymous.

Learn more about how the technology works here!

Replicating my own voting DApp

The Ethereum Blockchain allows code to be executed with the Ethereum Virtual Machine on the blockchain with something called a smart contract.

A smart contract is where all the business logic of an application lives, and where one must actually code the decentralized portion of the application.

The job of the contract is to read and write data onto the blockchain whilst executing the business logic. These contracts are written in the language of Solidity, which is similar to JavaScript.

Smart contracts represent a covenant or an agreement. In this case, the Voting DApp is an agreement that:

  • Every vote made counts
  • Each user can only vote once
  • The Candidate with the most votes win

For this voting DApp, the contract is deployed on the Ethereum platform. It uses a ready to go blockchain built for handling DApps and smart contracts without all the hassle of building a blockchain from scratch.

To deploy smart contracts gas is used as payment for the transactions. The gas is a small amount of Ether (Ethereum’s cryptocurrency), these are the payments that prevent malicious users from taking advantage of the system (by deploying never-ending loops) as it economically disincentivizes this behavior.

This DApp is a replicate of DApp University’s voting application.

It uses HTML, CSS, and JS for the front-end UI and for the back-end rather than connecting to a backend server, the application connects to the local Ethereum Blockchain.

Watch this video to learn more about how the contract was designed, a demonstration, and its functionality.

With the use of Blockchain we could decentralize democracy, and give the power back to the people.

Let’s Connect!

If you enjoyed reading this article or learned something new, I’d love to connect on LinkedIn. If you’d like to stay updated on my new articles or projects you can subscribe to my monthly newsletter here!