To overcome the problems described above, we suggest a blockchain-based voting system. A blockchain is a distributed, immutable, incontrovertible, public ledger. This new technology works through four main features: (i) The ledger exists in many different locations: No single point of failure in the maintenance of the distributed ledger. (ii) There is distributed control over who can append new transactions to the ledger. (iii) Any proposed “new block” to the ledger must reference the previous version of the ledger, creating an immutable chain from where the blockchain gets its name thus preventing tampering with the integrity of previous entries.
(iv) A majority of the network nodes must reach a consensus before a proposed new block of entries becomes a permanent part of the ledger. These technological features operate through advanced cryptography, providing a security level equal and/or greater than any previously known database. For these reasons, blockchain technology is the ideal tool to be used in the democratic voting process.
In our proposal, we will use a permissioned blockchain that will use the proof-of-authority(POA) consensus algorithm. In proof-of authority-based networks, transactions and blocks are validated by approved accounts, known as validators. This process is automated and does not require the validators to be constantly monitoring their computers. A permissioned blockchain that uses the POA consensus algorithm enables us to set restrictions on a set of selected known entities to validate and certify transactions on the blockchain and censor transactions arbitrarily, with their identity and reputation at stake. This otherwise needs to be done by miners on a public blockchain that uses the proof-of-work consensus algorithm.
Rather than employing mining fees, as the public blockchains in operation require, using a permissioned blockchain, validators get paid for the service they provide by acting as validators in the system. Moreover, using a private network limits the possibility for an eavesdropper to monitor traffic or read the incoming data. This is needed to fulfill voting rights so that voters can cast votes without leaking their identity or voting data. Voter apathy has seen the number of people showing up to cast their votes dwindle in recent years, even as it has become more important to do so. By providing an irrefutable and easy way to vote from one’s phone or PC, these numbers would likely rise. Even governments have a reason to change the status quo: a single vote currently costs between $7.00 and $25.00, when all factors are considered. A blockchain product like this costs just $0.50 per vote.
Blockchain can solve the many problems discovered in these early attempts at online voting. A blockchain-based voting application does not concern itself with the security of its internet connection, because any hacker with access to the terminal will not be able to affect other nodes. Voters can effectively submit their vote without revealing their identity or political preferences to the public. Officials can count votes with absolute certainty, knowing that each ID can be attributed to one vote, no fakes can be created, and that tampering is impossible. Compared with other non-blockchain-based e-voting protocols, our voting system is different in several ways. Firstly, there is no need for a centralized trusted party to tally the ballots and publish the result. Our trustworthiness is built on the assumption that not most of the voting entities/stakeholders who own the blockchain validation servers may collide with each other. Smart contract fingerprint guarantees that the smart contract which is deployed on the validation node is verified by all the voting entities/stakeholders and no one can replace that with a tampered one. Second, the correctness of the processing of the ballots and tallying is achieved by asking all the validation nodes to verify the validity of the process; the blockchain network rejects the ballot if the validation nodes disagree on the verification of the ballot process. Third, we allow the voters to verify that/her ballot is recorded and the correctness of the tallying. Additionally, voting entities/stakeholders can also verify the validity of the vote tally and the voting result. Blockchain will provide anonymity in the transactions. However, it would not keep interim results secret until the end of the election.
What we recommend for these purposes is that a separate public-private key pair is used for each ballot. A user’s device would first encrypt the address of the candidate voted for with the user account’s private key. It would then encrypt the now encrypted address with the particular ballot’s public key (ensuring it cannot be viewed until the private key is released). Finally, the entire transaction would be encrypted with the account’s private key. While this key is secret, nobody can view which candidate has received votes; they can only view which addresses have sent votes. As such, the key must stay secret and be held in a way that prevents its misuse. If no trustworthy third party can be determined, we recommend that the key is split among the candidates. In this way, each candidate only has a portion of the key, rendering it useless until combined. With a combination of an encrypted blockchain and a secret key that is used at the end of the election, both the integrity of the transaction chain is preserved, and the secrecy of the results until the end. Furthermore, those two mechanisms would address the concerns of people who would question the integrity of the election once the results are in. The blockchain would make it computationally impractical to alter votes once cast.
To make our idea a reality, we will take our idea to the market by implementing it on a small scale. This could be by implementing in a municipality election of a particular city. We will offer our services for almost negligible charges. This will allow us to showcase our product to the concerned stakeholders. If we can ensure confidentiality, integrity, and the required security measures during the elections in addition to achieving a high voter turnout, we plan to seek government support to fund our idea. To receive funding, a successful demonstration is a must repeatedly. If we can secure government funding, we will implement our idea on a larger scale such as at the state and the national level. Additionally, the same principle will be employed to seek corporate sponsorship at the corporate level.