Iraqi Paradigm E-Voting System Based on Hyperledger Fabric Blockchain Platform

Iraqi Paradigm E-Voting System Based on Hyperledger Fabric Blockchain Platform

Shatha H. SaeedSuha M. Hadi Ali H. Hamad 

Informatics Institute for Postgraduate Studies, Commission for Computers and Informatics, Baghdad 10001, Iraq

Department of Information and Communication Engineering, University of Baghdad, Baghdad 10071, Iraq

Corresponding Author Email: 
ms202020608@iips.icci.edu.iq
Page: 
737-745
|
DOI: 
https://doi.org/10.18280/isi.270506
Received: 
8 July 2022
|
Revised: 
23 September 2022
|
Accepted: 
3 October 2022
|
Available online: 
31 October 2022
| Citation

© 2022 IIETA. This article is published by IIETA and is licensed under the CC BY 4.0 license (http://creativecommons.org/licenses/by/4.0/).

OPEN ACCESS

Abstract: 

Voting is one of the most fundamental components of a democratic society. In 2021 Iraq held the Council of Representatives (CoR) elections in 83 electoral constituencies in 19 governorates. Nonetheless, several significant issues arose during this election, including the problem of logistics distribution, the excessively long period of ballot counting, voters can't know if their votes were counted or if their ballots were tampered with, and the inconsistent regulation of vote counting. Blockchain technology, which was just invented, may offer a solution to these problems. This paper introduces an electronic voting system for the Iraq Council of Representatives elections that is based on a prototype of the permission hyperledger fabric blockchain. An immutable, distributed ledger maintained by all members of a network is what blockchain technology is all about. By authenticating each voter, the system can prevent voting fraud by making votes traceable and verifiable, hence decreasing the chance of unlawful activities and fraudulent ballots. This work investigates the influence of E-voting, specifically the voting phase workload, on the performance of the hyperledger fabric blockchain platform in terms of latency and throughput by altering transaction send rates (tps), block size, and block timeout.

Keywords: 

E-voting, blockchain, hyperledger fabric, hyperledger caliper, performance evaluation

1. Introduction

In democratic nations, citizens have the right to vote for their representatives and express their opinions through elections. Since antiquity, societies have utilized voting systems, which reflect all societal developments. In order to create voting systems, paper ballots, voting booths, optical scanning machines, and punch cards, were introduced. Traditional voting systems are slow because ballots must first be gathered from many areas and then counted by a single central organization to determine results. Voters cannot verify whether their votes were accurately counted or tampered with. Technology has introduced new electronic voting techniques that are essential and have significantly challenged the democratic process [1]. One controller oversees the entire voting process in most electronic voting systems. The central authority's dishonesty (the election commission) leads to erroneous selections, which are challenging to correct with the existing methods. As a modern electronic voting technique, the decentralized network may be used to circumvent the central authority [2].

Current electronic voting techniques pose risks of over authority and altered details, compromising fundamental voting rights to secrecy, privacy, anonymity, and openness. Additionally, manipulation and fraud by those with insider knowledge or by computer hackers. The traditional E-voting method is challenging to understand and use, which reduces public faith in the proposed solution and defeats the system's intended goal. Additionally, traditional voting systems are slow processes because ballots must first be gathered from many areas and then tallied by a lone authority to produce a final tally. Voters on the other hand can't know if their votes were counted or if their ballots were tampered with.

In 2021, Iraq held the elections for the Council of Representatives (CoR) in 83 electoral constituencies in 19 governorates. According to the Independent High Electoral Commission of Iraq (IHEC) [3]. Table 1 shows the Iraqi election 2021 statistics. The voter turnout was 43.54%. As a result of the 2021 Iraq CoR, there were several problems, particularly at the polling stations, as follows: First, ballot papers that list all competing candidates in that district may be distributed to the wrong district. So, there are 722,642 canceled ballot papers due to choosing a candidate outside the elective district plan and canceled polling stations. Second, technical problems occur in the polling box scanner. Third, many voters cannot reach the polling center because their residence is far from it. Fourth, weakness in trust voters about the electoral mechanism used. Fifth, votes are tallied at all polling stations using an electronic polling center optical scanner (PCOS) device, which counts ballot papers while they are inserted into the machine, and then results transfer system (RTS) device transmits the results securely to the server. Furthermore, one polling station from each polling center will be manually counted. In the event that the manual count and the electronic count differ by more than 5%, then the manual count will also apply to all polling stations, with the results of the manual count being dependent on the results of the electronic count.

Table 1. Iraq elections on Oct 2021 statistic

Total Iraqi elective office

19

Total Iraqi elective district

83

Total eligible Voter

22,116,368

Total Vote

9,629,601

Participation Rate

43.54%

Total Ballot type

83 for a general vote, and 1 for a special vote

Total Correct Vote

8,854,025

 Total Canceled Vote

47611

Total Polling Station

57,911

Total Canceled Station

33

Total Correct Ballot Papers

8,906,959

Total Canceled Ballot Papers

722,642

Total Registration Center

1394

Total polling Center

8,968

To prevent the recurrence of the above mentioned problems in the next Iraqi council of a representative election, they should be resolved prior to it. The latest advance in information technology, namely the blockchain, offers the possibility to overcome this problem. Blockchain technology provides decentralized nodes for online voting. By nature of blockchain, databases are mutable, and a designated group of entities have access to them and may insert or alter data. Regardless of whether or not they are centralized, administrative roles can modify the hosted information's structure and content. By removing the need for the third-party verification that traditional databases rely on, blockchain increases content's trustworthiness and verifiability. Because end-to-end verification is so helpful, distributed ledger technologies like blockchain are now being used to make electronic voting systems. The decentralized public ledger is permanent and unchanging, and it contains a record of every vote cast. It assures that once cast, no vote can be modified. If someone attempts to alter the ledger, they must first alter all prior blocks before adding a new one, which is nearly difficult due to the consensus mechanism. To breach a network, a hacker must compromise at least one-third or, in some cases, half of the network, depending on the employed consensus [4, 5].

One of the top priorities when building a voting system is data security and ballot privacy during the voting process. The voting system must meet some requirements such as eligibility, un-reusability, anonymity with data privacy (untrace ability), verifiability, transparency, immutability, and consensus. Generally, three concepts separate the voting process: voter registration, voting, and tallying votes [6].

The goal of this study is to create, a permission blockchain [7] based secure voting solution using a hyperledger fabric platform that meets the requirements of the electoral law currently applied in the Iraq Council of Representatives elections. Due to the lack of faith in the voting infrastructure today. There is a requirement for a transparent and reliable system that can store election data. Registration voters can participate in elections from any polling station assigned by the election commission authority, leading to increased individual turnout for elections. Performance evaluation of using the hyperledger fabric platform by measuring some metrics, including average latency, throughput, and scalability modification of block size and block timeout, was applied to the proposed system design at the voting phase. The hyperledger caliper benchmark [8] has been used for performance evaluation. Two scenarios were performed with varying transaction rates, block size, and block timeout. For every selected send rate will issue 1000 voting transactions. The voting transactions are sent in parallel and generated by an application where multiple polling station node issue transactions simultaneously. All transactions generate the required load. The network will validate the transactions and append new blocks to the blockchain.

The structure of this paper is as follows: Related work described in Section 2, Section 3 discusses the processes of Iraq election 2021, Section 4 explains the overview of blockchain, Section 5 presents the proposed E-voting system design, Section 6 describes the performance evaluation to the proposed system design at the voting phase, and concluding remarks in Section 7.

2. Related Work

Numerous publications have been published about electronic voting and blockchain technologies. These publications present a variety of approaches and goals, and they are attained in different ways. Satizábal et al. [9] presented a new voting protocol for electoral processes called SIVP (Secure Internet Voting Protocol) for national electoral processes in Colombia. It combines blind signatures and public key cryptography to secure votes. Jin et al. [10] A heterogeneous deniable authentication (HDA) protocol was proposed for electronic voting systems. Messages can be sent between sender and receiver in a certificateless cryptography (CLC) environment and a public key infrastructure (PKI). Agate et al. [11] Introduced SecureBallot, a secure, open source E-voting system that completely separates the voting phases and voter identification by using cryptographic technology that has already been developed. Yang et al. [12] proposed a voting protocol based on the blockchain technology. All votes are submitted with full proofs of legitimacy and are available in encrypted form to the public. Li et al. [13] developed a blockchain-based framework for a self tallying voting system in decentralized IoT. They offered a specific design and demonstrated that the suggested system meets all security requirements, such as fairness, dispute-free voting, and maximum ballot confidentiality. Pandey et al. [14] presented VoteChain, a blockchain based voting system that will enable polls become more transparent and secure. Report on the development of VoteChain and the results of testing the system in a real-world election, indicating that such a system may be used in practice for large-scale elections. Dhulavvagol et al. [15] constructed an E-voting application that uses smart contracts to conduct read and write transactions, By setting up an Ethereum multi-node blockchain in a private network. Vijayalakshmi and Vimal [16] incorporating blockchain technology and E-voting, numerous methods for a secure voting procedure were given. Voting data is kept confidential and duplicate votes are prevented during the election process by encrypting and storing it in the blockchain as blocks. Santiso and Lamas [17] presented a decentralized e-voting system that offers increased security, cost-effectiveness, and transparency. Votes were cast using hyperledger fabric and smart contracts. The proposed system was subjected to a transaction load and letancy study. Kirillov et al. [18] to strengthen confidence amongst participants, a modified protocol of a previous voting technique was suggested and deployed on the Hyperledger Fabric platform. Vivek et al. [19] for the adoption of electronic voting on a broad scale, the suggested system must offer both dependability and security. A safe, transparent, and decentralized electronic voting system is proposed using the hyperledger sawtooth blockchain technology. Seftyanto et al. [20] A blockchain based electronic voting system utilizing hyperledger was proposed for Indoanesia. This architecture was evaluated in three phases: blockchain necessity, election security requirements, and issue resolution. Al Barghuthi et al. [21] proposed a prototype hyperledger fabric blockchain based electronic voting system for the Consultative Council of Sharjah (CCS) in the Emirates (UAE) political election process. The suggested method relies on peer to peer communication between blockchain players and voters. Teja et al. [22] introduced secured voting on Ethereum blockchain technology using solidity language as an alternative to existing methods. Because Estonia uses blockchain for almost all services, they studied the Estonian E-voting procedure. Despite the fact that the introduced product isn't ideal for use in a sweeping political election, it was still developed.

Works like [20, 21] show a close approach to our work such that they use hyperledger fabric and apply it to political E-voting systems. In contrast, both works focus on implementing fabric networks and electronic election procedures without evaluating the proposed fabric network performance (i.e., throughput, latency, memory allocation, and CPU usage) with a high volume of concurrent voting transactions. Our work contributes to covering all challenges found in similar previous studies.

3. Iraqi 2021 Election Process

Iraq is the country that is the forerunner to democracy in the middle east and the Arab world because of its cultural, intellectual, and civilizational elements that help it to be one of the pioneers in democracy in the region. Iraq uses the single nontransferable vote system, which is a plurality electoral system in multi seat electoral districts. Each voter casts one vote for one candidate. But each electoral district has more than one seat. Candidates with the most votes win. The new voting mechanism in Iraq was designed to prevent fraud or tampering, Figure 1. shown the Iraqi election process apply on Oct 2021; The techniques used during voting where: voter verification device (VVD), electronic polling center optical scanner (PCOS), and results transfer system (RTS).

The biometric card contains all the data relating to the voter, as well as his personal photo and fingerprints used to identify the voter’s identity [3]. There are 84 different ballot papers. This includes one ballot for each of the 83 electoral districts, which will list all competing candidates in that district, and one ballot for special voting to be used by security force personnel and internally displaced persons.

The technique used to tally votes, at all polling stations, ballot papers are counted electronically by the PCOS device while the ballot papers are inserted into the machine, then the results transfer system (RTS) device, which will connect to PCOS, will transmit the results securely using a satellite link. Additionally, one polling station from each polling center will be randomly selected for manual counting. If the difference between manual and electronic counting results in a difference of more than 5%, then all polling station results in that polling center will also be manually counted, and the results of manual counting shall depend.

Figure 1. Iraqi 2021 election process

4. Hyperledger Fabric Platform

The blockchain is a decentralized, distributed, and immutable database ledger that maintains transactional data in timestamped blocks connected by hashes. Blockchain is a P2P network whose participants are identified by private and public keys. Blockchain blocks consist of three essential components: 1) the cryptographic hash of the preceding block, 2) transaction data often expressed as a Merkle tree, and 3) the timestamp. Once transaction data is recorded in a block, it cannot be modified without modifying all preceding blocks [23, 24].

