Implementation of double voting prevention algorithm on smart contracts for E-voting blockchain applications

Blockchain is a data structure that tracks information and transactions through a digital ledger. Its main difference from databases is that blockchain is decentralized, and the data stored in blockchains are immutable. This characteristic promotes data integrity, which makes it a potentially excell...

Full description

Saved in:
Bibliographic Details
Main Authors: Cagaoan, John Henry F., Salazar, Jacob Israel R.
Format: text
Language:English
Published: Animo Repository 2023
Subjects:
Online Access:https://animorepository.dlsu.edu.ph/etdb_comtech/12
https://animorepository.dlsu.edu.ph/context/etdb_comtech/article/1011/viewcontent/Implementation_of_double_voting_prevention_algorithm_on_smart_con.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: De La Salle University
Language: English
Description
Summary:Blockchain is a data structure that tracks information and transactions through a digital ledger. Its main difference from databases is that blockchain is decentralized, and the data stored in blockchains are immutable. This characteristic promotes data integrity, which makes it a potentially excellent platform for industries and applications heavily relying on non-repudiation, like e-voting. Smart contracts allow for automation in the blockchain when processing blocks. Smart contracts implementing election rules do not have double-voting control implementations to prevent malicious double-voting attempts. With security controls improperly implemented, e-voting data integrity may be severely affected. This study aims to improve smart contracts to prevent double voting on blockchain-based e-voting systems. An e-voting architecture with user-facing web servers and an Offchain module coordinates with the blockchain and smart contract to filter out multiple attempts of double voting. The developed prototype prevented instances of double voting for both frontend and backend access through the Offchain module, which checks voter data, address used to cast the vote, and generated signatures from the database and blockchain. The system successfully blocks situations such as re-casting a vote for the same user, and using a different address to cast a vote, namely the administrator’s address, another registered voter’s address, and an unrecognized address. A static code analysis has also been performed on the smart contract, with no security-related vulnerabilities included in the result, indicating no significant security issues. The test only highlights multiple gas cost issues.