Affiliation:
1. SRM Institute of Science and Technology
Abstract
In this paper we propose a new way to verify eligible voters in a blockchain election. Usually verifying a voter in a list of eligible voters is done using linear search-based algorithms which runs with a worst-case time complexity of O(N) or O(kN). Our system shall use a Merkle tree to implement a search algorithm which runs with a worst-case time complexity of O(Log (N)). Under normal circumstances, when there are 1,000,000 eligible voters, the server would have to scan through 1,000,000 voter address hashes in order to verify a voter. In our system, only 20 hashes will be checked in order to verify a voter. The number of hashes required to calculate the number of hashes needed to process can be found out by getting the logarithm value of the number of hashes, to the base 2 since our Merkle tree has a branching factor of 2. A logarithmic algorithm will exponentially reduce the time and make the eligibility verification process more efficient. Since we are hashing the addresses of the voters before creating the tree, the privacy of the voters shall also be maintained. Instead of using a centralized database for handling the vote requests, we shall use a blockchain database in order to make this system decentralized. Making the system decentralized will make it almost impossible to tamper with the results of the election as once the election is deployed, even the owner of the election that is, the address that deploys the smart contract cannot tamper with the results or the functions in the deployed smart contract.
Publisher
Trans Tech Publications Ltd