Enterprises are hyperledger fabric's target audience for its permission blockchain technology [25]. Hyperledger fabric was incorporated into an architecture built on microservices to facilitate deployment more easily. The NoSQL database known as CouchDB was utilized to construct the ledger. Hyperledger fabric supports smart contract creation in general purpose languages (written in Go, Java, and NodeJs). A chaincode is a smart contract in the fabric where all functions that can be invoked by a transaction are defined. Chaincodes come with endorsement policies that apply to their linked smart contracts. An isolation mechanism called a channel can ensure the privacy of transactions between participants in a network. Every channel maintains its own ledger, ensuring the transaction and data are only available to member nodes in the channel. Hyperledger peer, orderer, CouchDB, Certification Authority (CA), and chaincode are the components that make up the microservices that constitute a Hyperledger blockchain network.

Docker containers were utilized in the deployment process for each microservice. They are connected through the use of remote procedure calls [26, 27]. Hyperledger fabric has several features such as: modes of consensus (Solo, Raft, Kafka), no transaction fees, and rich ledger queries.

5. Proposed E-voting System Design

The proposed E-voting system is described in this section where it uses hyperledger fabric platform with Raft ordering service. The E-voting client application system was implemented using Nodejs which is an open-source, server-side JavaScript runtime environment. Also, web-based front-end user interface is developed by HTML, CSS and JavaScript, to enables interaction with the system.

