We’ve been talking about voting on the blockchain for years. Thanks to the possibility to sign transactions and enter them in an immutable way on a ledger without any authority being able to control it, the imagination of enthusiasts has been unleashed.
The great criticism raised around this concept is related to the need to guarantee suffrage a sufficient degree of privacy on voting, without allowing the typical mechanisms of vote trading to arise.
Disconnecting votes from the possibility of communicating one’s operations to third parties without undermining the guarantee that citizens have voted in their own right is no easy matter.
Problems in first-generation blockchain-based voting systems
The blockchain is by its very nature traceable: once an address is linked to the identity of the owner, it reveals his or her history.
In a typical election context with secret ballots, it is necessary to have:
- Forced Secrecy: a way for every voter to cast a vote confidentially and no chance to prove how they voted. (so as not to be influenced or corrupted);
- Individual Verifiability: a way for each voter to obtain assurance that his or her vote has been properly recorded and counted;
- Global Verifiability: a way for everyone to gain confidence that all votes have been correctly counted and that only eligible voters have voted.
A distributed database of all votes cast, where everyone sees the same state of the ledger, would certainly be useful for point 3, global verifiability and to some extent for point 2, personal verifiability.
However, point 1 is not respected yet.
ZK proofs useful in voting systems
To combine personal verifiability with forced secrecy, there must be a mechanism that gives each voter sufficient certainty that his or her vote has reached its destination, but not so transparent that he or she can demonstrate to someone else how they voted (vote trading).
This is a valid problem for first-generation blockchains like that of Bitcoin, however, a lot of experimentation and technology has been implemented to make the source of the message anonymous and therefore not traceable to the source of the vote itself.
One of them is the technology associated with zero-knowledge proofs – famous for being at the heart of the ZCash project – a cryptocurrency created to guarantee maximum anonymity for transactions and therefore to conceal the sender of a message.
A ZK transaction appears on the public blockchain, so it is known that it has occurred and that commissions have been paid. But the addresses, transaction amount and memo field are all encrypted and not publicly visible.
The use of encryption on a blockchain is only possible through ZKProof. For more information see the Zk-snarks system of Zcash, recently applied also on Ethereum.
Unresolved issues for online voting through blockchain
If the problem of secrecy and the vote trading were to be resolved, some issues would remain open:
- Foreign governments could hack the computer systems used by governments to generate and distribute cryptographic credentials to voters;
- They could bribe election officials to provide them with copies of voter credentials;
- They could hack the PCs or smartphones used by voters to cast their votes;
- They could send phishing emails to voters to trick them into revealing their voting credentials or simply make them think they voted when they did not;
- Confidence of the people: A few thousand voters come forward to say they intended to vote for their opponent but their vote was wrongly recorded. Without traceability and identity recognition it would be impossible (at present, in extreme cases there’s a recount).
An important property for an election is the purpose, a well-understood process is required to give people confidence in the result.
The paper-based process used in most states today is not perfect, but it is quite valid in relation to the above points.
Each vote is recorded on a ballot card available to anyone. Everyone understands how paper ballots work. People can observe the process of counting votes to verify that no votes have been changed, so the process not only typically leads to accurate counting of people’s votes, but also creates public confidence in the integrity of the result.
Voting on the blockchain would be difficult for people to accept. Hardly anyone understands how a blockchain works. Even experts do not have a good way to observe the online voting process for irregularities, as an election observer would in a traditional paper election.
A voter might be able to use their private key to verify how their vote was recorded, but assuming this does not lead to vote trading, they would have no way of proving that they voted differently in case of doubt.
Blockchain voting system: a concrete case of experimentation
Nonetheless, West Virginia, for example, is experimenting with a company called Voatz, a blockchain-based system that allows the overseas military to vote via their mobile phones.
Voatz’s authorized blockchain is built using the HyperLedger blockchain framework initially created by IBM, now supported by the Linux foundation. This type of blockchain is clearly different from permissionless blockchain frameworks like Bitcoin.
To participate in the validation of the blockchain it is necessary to first verify a voter or reviewer. In the pilot, 4 to 16 verified validation nodes are used, divided between several cloud providers, each of them geographically distributed. In the future, the Secretary of State or an independent State Electoral Council can increase the number of nodes and designate which organisations (e.g. political parties, universities, media, NGOs, non-profit organizations, auditors, etc.) can participate in the blockchain as verifiers.
Voatz was born after winning a hackathon and was founded by experts in information security and mobile technology. They conducted 54 successful elections (public and private) in the last 3 years, some of which involved hack attempts that were countered in real-time.
Perhaps at the government level, we are not ready for a direct democracy where online voting allows us to express ourselves more often by guaranteeing our rights in a secure system.
However, it is clear what is happening with the governance of some blockchain projects such as MakerDao, Tezos and Cosmos. The Decentralized Autonomous Organizations – DAOs – are the seed of a future in which bottom-up dynamics could become the norm even in more traditional decision-making systems.