It’s may be something that I am missing – either Technically or some real world case or scenario, but In My Opinion, the technology nowadays allows creation of Change-Proof, Public, yet – Anonymous, Verifiable by everybody Elections.
Blockchain Technology
Blockchain technology allows to create a tamper-resistant and transparent ledger of the votes. It is not a panacea, and its implementation comes with its own set of challenges and potential vulnerabilities. I’ve written about it Philosophically: https://programtom.com/dev/product/bitcoin-philosophy-strengths-weaknesses/.
In My Opinion – it is not required to use all the features that are inside Bitcoin & the BlockChains – for the purpose of elections. This will actually minimize some of the vulnerabilities.
It is pretty OK – for the software and the database to be centralized and secured by the country administrators. For example – one of the layers of security in government software is working on independent and separate from the Internet – Network.
The items that come from the blockchain are:
Anonymity
A Random UUID could be generated at every vote. In UUID version-4, which is completely random, there are approximately 5.3 x 1036 possible UUIDs. People do not have to remember it, because a QR Code may be generated and printed – For post-vote/election check and verification. And if the actual print is the hash of a combination of the voting machine, timestamp, of his vote the new guid and the previous hash – This will make voting unbeatable.
Paper Trails
One way to ensure the integrity of elections is to have a paper trail for every vote cast electronically so it could be made Verifiable. This allows for manual check from the counters in case of disputes or suspicions of fraud. This is how things work at the moment.
Individual Check
The thing is – any individual may keep a copy of this QR and execute his check individually afterwords. The voter will not need to remember anything. Such feature will increase a lot the Voter Experience of such sytstem.
After the elections, an anonimized, machine-readable data file could be released to the public. Then – everybody with enough technical knowledge may execute simple script and get his own vote + the end result. For security reasons, individual checks may be opened after the elections.
Timestamps
One of the principels that guard Bitcoin is the append-only modification and this could also guard votes. If the time is part of the voting data model as well as the computer
- Everybody will be able to check the time they’ve made the vote
- Another check will be – if a lot of votes – made by a single machine are too close together. There is technical time for
- an individual to walk to the voting computer,
- select his candidate,
- put the paper to the box
- walk away and free for the next citizen to do the same.
So – any fraud – if executed – must be executed during the elections day and not afterwords. The criminals must pick locations where – they will be sure that people will not cast their vote – so – they could steal them. Otherwise – the counts will go beyond the amout of people that have the right to vote in that place.
Active Voting Registration
The above may be semi-prevented with an Active Voting Registration. The population in some are may be forced to register & vote. This is called – Corporate Votes. All the technology cannot resolve all – the human weaknesses. But, all the live actions needed for this type of fraud – leaves trails and somebody may leak the information.
Human “Error”
After voting is complete – does the summary of votes – to recieve the end result is executed digitally or does a human enter them in the “above” counting system? If the total counts is separate digitally from the voting machines – any “error” could occur, including entering up votes from non-existing election section.
Machine Registration and Uniqueness
Every machine with a Network card has unique MAC Address. If the voting machine does not have one – an UUID could be asigned to it. Are all the unique devices registered before the voting starts? If not – and no machine fingerprint on the vote is placed, there will be digital way to prevent somebody to insert votes from a side-chain computer.
Mercle tree
If the input of the hash is a salted with all the necessary variables it will make the hashing result super secure even by itself. And this may be boosted with One of the elements the prevent Frauds in Bitcoin – Mercle tree algorithm. It is chaining of hashes functions one after another. Any change of the votes afterwords:
- Will Make an individual’s vote not identical – to the one he/she received from the voting machine.
- All the subsequent votes will be also not valid, beacuse of the chaining of the hashes.
Verifiable Elections – about Public Independent Oversight
Currently – to prevent fraud election commissions or oversight bodies with the authority monitor and investigate elections to ensure fairness and integrity. If hashing and cryptography is applied – the math itself will be the overseer. It is non-corruptable and emotionless.
During the elections – it is probably OK – the result to not be visible – to prevent any influence. But once they are over – a data set may be released to the public and anybody that has voted may independently check his own vote – thanks to the QR from the Vote. Any fraud will be detected imediatly.
All the above is of course – not executed – because of political reasons. Until some similar software is not implemented – I, personally, will never believe 100% what is said on the TV.