5.1 Hyperledger fabric platform as a service for E-voting

A hyperledger fabric network was used to set up the system for E-Voting that was proposed. The running network was set up as a permissioned blockchain, which means that only a certain set of entities could take part. In this network, there are three types of nodes that are very important: client, peer, and orderer. Clients are the nodes in the network that will participate on behalf of an E-voting application that a front-end user is using. A client node takes user actions and turns them into a valid transaction format. It then sends this format, along with its identity signature, to the blockchain network through a fabric software development kit (SDK). Peers are the nodes that keep track of the current state of the ledger and keep the whole chain of blocks in order. Orderers are nodes that help with the order of transactions and the creation of blocks. In the proposed fabric network, five Raft based orderer services have been configured to avoid the possibility of crashing and causing the whole blockchain network to fail.

Every peer node is a committer by default, therefore, it keeps the ledger updated with ordered state updates that it receives from the ordering service node in the form of a block of transactions. When peer nodes receive a new block, they validate the transactions, commit the changes to the local copy of the ledger and append the block to the blockchain.

Peer nodes can endorse transactions as well, thus being called endorsers. In order to gather endorsement proposals, the client proposes the transaction request simultaneously to many peers. The transaction is then broadcast to the ordered to be included in a block and delivered to all peers for validation and commitment, Figure 2, illustrated the architecture of the proposed hyperledger fabric network.

