YES, we provide blockchain for eVoting. But do you really need it?
With cryptocurrencies hitting the roof, blockchain is the new fad. These days, I hear this question very often – are you using blockchain? Many of the people who ask us this question generally does not even know the difference between blockchain and bitcoin. Mostly we have heard this question from investors, startup ecosystem people and not from customers yet. But that day is not far off when customers would start asking this question. Hence here is the answer, YES – we do offer blockchain as an option. But our counter question is – Do you really need it? We believe very few clients would really need it and its important on our part to inform them about the pros and cons. This article aims to do just that.
Distributed Ledger
The basic premise of block chain is that it works on the concept of distributed ledger. There is no one person controlling the data and each transaction online is verified / authenticated / recorded by several people (in thousands or lakhs) in the chain. For a transaction to be authenticated 50% of the people in the chain need to authenticate it. This ensures transparency.
To explain it – in offline world it’s like when a voter is voting he shows his vote to 1000 people sitting in that room and each person maintains the record of each vote independently in his own dairy. Once more than 50% of the people have made the same entry, a transaction is approved.
The biggest reason to move to blockchain – transparency
In short, the biggest advantage of block chain is that it can add lot of transparency in the whole election process – which is a super benefit for any election process.
But then do we know what transparency really means and what all we need to sacrifice for this transparency?
Concerns with Blockchain
- Secret ballot: One of the main requirement in any election is ‘Secret ballot’. (Secret ballot means – nobody including the election management should be able to trace back a vote to the voter. Voter should have full privacy of his vote and he should be able to vote without any fear or pressure). Now Secret ballot is opposite of transparency. In an open ledger system, when thousands of people are keeping ledger of each vote how do you ensure Secret Ballot? One method can be that identity of the voter is kept encrypted and he is given a dummy identity number to protect his identity.
- Result counting after poll close: In most sensitive election result computing happens after the voting process is over. Real time result counting is not advisable as it would lead to leakage of trend information and that can influence the voters. In case of blockchain, even if the voter data is encrypted, we cannot encrypt the vote data as that is the data which need to be authenticated by each ledger keeper. Which means the vote data is available with thousands of people in the chain and they can know the voting trend on real time basis. One might argue that vote data can be stored in secured place till the poll closes and then it would be made available for all ledger keeper for authentication. This would take away the benefit of transparency as any manipulation of data can happen during the storage period. To ensure distributed ledger system to work the data should be available to everybody instantly.
- Decentralization: The blockchain is based on the concept of empowering the mass and taking away the authority from single individual / entity. If a transaction must be approved by a majority the central authority has very limited role. This is good and bad. Think of a situation where in a country election is happening on blockchain method. Citizen of the country are approving each transaction. There is a particular minority party which is a party of the poor and uneducated and voters of that party do not even own or know how to use computers. Hence not many of their voters are among the blockchain ledger keeper. There is a clear incentive for the majority to misbehave and not authenticate votes in favor of this minority party.
- Computing power: Any transaction in block chain environment requires 1000X+ computing because each transaction is authenticated by thousands of ledgers keeper. Who will pay for this extra computing that is involved. Suppose 1 billion people are voting in Indian Lok Sabha election which is happening on block chain based eVoting. The ledger is being maintained by 1 million people on public servers. This means computing requirement would be 1000000X. Do we understand what it means in terms of server stability, server uptime, server cost, bandwidth etc?
- Time: What about the time required for these multiple authentications? In blockchain each transaction has a block time (the block time is the average time it takes for the network to generate one extra block in the blockchain, for Bitcoin its 10 minutes!). Voting transaction unlike banking transactions generally peak on few select days. How would block chain handle that and what is an appropriate block time in voting kind of use?
- Cost: The huge computing requirement, data storage and exchange which is 1000X+ in case of blockchain has a cost. Who would pay for that cost. In case of bitcoin, the individual ledger keepers or miners are paying for the computing as they are getting bitcoins in return. In case of election, it has to be paid by the election manager.
- Incentivizing the ledger keeper / miner: The ledger keeper / miners would not work for free. There has to be some incentive for them to keep the ledger. What is the incentive we can provide to them to keep record of all the votes being cast? It would be foolish to assume that as citizens are individually interested in the result of the election, that is a good enough incentive for them to keep the ledger.
- Private servers: Even today in case of government and other sensitive election the election commissioners and other election managers are not comfortable storing the voting data on cloud. They insist that the data should be stored on their own servers. Now how would they react if we tell them that the data would be stored on thousands of servers across the world? Permissioned blockchains or private blockchain is an option but private blockchain is against the concept of blockchain itself. As experts call it – it’s nothing more than cumbersome databases. In case of private servers, the private server can be hacked and the whole point of distributed record keeping is lost. The servers are in control of single company / organization / authority and they can always manipulate the data in all copies unlike public blockchain where copies are with independent individuals among public.
- Data storage: One of the other important benefit of blockchain is that data once stored (after authentication) is almost impossible to manipulate. This is very useful in banking and other industry. However, in case of voting, result counting happens immediately after poll close and then result is announced immediately. The vote data lose its relevance after that until unless you just want to store it for audit purpose. Manipulating the stored data would not change the result of the election which has already been announced. Hence spending on cumbersome database does not make sense.
We would request our customers to ask these questions to themselves before they decide on whether they want blockchain or not:
- Are you willing to pay the cost?
- Do you really want transparency? Remember secrecy is opposite of transparency.
- Are you comfortable with decentralization? Abdicating power is not an easy thing.
- Do you really need blockchain or you want it because it’s the latest fad? If you do not want transparency and decentralization and still want blockchain then you can opt for private blockchain. But remember ‘Private blockchain’ in an oxymoron.