Online Elections: Is it even possible in Poland?
The proposal to hold general elections online returns periodically after each election, but it raises a lot of controversy and criticism. The issue of ensuring an appropriate level of security in the electronic voting system remains a key challenge. Guaranteeing the secrecy of voting, a fundamental principle of democracy, remains the central problem to be solved, we read Republic of Poland.
Bring blockchain to the polls
Traditional voting methods are also not free from the risk of fraud, however Changing procedures requires a thorough analysis of costs and potential savings. The Constitution states that voting is to be secret, and a apart from the voter himself, no one can know how he voted.
And here, specialists see an opportunity in using tools advanced public key cryptography from the elliptic curve cryptosystem, enabling data encryption and decryption. This includes, among others, the zk-SNARK algorithm used within the ZCash cryptocurrency. The algorithm allows you to carry out a cryptocurrency transaction, but without specifying its content – it is proving that you have funds in your account without specifying their amount.
The problem is that xk-SNARK is difficult to scale – it requires many complex calculations, and although it works well for hiding cryptocurrency transactions, in the case of general elections, the number of votes cast and the associated costs become an issue. It's a pity, because it would seem to be the perfect solution – would hide information about who we vote for even from the secret services.
An alternative is the twin zk-STARK algorithm, which does not rely on public key cryptography, instead using the so-called hash functions. This significantly speeds up its efficiency and reduces costs by moving some of the complex calculations outside the blockchain. Zero-knowledge evidence is generated outside the blockchain, enabling anonymous voter verification.
Such a system already exists
MACI is an example of an already existing anonymous but verifiable voting system. The zk-STARK algorithm is coupled here with the Ethereum network and uses smart contracts to process votes, ensuring verification of the correctness of the calculations, but at the same time not disclosing the voter's identity. Well, zk-STARK is supposed to be there resistant even to attacks using quantum computers — we can safely say that the solution is safe from the algorithm point of view, but the entire system is always as safe as its weakest link. And here, the manner and quality of the implementation of the solution by the Polish government remains in question.
Good morning, it is unlikely to be possible to provide the remote voting function in all precincts, or to ensure access for every Pole. Even the cheaper-to-use processing of smart contracts in the case of the Ethereum network costs a fortune. In the event of a system failure, it is also necessary to be able to easily separate votes cast online from traditional ones, while maintaining the validity of the vote whenever possible. Hence a small scale of implementation is mentioned at the first stage as a reasonable approach.
So does this make sense? After all, there is never 100% security
Although online bank accounts are not without risks, the benefits of convenience and efficiency seem to outweigh the potential losses. The situation is similar in the case of online elections – the profit and loss calculation continues to produce a positive result. Hence, further work on building a safe Polish voting platform makes perfect sense. However, no one promises that it will be operational in the next general elections.
The original version of the article can be found in Rzeczpospolita resources at this address (paid access).