Two organizations with two peers (committer node and endorser node) were configured to identify the optimal configuration of the fabric blockchain network. Peers are configured to employ CouchDB as their state database. To ensure the immutability of votes, the data within each block is cryptographically hashed with the SHA-256 technique and chained with a hash to assure data security. The fabric blockchain also uses TLS certificates for node-to-node communication and PKI-based X.509 certificates for node and user authentication. Each organization has a certificate authority (CA) to generate the certificates that represent identities (key pairs), and a membership service provider (MSP) contains a list of permissions identities. Figure 3, illustrates the proposed E-voting system design.

5.2 Election roles

According to the organizational structure of the Independent High Electoral Commission (IHEC) in Iraq, four roles type in chaincode includes the parties that are required to participate in the election lifecycle. Each participant was provided with a front-end user interface through an E-voting web application to interact with the hyperledger fabric network. The election process has the following roles:

  • Election Commission Authority(admin): It will be enrolled through a trusted certificate authority (CA). Election Commission Authority will be considered as CA admin, which has complete access to the blockchain network, including the ability to write, read, update, and remove participants.
  • Registration Authority Center Users: It has read/write access rights and is responsible for creating and registering voters through voter card ID, and fingerprint along with their region/district/constituency.
  • Polling Center Users: It has only read access right to fabric blockchain. It has responsible for check the voter’s eligibility to vote, and get and view the final election result once the election’s voting period was ended.
  • Voter: A person who has the right to vote, voters can do the following tasks: authenticate themselves, load election ballots, cast their ballots, and check their ballots before and after an election is over.

Figure 2. The architecture of the proposed hyperledger fabric network

Figure 3. The proposed E-voting based hyperledger fabric blockchain network

5.3 Transaction and asset

In hyperledger fabric, assets are represented by key-value pairs, with state changes represented as transactions on a channel ledger, in the proposed E-voting system based hyperledger fabric the election assets are ballots object, while transactions are held in the election are the voter registration and voting Process. Table 2 shows the main values of ballots as assets on the blockchain.

5.4 The election processes

In order to ensure that the electoral system will not enable coerced voting, the voting will be done in a supervised environment (such as polling stations). The systematic execution of the election processes is shown in Algorithm 1. which consists of four sequential phases as follows: initialization, registration, voting, election public result.

