blockchain-voting-system.png

Blockchain for Voting and Elections

22/January/2019

With the election upon us, the news is by and by humming about election tampering. Any election result stands essentially important in forming the eventual fate of nation's organization as well as characterizing the fate of the political scene of a nation for a long time to come. Therefore elections must be straightforward and should give deterministic outcomes.

Claims of fraud or extortion and outside impact will keep on rising, even in advanced democracies if they do not leverage technology to dispose of election tampering or altering. Every nation requires a platform that guarantees legitimate voter registration and recognizable proof. They should also encompass an electoral platform that streamlines the process of checking cast a ballot. In short, all while giving transparency and straightforwardness to the election outcomes.


Introduction to technology

Today, the vast majority of our lives are led over the web or internet innovations. We do our major banking and finance via the portable application, sending cash to individuals by means of payment portals, we pay our bills, enlist our vehicles on the web and associate with loved ones on the web and more. We hardly see any industry that backs from using the technology to leverage their service or industry function.


But so far we haven’t thought of casting a ballot on the web. Is it conceivable to go for online solutions or Internet-based technologies like blockchain voting system to cast a ballot and guarantee the honesty of our future decisions?


Let’s take a look.


Even after the advent of electronic voting machines(EVM) and other internet innovations, a major percentage of the nation remain clung to the traditional practice of voting. Major public opts for the ballot paper voting, which is considered as the most secure, transparent and trustful mode of voting practice. This practice has been implemented long before the inventions of the technology and remains the most advocated means of voting for both developed and developing nations. Later came the introduction of electronic voting mechanism bringing a stop to the practice of ballot paper voting. Initially, EVM claimed to be tamper proof and trustworthy, but soon the news spread on varied discrepancies and fraudulent activities happening in EVM machines. The situation even dropped to the point that a voter himself cannot assure that his/her vote goes for the right person. The misleads and frauds manipulated the right of individual voting. 


Taking this into consideration, many countries like USA, Germany, Netherlands, Japan still prefer ballot paper mechanism for their national election. It is not like they are incapable or inefficient in deploying the finest technologies to their voting practices, but the question of integrity holds them back from leveraging the initialized electoral processes. They are well aware of the degree of fault and misleads happening in these systems.


Is Blockchain for the voting system- the appropriate solution?


Yes. Blockchain voting system utilizes the deployment of smart contracts, which permits ticket confirmation and vote counts to be performed in a decentralized way and checked by system members. Under the blockchain voting system, the hackers would need to break into a whole system of PCs and access the information, which rarely happens. Today there are few open source blockchain voting platforms that are on rising. The advantages of an open source blockchain voting system are that it is open and does not have restrictive calculations, enabling residents and offices to review usefulness and enhance security. Numerous new companies are concentrating on open source web-based voting frameworks.

 

There are blockchain platforms for voting that utilizes webcam and government provided ID to enable voters to remotely and safely sign in to cast a vote. After they've chosen their applicants, they can utilize their novel voter ID to open the virtual voting station and confirm their vote is available and is going right. Other Blockchain voting system application includes implementation of tokens as QR codes to keep a similar poll from being scanned twice. These tokens additionally fill in as a way to open a "vote unit" that is exchanged to the blockchain, enabling votes to be recorded and counted progressively.


In short, Blockchain for voting and election is a case study of digitize voting system and it is entirely different that there exists no central authority who can tamper or manipulate the system. The central authority within the blockchain voting system is the smart contract, which is a piece of code that cannot be altered at any cost after their deployment. 


How the blockchain for voting system works?

Blockchain voting mechanism work on a smart contract which is capable of handling millions of transaction at a time. Implementing the voting system is not always been an easy task in the blockchain. Still, it's possible to implement and keep supreme the authenticity of the voter and determine the eligibility of the voter to cast their ballot.


The user would receive a key or a token. This token will help the voter to exactly cast his/her vote for a single time. That means no multiple voting is allowed under blockchain voting practice. We can surely say that blockchain technology stops ‘double spending’.Blockchain allows secure management of public ledger. Blockchain act as immutable database and every data stored is managed by a network of nodes which has exactly the same copy of data. Node is simply a computer or a server which is connected to a network. When a node is connected, it will automatically import the copy of data from blockchain.


Another thing is that it decentralizes no central authority to track or maintain the voting system. Voting can be tracked by anyone without breaching the security and authenticity of the voting system.


Smart contract for voting system:

The smart contract is the main piece of code that runs the system with no need for any intermediaries. 

An example smart contract in Ethereum blockchain for the voting system. 

pragma solidity >=0.4.22 <0.6.0;
contract Ballot {
struct Voter {
    uint weight;
    bool voted;
    uint8 vote;
    address delegate;
}
struct Proposal {
    uint voteCount;
}
address chairperson;
mapping(address => Voter) voters;
Proposal[] proposals;
/// Create a new ballot with $(_numProposals) different proposals.
constructor(uint8 _numProposals) public {
    chairperson = msg.sender;
    voters[chairperson].weight = 1;
    proposals.length = _numProposals;
}
/// Give $(toVoter) the right to vote on this ballot.
/// May only be called by $(chairperson).
function giveRightToVote(address toVoter) public {
    if (msg.sender != chairperson || voters[toVoter].voted) return;
    voters[toVoter].weight = 1;
}
/// Delegate your vote to the voter $(to).
function delegate(address to) public {
    Voter storage sender = voters[msg.sender]; // assigns reference
    if (sender.voted) return;
    while (voters[to].delegate != address(0) && voters[to].delegate != msg.sender)
        to = voters[to].delegate;
    if (to == msg.sender) return;
    sender.voted = true;
    sender.delegate = to;
    Voter storage delegateTo = voters[to];
    if (delegateTo.voted)
        proposals[delegateTo.vote].voteCount += sender.weight;
    else
        delegateTo.weight += sender.weight;
}
/// Give a single vote to proposal $(toProposal).
function vote(uint8 toProposal) public {
    Voter storage sender = voters[msg.sender];
    if (sender.voted || toProposal >= proposals.length) return;
    sender.voted = true;
    sender.vote = toProposal;
    proposals[toProposal].voteCount += sender.weight;
}
function winningProposal() public view returns (uint8 _winningProposal) {
    uint256 winningVoteCount = 0;
    for (uint8 prop = 0; prop < proposals.length; prop++)
        if (proposals[prop].voteCount > winningVoteCount) {
            winningVoteCount = proposals[prop].voteCount;
            _winningProposal = prop;
        }
}
}

Benefits of using Blockchain in voting

The advantages of blockchain in voting are large as it brings in great transparency and integrity in the voting process. As the blockchain technology exists as a tamper-proof model, under blockchain in voting, no individual shall be prone to manipulate the election data. The system remains trustful throughout the election process.


Also, blockchain in voting makes it possible for a voter to clarify his vote that it goes to the right candidate he intended to, which is a major threat in the current electronic voting machine. 


Comments

0

Leave a comment