As an educational content writer with a Master’s Degree in Computer Science, I write articles such as this to offer insight and awareness.
What Is Blockchain and How Is It Used?
This article aims to show you how blockchain technology can ensure the accuracy of political election results.
Blockchain was developed as a protocol to control the integrity of cryptocurrencies such as Bitcoin. It’s a list of data records (or data blocks) that contain a time stamp and transaction information.
The technology allows for a shared system where everyone can see and enter data, but no one can alter any records. If any record block is changed, the hash counts won't match, and the data would be disqualified. The purpose of hash counts is to confirm the integrity of each record entry.
Blockchain technology has already been implemented to keep healthcare records, track food and beverage supplies, and verify public records such as property titles, birth, death, and marriage certificates.
What’s the Benefit of an Election Blockchain?
The reliability of election results has been an issue for decades and has become further uncertain with the 2020 election in the USA.
Suppose we used a blockchain to tally votes in a political election. How would that help? The point of using a blockchain is that it’s a distributed ledger that ensures the security of transactions.
So, let’s consider a blockchain whereby election data can be safely stored and tallied without being manipulated, similar to that used for cryptocurrency.
The benefit is that all voters’ ballots would be secure and cannot be changed by anyone else.
Why Election Ballot Data Would Be Secure in an “Election Wallet”
The Central Election Server would be similar to a Cryptocurrency Wallet, but it would be a distributed ledger of all the election results available for viewing.
Anyone could see the tally of the election data in this ledger. The election wallet would function in the same way as a crypto wallet, with a public key address and private key address:
- Public Key: As with any cryptocurrency wallet, the public key allows anyone to send transactions to the wallet. That key would be in the server at each polling station to automatically send entries to the election wallet.
- Private Key: The election wallet must also have a private key that election officials need to tally the votes. When verified through a hash function, it produces a unique signature, so it’s extremely difficult for hackers to duplicate the required signature for access.
Technical Description of an Election Blockchain
Synchronizing election data with a blockchain can be done through two methods, using JSON-RPC1 and WebSocket2 protocols:
- Placing voting data on the blockchain does not need two-way notification. Therefore JSON-RPC allows data to be sent to the Central Election Server without the requirement for a response.
- The Internet Engineering Task Force (IETF) had standardized WebSocket protocols in 2011. WebSocket servers validate the "Origin Header” during the establishment of the Internet connection. That avoids cross-site WebSocket hijacking attacks.3
With the protocols in place using JSON-RPC and WebSockets, the data is secure in a blockchain where no one can interfere with the results.
How We Can Prevent Voting Multiple Times
The accuracy of data on the blockchain is assured in the same way as cryptocurrency blockchains. That is, the data is verified by miners in the same way they mine for crypto coins. They run complex algorithms to check the hash counts on all blockchain data blocks.
To avoid anyone voting multiple times, everyone needs to sign in with their social security number, which is saved encrypted on the blockchain along with the voting information.
I realize that part might be controversial. But some form of identity is necessary. After all, the same method is used for financial transactions. So why not for voting?
Suppose a second data block appears on the blockchain with a previously used social security number. In that case, the mining algorithms will detect that and drop it from the blockchain by marking it invalid.
How To Avoid Ballots From People Who Are Dead or Had Moved
This is a problem that was found in recent elections. The only way to deal with it is to verify the data alongside a database of available reports. That has not been done in real-time with any election, but it should be implemented no matter how elections are conducted.
As I see it, that can be done in a blockchain with an algorithm that verifies the entries. The algorithm needs to interface with a server that provides data of deceased persons and those no longer living in the voting district.
Attempting to add these voters' ballots to the blockchain will trigger an error condition, avoiding the addition of the ballot.
The application I described above is not complete by any means. The following are remaining issues that we need to resolve:
- Privacy, for one, needs to be addressed. The fact that social security numbers would be used to identify every voter might create a problem with identity theft. Possibly assigning an alternate identification number for every registered voter might work. But all states would need to approve voter identification no matter which method is used.
- Another issue is that various election laws differ from state to state. Conflicts with the interpretation of laws can unravel the usefulness of an election blockchain due to confusing local requirements.
- We also need to handle the different practices of submitting ballots. Those scanned at the polls go direct to the blockchain, but ballots from absentee voters need to be scanned by hand when they arrive.
- And finally, recent laws passed by 27 states and Washington D.C. allow ballot harvesting.4 That would need the unique identification of ballot collectors to register valid entries on the blockchain without being rejected.
The security inherent in blockchain technology could avoid interference by those who might wish to change election results in favor of their preferred candidate.
The technology I suggest is obviously not complete or foolproof. It’s merely meant as an initial proposal for further consideration with a project to create an ultimate solution.
- JSON-RPC Working Group. (January 4, 2013). “JSON-RPC 2.0 Specification”
- "Definition of WebSockets" – Mozilla.org
- "Cross-site WebSocket Hijacking" – PortSwigger Web Security Academy
- "Ballot Harvesting" – Lawyers Democracy Fund
© 2021 Glenn Stok
Glenn Stok (author) from Long Island, NY on April 14, 2021:
That's right Linda. An alternate identification number assigned to every registered voter might be a solution. Thanks for your input.
Glenn Stok (author) from Long Island, NY on April 14, 2021:
That's one of the problems Pam. The laws differ from one state to another too, which makes it even more difficult to create a simplified system.
Linda Crampton from British Columbia, Canada on April 14, 2021:
Your ideas sound very interesting and useful. The only thing that worries me is the use of social security numbers. As you say, that’s a problem that needs to be addressed.
Umesh Chandra Bhatt from Kharghar, Navi Mumbai, India on April 14, 2021:
Pamela Oglesby from Sunny Florida on April 14, 2021:
I think the technology you suggest is good, Glen, as I think we have major problems with many of our voting laws.