Initilization phase begin with election commission authority, which should setup a new election lifecycle, and provides necessary information such as time for each phase, list of candidates, register certificate identities (key pairs) for both users in registration authority office, and polling center. Registration phase is done prior to the election day, Citizens must provide their voter ID card to the nearest election commission registration authority office. User at the registration station asked voter to input their voter ID card and fingerprint or pin through the front end web interface, then the system will verify each voter’s input parameters will not have been entered previously, if verification is successful, then generates an account in the E-voting web application system for he/she identity. After that, the system will return the sequential vote id assigned for a registered voter in order to use it by the voter during the voting phase. Once the election’s voting period has been set to start by the election commission authority administrator, the voting phase is carried out in the polling centers assigned for each region/district/constituency. Registered voters can participate in the election by logging into their account in the E-voting web application through the front-end interface by entering their voter ID card and fingerprint or pin, then the system verifies the voter’s eligibility if it’s accepted, immediately the CA admin register voter’s certificate identity, and for the corresponding identity a unique wallet is generated, as a result, the voter has access right to the hyperledger fabric blockchain network, then the voter can participate in the election to cast their vote by selecting one of the assign candidates along with region/district/constituency when voter register, then update voter’s has-voted status to true. Immediately the voter can view and verify that his vote was recorded into the blockchain. When the election’s voting period was ended, the election public result phase can be carried out. Any polling center users who have access right to the fabric blockchain network can return the election results containing, lists of whom have voted for each candidate (without disclosing the voter’s identity). Therefore, it will not take very long, and complete fairness of the voting process is ensured, as live access to vote count eliminates the potential of prejudice or election manipulation.

Table 2. Ballot value

Ballot Value

Description

Vote ID

The unique value is generated for each voter during the voter registration phase. The voter then uses this ID as a parameter to cast a vote and verify their vote.

Owner ID

Initially is set to Voter ID card; when casting a vote, it is set to the selected candidate's id.

Has-voted

Initially set to false, when cast vote, it is set to true.

Elective office

Information on where the voter belongs to the election office.

Elective district

The specific district where the voter is along restricted voters from voting for candidates allocated for this district.

Registration center ID

Information on where the voter’s register was done.

Polling center ID

Information on where the voter’s vote was done.

Algorithm 1: ElectionProcesss

  1.  

Set Candidate.

  1.  

Grant registration canter’s users, and polling center’s users access right to fabric blockchain network.

  1.  

Assign voter digital ballot in the ledger for every registered voter

  1.  

Set Election time

  1.  

While (Election time not ended) {

  1.  

       Voter Authentication( )          

  1.  

        if voter valid ( ) {

  1.  

          Voter’s Acess RD/WR to fabric blockchain network =True

  1.  

          Voter’s start election ( )

  1.  

              if !has-voted

  1.  

                Send voting transaction

  1.  

              else

  1.  

                Return “You have already voted! You cannot vote again”

  1.  

           Query vote (voteID) ;

  1.  

        else  

  1.  

          Voter Acess denied to fabric blockchain network 

  1.  

        }

  1.  

     }

End Election time  

  1.  

Show Election public Result ( ){      

  1.  

    if voteStart != True {    

  1.  

        Return “Voting has not started yet!”

  1.  

     else

  1.  

         if currentTime < endVoteTime  {   

  1.  

            Return “Voting has not ended!” 

  1.  

         else

  1.  

            append CandidateList 

  1.  

            Ballot = Get State of all Ballot objects from the world state   

  1.  

            While (True ) do

  1.  

                   if Ballot.has_voted {// If candidate not already in list, add him to candidates list.   

  1.  

.                     if Ballot.ownerID !== any of CandidateList.candidateId {

  1.  

                          push {"candidateId": Ballot.ownerId, "voteCount": 1 ,"district": 

                          Ballot.districtID} to CandidateList       

  1.  

                      else// If the candidate is already in the list, increment his vote count by one.

  1.  

                           CandidatesList..voteCount += 1                          

  1.  

                      }

  1.  

                   }

  1.  

            end while

  1.  

            Return CandidateList.

  1.  

        }

  1.  

     }

  1.  

   }

 End election public Result

5.5 Design analysis

