Elections form the basis of democracy. They enable the control of the people in ruling governments and let them exercise their right to accountability. But we are still using the traditional methods of voting for conducting elections. The pen and paper method of voting has serious issues in terms of security and is also very costly.
Even the electronic voting machines aren’t able to provide the security that is needed. But the advancements in blockchain technology promise the level of security and transparency that are perfect for a digital voting system. Blockchain eliminates the issues of security, anonymity, and validation and the idea of a replaceable digital alternative comes to life.
Let’s first look at some of the problems with pen and paper voting and electronic voting machines today.
Problems with Traditional Voting and EVMs Today
Elections are the elements of accountability in every democracy. Hence, it is a matter of national security to keep them untouched and secure. But even after strict policies and practices, there is always some room for tampering left.
With all the operations taken into account, national elections are also one of the most expensive events to take place. Also, the cost of conducting an election increases explosively compared to the last one. Not to mention, the more strict the policies get, the more costly the elections do.
The possibilities of having electronic voting system alternatives have been studied for over a decade now. The digital security field has been working hard towards finding alternatives to the pen and paper voting system. Alternatives that increase the security of the elections by eliminating the room for fraud and are traceable and verifiable. A voting system like this would also minimize the costs of an election remarkably.
But, the EVMs that exist today have justifiably been viewed as flawed. This is majorly because of the physical security risks that these voting systems have. Anyone with the physical access to such machines can alter the machine or cast false votes, thereby sabotaging the elections.
Enter Blockchain Technology
Before digging into the nitty-gritty of a blockchain voting system, let’s first know the basics of blockchain. Blockchain technology is creating disruption and providing solutions in every industry and making it more secure, decentralized, and transparent. It as an immutable, distributed, incontrovertible ledger that exists in different locations called nodes. Since they exist in different locations, the control and failure points are distributed.
Other than that, the ledger only stores verified information in the form of blocks that need to refer to the previous block in order to be verified. These features revolve around advanced cryptography, thus providing a greater level of security. So with the advent of this technology, the idea of a digital voting system became possible.
There are many applications, concepts, and protocols that come under the wide purview of blockchain. Different use-cases use different sets of them in order to enable optimal performance. Similarly, we need a specific set of applications of blockchain that best suit the operations related to voting.
The algorithm that will best suit a voting system will be POA i.e. (Proof of Authority) consensus algorithm. In POA-based networks, transactions and blocks are validated by approved accounts known as validators. These processes are automated and don’t require constant monitoring by validators.
A private permissioned blockchain that uses a POA consensus algorithm which enables us to set restrictions on selected sets of entities to certify and validate transactions. Smart contracts will help us to create digital agreements that will execute automatically once the terms such as verification are met by the voters. One of the places they’ll be used is the interaction between the voters and their respective district ballots.
While the above-mentioned features ensure security, transparency, and efficiency we also need something to maintain the anonymity of the voters. Non-interactive Zero-knowledge proofs will come handy here. It can be used as a secure method to verify the voters without posing a threat to the voter’s privacy.
Let us now dive into the details of a blockchain-based voting system:
Elections as Smart Contracts
Smart contracts are self-executed agreements with defined roles and terms. Hence, to conduct elections we must define the roles involved in the election processes first. These roles should be designed in such that multiple individuals or entities can be enrolled in the same role.
Below listed are different roles that will participate in a blockchain voting cycle:
Trusted institutions and organizations are enrolled under this role who manage the complete lifecycle of an election. Their responsibilities include specifying the election type, configuring ballots, registering voters, deciding the lifetime of the election, and assign permissioned nodes for different regions.
People enrolled under the role of a voter have to go through the processes of authentication, loading election ballots, casting votes, and verifying them after the election. Each voter is registered in different districts and afterward given an ID which acts as a primary key for the operations.
When an election is created by the administrators, each smart contract representing the ballot for a voting district has to be deployed onto the ledger. After these smart contracts are created, the district nodes are given permission to interact with the voters of the corresponding district. When voters cast their votes, the vote data is collected, verified, and then appended onto the blockchain.
Bootnodes are the nodes hosted by each institution with permission access. Their responsibility is to help district nodes discover and communicate with each other for verification. These nodes run on static IP addresses to enable faster connections with peers.
Also Read: Stablecoin Development Company
The Election Lifecycle
The elections administrators first create different district ballots using a decentralized app (dApp). Using the dApp, they define the list of candidates and voting districts in the election creations smart contract. The smart contract is then deployed onto the blockchain with a list of candidates for their respective districts, where the district is one of the parameters. Finally, district nodes are given permission to interact with their respective ballot smart contracts.
The election creation phase must also define a list of eligible voters. This component has to be taken out offline by a government authority that identifies eligible individuals. Every eligible voter must be provided with an electronic ID and PIN and an assigned district. Then, a unique wallet needs to be generated for each eligible voter. These wallets must be integrated to non-interactive zero-knowledge proofs to enable anonymity and protect voter’s privacy.
Check Out: Blockchain Developers in India
When the election would commence, the voter would interact with the respective ballot smart contract for their district. The smart contract would then interact with the blockchain via its district node. The district node appends the vote data into the blockchain only after consensus is reached between the majority of corresponding nodes.
Each vote and its details like whom was voted for, and the location, etc. is stored as a transaction on the blockchain. The voter also gets a transaction ID for further verification. When the corresponding district nodes agree on verification of vote data, the vote data is appended on the blockchain after block time.
A thing to note here is that when a person votes, their wallet value gets decreased to the minimum value. This will help in ensuring that voters do not vote more than once in an election.
Since the processes are digital, there is no need to count votes. This will not only save time and resources but also eliminate the chance of counting wrong due to human error or bias. Each ballot smart contracts tally their votes in their storage.
The transaction ID given to the voter can be used to authenticate themselves using their electronic ID and PIN after tallying of votes. The government official utilizing district node access can use the blockchain explorer to locate the transaction and verify it. After this process, the election administrators can publish the results.
In conclusion, elections can be made a whole lot cheaper, faster, easier, and more secure with the help of blockchain. A blockchain-based digital voting system normalizes elections for the voters and removes a certain power gradient between voters and elected officials. Effective implementation of such e-voting platforms also empowers democracy by making elections secure and tamperproof.