Since a blockchain is a permanent record of transactions (votes) that are distributed, every vote can irrefutably be traced back to exactly when and where it happened without revealing the voter’s identity. In addition, past votes cannot be changed, while the present can’t be hacked, because every transaction is verified by every single node in the network. And any outside or inside attacker must have control of 51% of the nodes to alter the record.
Even if the attacker was able to achieve that while incorrectly entering user votes with their real IDs under the radar, end to end voting systems could allow voters to verify whether their vote was correctly entered in the system, making the system extremely safe.
Blockchain technology has the potential to facilitate a secure, accurate, and transparent election while addressing privacy concerns. A single vote cast using Blockchain is likely to bring down the cost of the vote from typical $7 to $25 to less than 50 cents in the current US election system. The immutable nature of the technology ensures election integrity and legitimacy of the outcomes.
Firstly, Blockchain facilitates voters to verify their votes after casting them. Additionally, immutably stored and timestamped votes ascertain transparency in the election process. Secondly, transparent systems inherently add accountability. Opportunities to rig the system significantly reduces if all the actions are immutable and transparent.
First segregating responsibilities between the various participant nodes in the election process will ensure no collusion is possible . Having three distinct types of nodes — administrators to manage elections, validators to confirm votes, and nodes for counting votes — can reduce the possible collusion.
Secondly, the tamper-evident and incontrovertible databases ensure deliberate tampering of votes is unfeasible. Finally, since multiple, distributed nodes have to arrive at a consensus for adding votes to a block, it is possible to mitigate the opportunities of intentional fraud.
There are two distinct privacy concerns with Blockchain voting. First is the voter privacy. If the votes and the voter data are in the same system, the ballots are likely to be traced back to the voters. Knowing the voters might result in malicious validators intending to sway the elections in a candidate’s favor to reject their votes. Hence, it is vital to maintain two distinct Blockchain systems — one for votes and one to track voter turnout.
The second concern is the privacy of votes. It is monumental to encrypt the ballots before recording them in Blockchain. Zero Knowledge Proofs help the voters declare their votes without revealing any information about the choice itself.
Blockchain combines the power of cryptography with transparency, which makes it a convenient and secure option for online voting. People can now cast their votes using a computer or a mobile device, without the security or their privacy compromised.
Blockchain technology does add value to the election process. Nonetheless, using this technology for conducting elections brings in problems unique to the technology.
The first problem to tackle is the block finality time. Depending on the system used, the time taken varies from a few seconds to a few hours. Longer confirmation times increases the possibility of double voting — Voting process that allows voters to cast their ballots multiple times as their previous votes are not yet confirmed. Hence it is wise to choose fault-tolerant algorithms instead of resource-intensive Proof-of-Work algorithms to accelerate the vote confirmation time.
Secondly, using Blockchain might endanger the fundamental principle enshrined by the US constitution — 1-person-1-vote. In other forms of voting, once the voter casts their votes, their ballots are assured to be counted unless tampered. With Blockchain, there is an additional layer of validator consensus on transactions (votes). If a majority of the validator nodes collude and reject the ballots, the voters risk losing their votes. Hence, it is judicious to have disinterested third parties overseeing the voting process.
Finally, the gravest concern is leaving out technology-challenged people from the system. With Blockchain only voting systems, there is a risk of voters who are not technology savvy or do not have access to necessary infrastructure get left out of the election process. A hybrid solution of leveraging Blockchain along with the existing systems, will be beneficial. Voters have a choice to use either traditional voting mechanisms or Blockchain powered systems for registration and voting. However, irrespective of the voting mechanism, the votes have to be recorded on Blockchain. This hybrid approach would give the best of both worlds.
Based on the identified requirements, here is our proposed blockchain-based architecture for decentralised voting system.
It is a layered architecture that consists of four layers which are
Client layer: this layer contains the various electronic devices and systems with which users interact with the blockchain e-voting system.
These devices are the peer nodes of the e-voting blockchain that interact via smart contracts, referred to as “chaincode” in the Hyperledger Fabric. The different types of peer nodes and their assigned responsibilities are:
Application Service Layer: this consists of a set of services that are available in the decentralised voting system. The level of access control and the defined permissions level determines the type of services that a node can access in the blockchain.
Blockchain Layer: this is composed of the Hyperledger Fabric V2.0, which is a modular blockchain architecture framework that facilitates blockchain information system solutions. It supports the creation of permissioned blockchain networks that have in-built properties such as security, and privacy protection.
The Hyperledger Fabric has “ordering nodes” which ensures consistency of the blockchain by ensuring that only ordered blocks of an endorsed transaction are made available to the committing peer nodes before they are added to the blockchain.
Data Storage Layer: this contains the relevant databases that store information on the profile of registered voters, political offices being contested for, and all political candidates. This database is used as the basis to authenticate and authorise voters to vote.
For efficiency, it is assumed that the casting of votes will take place at designated polling units to protect voters from being coerced to vote in certain ways by politicians and their agents.
With the Blockchain, the e-voting procedure will follow the procedure below:
An overview of the decentralised voting process that is based on the blockchain architecture is presented in Figure.
In conclusion, Blockchain technology might not be the panacea for all voting problems. But the benefits of Blockchain voting would go far in reducing voter apathy and even encourage more people to vote.