In this work, the viability of a hyperledger fabric blockchain based electronic voting system was investigated from multiple angles. The issues surrounding the 2021 general elections in Iraq are studied. Table 3 summarizes the results of the examination of the proposed electronic voting in relation to the issues mentioned in section 1. Blockchain is an excellent solution to logistical distribution issues since it eliminates the need for paper ballots. In addition, ballots will be delivered over blockchains as opposed to voting boxes. Each ballot in an election must contain consistent data (vote id, owner id, elective office, elective district, etc.) and be shared so that all participants can monitor them; votes cast by voters cannot be updated or deleted; ballots do not contain sensitive data; and each participant must audit all ballots and activities. By employing digital instruments and monitoring outcomes in real time, we can eliminate the issue of lengthy vote counts and conflicting data. Analyses show that the approach presented in this work can be utilized to address the aforementioned issues.

6. Performance Evaluation of Proposed E-voting System Design

During the voting phase, some metrics, such as average latency, throughput, and scalability change of block size and block timeout, were used to measure the performance of the proposed system design using the hyperledger fabric platform. The hyperledger caliper benchmark was used to measure how well something worked. Throughput is the rate at which transactions are successfully processed when they are included in a block and committed to the ledger as part of the blockchain in transactions per second. Average latency is the average of the total transaction latency. Five incoming transaction rates ranging from (50 tps, 100 tps, 150 tps, 200 tps, and 250 tps) have been considered to measure the different impacts on the performance metrics. The voting transactions are sent in parallel and generated by an application where multiple polling station node issue transactions simultaneously. All transactions generate the required load. The network will validate the transactions and append new blocks to the blockchain.

The varying block sizes (10, 50, 100, 150, and 200) transactions per block have been tested for the voting phase. Each time the block size is increased, five rounds (a round is an array of objects, each describing the setting of a round) are run. Every round is set with 1000 transactions at a fixed send rate (50 tps, 100 tps, 150 tps, 200 tps, and 250 tps). In this scenario (2sec) block timeout is specified. Figure 4 (a) shows that the transaction throughput increased when block size increased up to 100 transactions per block, where (61 tps) was the highest throughput obtained. While when the block size increased to (150 and 200) transactions per block, the throughput was slightly decreased. Figure 4 (b) shows that the average latency decreases when rising in the block size is up to 100 transactions per block. The growth in latency was slightly higher when block size increased to (150 and 200). The results indicate that increasing block size to more than 100 transactions per block does not significantly impact performance. Better performance and latency were observed for low send rates, like 50 tps, when using a smaller block size like 50 transactions per block, so increasing the block size did not affect performance that much; even so, it is still noticeable.

An additional scenario has been conducted when varying block timeout (5sec, 2sec, 0.5ses, and 0.25sec, 0.1sec) to evaluate the performance of the proposed fabric network for the voting phase. In this scenario the (100 tps) block size is specified. Figure 5 (a) shows that the throughput increases when increasing block timeout. For 5sec block timeout the highest throughput obtained was (97 tps). While when the block timeout decreased to (2 sec, 0.5 sec, 0.25 sec, and 0.1 sec), the throughput of each case is slightly decreased. Figure 5 (b) shows that the re transaction average latency decreases when increase the block timeout, the highest latency dose not reached (2 sec) when block timeout was (5 sec), while the highest latency reached was (10 sec, 11 sec, 12 sec, 13 sec) when decreased block timeout to (2 sec, 0.5sec, 0.25 sec, and 0.1 sec) respectively. A decreasing in block timeout implies cutting the block before it reached a specific capacity. This result indicates that the increasing of block timeout has the better performance when increasing block sizes.

7. Conclusions

Blockchain based E-voting systems are a promising area of research for addressing the issues with conventional voting systms. The proposed system based on hyperledger fabric is scalable according to business requirements; such scalability means an increase in the number of fabric network organizations, polling stations, or voters. The proposed E-Voting web application is easy to use by each election participant (such as election commission authority, registration center users, polling center users, and voters), and it does not require high experience in information technology. Additionally, the proposed electronic election system may optically use the hyperledger fabric blockchain technique to tackle the concerns mentioned in the 2021 Iraq council of representatives elections and can meet the secure election standards to boost the confidence of all participants. It can safeguard votes on blockchain from the time they are cast at the polling station until the winner is declared. As a result, the voter can immediately view and verify that his vote was recorded into the blockchain. Through the intrinsic features of a permission hyperledger fabric blockchain network, the proposed E-voting system assures decentralized storage, security, and dependability.

Table 3. Problem solution

Problem

Solution

Ballot papers that list all competing candidates in that district, may be distributed to the wrong district.

In a fabric blockchain based electronic voting, digital ballots rather than paper ballots are used. The number of digital ballot objects is produced in proportion to the number of voters registering at each election registration center.

Technical problems occur in the polling box scanner

No ballot boxes are needed. A ledger will be distributed to each node with every ballot object made.

Many voters cannot reach the polling center because their residence is far from it.

Voters can cast their vote from any nearest polling center.

Weakness in trust voters about the electoral mechanism used

With E-voting based on fabric blockchain, no updating or deleting of ballots filled with voters. So voters can verify their vote was considered in the public election result after the election end.

The duration of tallying result takes too long

Tallying the result will not take a lot of time. So every participant can monitor the number of votes in real-time for each district and each candidate.

Figure 4. The results of varying block size experiments

Figure 5. The results of the varying block timeout experiment

This work also investigates the influence of E-voting, specifically the voting phase workload, on the performance of the hyperledger fabric blockchain platform in terms of latency and throughput by altering transaction send rates (tps), block size, and block timeout. The block size and block timeout should be large to ensure high throughput in applications with a large number of concurrent transactions. In conclusion, the proposed E-voting system based hyperledger fabric blockchain network is applicable and could satisfy electronic voting security requirements such as eligibility, anonymity, unforgeability, traceability, and Integrity. Also, the blockchain network is dependent on network design, the complexity/operations of smart contracts, and hardware setup.

Acknowledgment

This work is supported by the Informatics Institute for Postgraduate Studies, Commission for Computers and Informatics.

  References

[1] Jafar, U., Aziz, M.J.A., Shukur, Z. (2021). Blockchain for electronic voting system—review and open research challenges. Sensors, 21(17): 5874. https://doi.org/10.3390/s21175874

[2] Pawlak, M., Poniszewska-Marańda, A., Kryvinska, N. (2018). Towards the intelligent agents for blockchain e-voting system. Procedia Computer Science, 141: 239-246. http://dx.doi.org/10.1016/j.procs.2018.10.177

[3] The High Electoral Commission of Iraq. https://ihec.iq/, accessed on 10 June 2022.

[4] Casino, F., Dasaklis, T.K., Patsakis, C. (2019). A systematic literature review of blockchain-based applications: Current status, classification and open issues. Telematics and Informatics, 36: 55-81. http://dx.doi.org/10.1016/j.tele.2018.11.006

[5] Yadav, A.S., Kushwaha, D.S. (2021). Query optimization in a blockchain-based land registry management system. Ingénierie des Systèmes d’Information, 26(1): 13-21. https://doi.org/10.18280/isi.260102

[6] Pawlak, M., Poniszewska-Marańda, A. (2021). Trends in blockchain-based electronic voting systems. Information Processing & Management, 58(4): 102595. https://doi.org/10.1016/j.ipm.2021.102595

[7] Rao, K.R., Naganjaneyulu, S. (2021). Permissioned healthcare blockchain system for securing the EHRs with privacy preservation. Ingénierie des Systèmes d’Information, 26(4): 393-402. https://doi.org/10.18280/isi.260407

[8] Hyperledger Caliper Architecture. https://hyperledger.github.io/caliper/v0.3.2/architecture/, accessed on 10 June 2022.

[9] Satizábal, C., Páez, R., Forné, J. (2022). Secure Internet Voting Protocol (SIVP): A secure option for electoral processes. Journal of King Saud University-Computer and Information Sciences, 34(6), 3647-3660. http://dx.doi.org/10.1016/j.jksuci.2020.12.016

[10] Jin, C., Chen, G., Yu, C., Zhao, J., Jin, Y., Shan, J. (2019). Heterogeneous deniable authentication and its application to e-voting systems. Journal of Information Security and Applications, 47, 104-111. http://dx.doi.org/10.1016/j.jisa.2019.04.009

[11] Agate, V., De Paola, A., Ferraro, P., Re, G.L., Morana, M. (2021). SecureBallot: A secure open source e-Voting system. Journal of Network and Computer Applications, 191: 103165. http://dx.doi.org/10.1016/j.jnca.2021.103165

[12] Yang, X., Yi, X., Nepal, S., Kelarev, A., Han, F. (2020). Blockchain voting: Publicly verifiable online voting protocol without trusted tallying authorities. Future Generation Computer Systems, 112: 859-874. http://dx.doi.org/10.1016/j.future.2020.06.051

[13] Li, Y., Susilo, W., Yang, G., Yu, Y., Liu, D., Du, X., Guizani, M. (2020). A blockchain-based self-tallying voting protocol in decentralized IoT. IEEE Transactions on Dependable and Secure Computing, 19(1): 119-130. http://dx.doi.org/10.1109/TDSC.2020.2979856

[14] Pandey, A., Bhasi, M., Chandrasekaran, K. (2019). Votechain: A blockchain based e-voting system. In 2019 Global Conference for Advancement in Technology (GCAT), pp. 1-4. http://dx.doi.org/10.1109/GCAT47503.2019.8978295

[15] Dhulavvagol, P.M., Bhajantri, V.H., Totad, S.G. (2020). Blockchain Ethereum clients performance analysis considering E-voting application. Procedia Computer Science, 167: 2506-2515. https://doi.org/10.1016/j.procs.2020.03.303

[16] Vijayalakshmi, V., Vimal, S. (2019). A novel p2p based system with blockchain for secured voting scheme. In 2019 Fifth International Conference on Science Technology Engineering and Mathematics (ICONSTEM), 1: 153-156. https://doi.org/10.1109/ICONSTEM.2019.8918895

[17] Díaz-Santiso, J., Fraga-Lamas, P. (2021). E-Voting system using hyperledger fabric blockchain and smart contracts. Engineering Proceedings, 7(1): 11. https://doi.org/10.3390/engproc2021007011

[18] Kirillov, D., Korkhov, V., Petrunin, V., Makarov, M., Khamitov, I.M., Dostov, V. (2019). Implementation of an e-voting scheme using hyperledger fabric permissioned blockchain. In International Conference on Computational Science and Its Applications, pp. 509-521. https://doi.org/10.1007/978-3-030-24296-1_40

[19] Vivek, S.K., Yashank, R.S., Prashanth, Y., Yashas, N., Namratha, M. (2020). E-voting system using hyperledger sawtooth. In 2020 International Conference on Advances in Computing, Communication & Materials (ICACCM), pp. 29-35. http://dx.doi.org/10.1109/ICACCM50413.2020.9212945

[20] Seftyanto, D., Amiruddin, A., Hakim, A.R. (2019). Design of Blockchain-based electronic election system using Hyperledger: Case of Indonesia. In 2019 4th International Conference on Information Technology, Information Systems and Electrical Engineering (ICITISEE), pp. 228-233. http://dx.doi.org/10.1109/ICITISEE48480.2019.9003768

[21] Al Barghuthi, N.B., Hamdan, I., Al Suwaidi, S., Lootah, A., Al Amoudi, B., Al Shamsi, O., Al Aryani, S. (2019). An analytical view on political voting system using blockchain technology-UAE case study. In 2019 Sixth HCT Information Technology Trends (ITT), pp. 132-137. http://dx.doi.org/10.1109/ITT48889.2019.9075074

[22] Teja, K., Shravani, M.B., Simha, C.Y., Kounte, M.R. (2019). Secured voting through Blockchain technology. In 2019 3rd International Conference on Trends in Electronics and Informatics (ICOEI), pp. 1416-1419. http://dx.doi.org/10.1109/ICOEI.2019.8862743

[23] Farahani, B., Firouzi, F., Luecking, M. (2021). The convergence of IoT and distributed ledger technologies (DLT): Opportunities, challenges, and solutions. Journal of Network and Computer Applications, 177: 102936. https://doi.org/10.1016/j.jnca.2020.102936

[24] Sanka, A.I., Irfan, M., Huang, I., Cheung, R.C. (2021). A survey of breakthrough in blockchain technology: Adoptions, applications, challenges and future research. Computer Communications, 169: 179-201. http://dx.doi.org/10.1016/j.comcom.2020.12.028 

[25] The Linux Foundation Project. https://www.hyperledger.org, accessed on 10 June 2022.

[26] Shalaby, S., Abdellatif, A.A., Al-Ali, A., Mohamed, A., Erbad, A., Guizani, M. (2020). Performance evaluation of hyperledger fabric. In 2020 IEEE International Conference on Informatics, IoT, and Enabling Technologies (ICIoT), pp. 608-613. http://dx.doi.org/10.1109/ICIoT48696.2020.9089614

[27] Sukhwani, H., Wang, N., Trivedi, K.S., Rindos, A. (2018). Performance modeling of hyperledger fabric (permissioned blockchain network). In 2018 IEEE 17th International Symposium on Network Computing and Applications (NCA), pp. 1-8. http://dx.doi.org/10.1109/NCA.2018.8548070