Skip to main content
Advertisement
Browse Subject Areas
?

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

  • Loading metrics

Novel randomization and iterative based algorithms for the transactions assignment in blockchain problem

Abstract

This study focuses on the load balancing of the transactions in the blockchain. The problem is how to assign these transactions to the blocks. The objective is to guarantee a load balancing of the workload in the time of blocks. The proposed problem is an NP-hard one. To face the hardness of the studied problem, the challenge is to develop algorithms that solve the problem approximately. Finding an approximate solution is a real challenge. In this paper, nine algorithms are proposed. These algorithms are based on the dispatching-rules method, randomization approach, clustering algorithms, and iterative method. The proposed algorithms return approximate solutions in a remarkable time. In addition, in this paper, a novel architecture composed of blocks is proposed. This architecture adds the component “Balancer”. This component is responsible to call the best-proposed algorithm and solve the scheduling problem in a polynomial time. In addition, the proposed work helps users to solve the problem of big data concurrency. These algorithms are coded and compared. The performance of these algorithms is tested over three classes of instances. These classes are generated based on uniform distribution. The total number of instances tested is 1350. The average gap, execution time, and the percentage of the best-reached value are used as metrics to measure the performance of the proposed algorithms. Experimental results show the performance of these algorithms and a comparison between them is discussed. The experimental results show that the best algorithm is best-mi-transactions iterative multi-choice with 93.9% in an average running time of 0.003 s.

1 Introduction

Nowadays, the utilization of blockchain technology is in increase day after day [1]. Person use of blockchain technology has also remarkably increased since 2016. The statistics published by several sources in 2020 show that there were more than 40 million blockchain wallets this year in comparison to 10 million blockchain wallets in 2016. The blockchain is integrated into several areas. Indeed, cryptocurrencies are used in a large way the blockchain technology. The security of cryptocurrencies in blockchain technology is studied giving state-of-art challenges and future prospects in [2]. Various category is presented in the latter work to show the importance of the blockchain applied to cryptocurrencies.

In the face of multiple transactions and a huge number of transactions, good management of these transactions optimize the use of the blocks to reply rapidly to all requested demands. Each transaction is characterized by its estimated execution time. In this paper, we focus on the load balancing of the transactions to the different blocks. The problem addressed in this paper is novel because the work reported has not been proposed or studied anywhere else in the literature. A solution is proposed for a new industrial problem that can be used to balance blocks into blockchain technology.

This paper proposes nine algorithms to find the best way to assign the big number of transactions in the given blocks, ensuring fair time execution between blocks. These algorithms are based on the dispatching-rules method, randomization approach, clustering algorithms, and iterative method. The proposed algorithms return approximate solutions in a remarkable time.

The choice to use heuristics rather than other methodologies is based on the following advantages provided by heuristic-based algorithms:

  1. Simplicity: Heuristics are usually simpler and easier to interpret and understand. Heuristic algorithms often involve many sets of logical rules that the researcher can manipulate easily.
  2. Efficacy: Heuristic algorithms can be faster (time execution) and need less memory to expand than other models.
  3. Robustness: Heuristics are also more robust than other models.
  4. Area-particular knowledge: Heuristics may encompass area-particular knowledge and proficiency, which can be difficult to capture in an other model.

A comparative study was discussed to measure and show the effectiveness of each developed algorithm compared to the best solutions among all proposed algorithms.

The essential contributions of this work are detailed in the following points:

  • The proposal and coding of nine algorithms to solve an NP-hard problem.
  • The design of a novel architecture that adds a new component called “Balancer”.
  • The running time to obtain a solution to the studied problem is polynomial.
  • There is no dominance between the algorithms. This means that any combination of two or more algorithms gives a new result. This can give authors more flexibility to choose several combinations and amelioration to extend the work and utilize the proposed algorithms.
  • The proposed algorithms show their performance over different classes of instances.
  • The utilization of the proposed algorithms as initial solutions to apply different meta-heuristics to solve the studied problem.

The rest of the paper is organized into six sections. A stat of the art is detailed and analysed in Section 2. The second section is reserved for the architecture composed of blocks. In this section, a novel architecture is given and details the different components. A new component called “Balancer” is proposed. The third section defines the problem formulation. All used variables and the modernization of the objective function are detailed in this section. The fourth section presents approximate solutions through different proposed algorithms. Nine algorithms are proposed and illustrated. Section 6 reports the results and discussions. Three classes of instances are tested to compare the performance of the proposed algorithms. Finally, the paper concludes with a summary in Section 7.

2 State of the art

In [3], the authors give different national and international perspectives regarding the use of cryptocurrencies. The discussion of the cryptocurrency innovations such as Bitcoin is detailed in [4]. A discussion of the non-trusted blockchain technology called Bitcoin. These authors presented three characterizations of digital money Bitcoin. In [5] authors give an overview and future perspectives on the utilization of the blockchain in cryptocurrency. In addition, the authors analyze current cryptocurrency projects and give different examples. In this same context authors in [69] studied another literature review regarding the blockchain in cryptocurrency. Blockchain technology is applied in different domains. Indeed, several works treated the application of blockchain technology. In [1012] authors presented a survey of blockchain applications in different domains. Offered contracts that apply or perform fully or partially automatically without human intervention. These contracts are called smart contracts [13]. Several works treated blockchain-based smart contracts. Indeed, in [14], the authors extracted 24 papers from several scientific databases to track the smart contract issues and analyses the impact of this utilization. Different smart contract applications are illustrated and future studies are provided. In [15], the authors analyze 468 research papers that studied the smart contract and their 20,188 references. Six major streams related to the studied research area are identified using factor analysis. Authors in [16] explained the diverse components and working fundamentals of the smart contract. In addition, the authors identified and analyzed the diverse use cases of smart contracts with the interest of utilizing smart contracts in blockchain in several domains. Different algorithms are illustrated related to the use of logic in smart contracts with blockchain systems [17]. In healthcare management, several existing in previous research work and applications studied for the healthcare domain using the blockchain approach [18]. Other surveys regarding the contracts with blockchain are studied by several researchers [19, 20]. In [21], authors explain the combination between the blockchain and the IoT. The authors based the work on the sharing of services and resources and a cryptographically verifiable manner. In fact, this latter work shows that the blockchain-IoT combination can give the new world a new vision regarding real-life manipulation. Another domain that the blockchain technology is applied is financial services. In this context, the blockchain and its effect on financial sectors are treated in [22]. The load balancing is the main core of the studied problem. The load balancing algorithms are largely studied in the literature in different domains in [2327].

A comprehensive study of the previous research work regarding this issue is presented in [28]. Several works detailed the financial services related with blockchain in [2932]. The supply chain with the utilization of the blockchain is also studied in the literature. In [33], authors show how the boundary conditions must be met before blockchain can be applied. Eighteen boundary conditions were proposed. The shifting trust in the creation of supply chains via blockchain is studied in [34]. A case study of the data management in supply chains using blockchain is presented in [35]. In our work, several algorithms are proposed to solve the load balancing in the blockchain. On the other hand, several works in literature treated the load balancing or as also known as the fair distribution or the equity distribution [3640].

Several papers treated the blockchain used different methods that can exploit the proposed algorithms to extend their works [4146].

The proposed algorithms can be adopted to solve the parallel machine problem studied in [4752].

Table 1 provides a summary of the related works detailed previously.

Several other works treating the blockchain problem can be considered [46, 53, 54].

Other scheduling algorithms treated in [5557] can be exploited to deal with the studied problem.

These previous works give many limitations that can be detailed as follows:

  • Scalability: some algorithms can not be easily scalable;
  • Overhead: Several presented algorithms related to load balancing can give additional overhead;
  • insufficiency of accuracy: some Load-balancing algorithms may not always accurately forecast the load on blocks;
  • Limitation of implementation: Some algorithms may only be applicable to certain types of transactions, servers, and models.

To surmount these limitations, this paper proposes nine novel algorithms for efficacy manage the very high number of transactions to the different offered blocks. These algorithms are based on the dispatching-rules method, randomization approach, clustering algorithms, and iterative method. The proposed algorithms return approximate solutions in a remarkable time.

3 Architecture composed of blocks

The studied problem is based on the assignment of the different transactions to different blocks. Fig 1 illustrates an overview of this problem. As shown in this latter figure, the component “Balancer” is a novel component that is added to the proposed architecture. This component is responsible to run the proposed algorithms and choose the best one to decide how to assign the given transactions to different blocks. The “Balancer” solve an NP-hard problem. For this reason, the execution time of the algorithm is very crucial and must be considered as one of the metrics to choose the effeminacy of the algorithm.

thumbnail
Fig 1. Architecture of the blocks-transactions assignment problem.

https://doi.org/10.1371/journal.pone.0286667.g001

The proposed architecture is composed of three components detailed as follows:

  • Transactions
  • Balancer
  • Blocks

The transactions component is the engine that is responsible to collect all the given transactions that must be executed. In addition, this component collects also all information on each transaction essentially the estimated running time of each transaction. The second component is the “Balancer”. This is the core of the architecture. Several algorithms are called to solve the problem constituted by the given transactions. Finally, the component “Blocks” is composed of the available blocks.

4 Problem formulation

Let Tr be a set of nT transactions to be assigned to nb blocks into a blockchain. Each transaction j satisfies certain characteristics. The estimated running time rtj for each transaction is fixed in advance. The cumulative estimated running time when the transaction j is assigned is Crjj ∈ {1, …, nT}. The total workload for each block i after finishing the assignment is Twii ∈ {1, …, nb}. The maximum completion time when all transactions are completed is Twmax and formulated in Eq 1. (1)

The maximum completion time Twmax can be formulated as described in Eq 9. (2)

The total completion time gap is denoted by Gtw and shown in Eq 3. (3)

The goal is to find a solution that minimizes the sum of the gaps between the block that has the minimum execution time and each other blocks. The objective is to minimize Gtw.

We define the variable xij as detailed in Eq 4. (4)

The constraints of the proposed problem are detailed in Eqs 5, 6, 7 and 8. Example 1 Assume that the number of transactions is 7 and the number of blocks is 2. This example considers only the transactions to be scheduled during a period of time. For other time periods, a new set of transactions will be scheduled on the two blocks. Table 2 lists the estimated running time for each transaction.

The objective is to find a solution that will assign all the transactions on the two given blocks. Fig 2 illustrates an example of a schedule regarding the feasible solution to the studied problem.

The schedule given in Fig 2 is as follows: On block 1, transactions {4, 7, 6, 3} are executed, while on block 2, transactions {2, 1, 5} are executed. From Fig 2, it can be deduced that the first block has a total execution time of 22 and the second block has a total execution time of 17. The gap between the total execution times for block 1 and block 2 is equal to Tw1Tw2 = 5. The principal goal of the work reported here is to minimize this gap. Therefore, a more efficient assignment needs to be found with a gap of less than 5. To calculate the gap between the blocks, several indicators are chosen. In this paper and for the above example the following indicator is proposed: Tw1Tw2 where Tw1 represents Twmax.

Example 2 Assume that we have the same instance detailed in Table 2. Fig 3 illustrates another example of a schedule regarding the feasible solution of the studied problem.

The schedule given in Fig 3 is as follows: On block 1, transactions {3, 1, 7} are executed, while on block 2, transactions {5, 6, 2, 4} are executed. From Fig 3, it can be deduced that the first block has a total execution time of 19 and the second block has a total execution time of 20. The gap between the total execution times for block 1 and block 2 is equal to Tw2Tw1 = 1. The principal goal of the work reported here is to minimize this gap. This schedule shows that a more efficient assignment is found with a gap of less than 5 compared with the schedule in Example 1.

5 Proposed algorithms

In this section, we detail all the developed algorithms regarding the studied problem of the blockchain with constraints. Nine algorithms are proposed. The first algorithm is called “Longest Transactions Time” and is denoted by LTT. This algorithm is based on the dispatching rule. The second algorithm is called “Smallest Transactions Time” and is denoted by STT. This algorithm is based on the dispatching rule. A probabilistic algorithm called “Iterative Multi-choice Longest-Transactions Time” and denoted by IML is presented as the third algorithm. The fourth algorithm is called “Iterative Multi-choice Smallest-Transactions Time” and is denoted by IMS. This algorithm is based on the iterative method. The fifth algorithm is called “Block-transaction Iterative Longest-Multi-choice” and is denoted by BIL. This algorithm is based on the probabilistic approach. The “Block-transaction Iterative Smallest-Multi-choice” algorithm is denoted by BIS and constitutes the sixth algorithm. The seventh algorithm is called “Mi-transactions Iterative Longest-Multi-choice” and is denoted by MIL. The “Mi-transactions Iterative Smallest-Multi-choice” algorithm is denoted by MIS and is the eighth one. The last algorithm is called “Best-mi-transactions Iterative Multi-choice” and is denoted by BIM. All algorithms receive as inputs the number of blocks nb, the number of transactions nT, and the values of the estimated running time rtj for each transaction. The proposed algorithms are independent and different from each other.

5.1 Longest Transactions Time (LTT)

This algorithm uses the dispatching rule method by sorting all transactions according to the non-increasing order of their estimated running time. After the sorting, the scheduling will be on the block that has the minimum total workload. The sorting algorithm used for the dispatching rule is the heapsort algorithm. The complexity of this algorithm is O(nlogn) [57].

5.2 Smallest Transactions Time (STT)

This algorithm is the same as LTT, the difference is to sort all transactions according to the non-increasing order of their estimated running time.

5.3 Iterative Multi-choice Longest-Transactions Time (IML)

The transaction that has the first longest running time and the transaction that has the second longest running time. This is meaning that the choice will be between the two first elements in the table of transactions after sorting. This choice will be based on the application of the probability μ. In fact, for μ probability, the choice is for the transaction that has the first longest running time and for 1 − μ probability for the transaction that has the second longest running time. In the practice, μ = 0.4. The choice will be repeated itn = 800 times and the best solution will be chosen. The procedure NIO() is responsible for the ordering of the transactions given in input according to the non-increasing order of its running time. The procedure SHE() is responsible for the scheduling of the transactions given in input on the most available block. In addition, Tr1 represents the first transaction that has the longest running time and Tr2 represents the second transaction that has the longest running time. Algorithm 1 represents the algorithm of IML.

Algorithm 1 Iterative Multi-choice Longest-Transactions Time Algorithm (IML)

1: Call NIO(Tr)

2: for (h = 1 to itn) do

3:  for (k = 1 to nT − 1) do

4:   Determine Tr1 and Tr2

5:   if (μ) then

6:    Call SHE(Tr1)

7:   else

8:    if (k = nT − 1) then

9:     if (Tr1 is not scheduled) then

10:      Call SHE(Tr1)

11:     else

12:      Call SHE(Tr2)

13:     end if

14:    end if

15:   end if

16:  end for

17:  Calculate Gtwh

18: end for

19: Calculate

20: Return Gtw

5.4 Iterative Multi-choice Smallest-Transactions Time (IMS)

This algorithm is similar to IML. The difference is to sort the transactions in the first step according to the non-decreasing order of its rtj.

5.5 Block-transaction Iterative Longest-Multi-choice (BIL)

This algorithm uses the randomization method. The first step is to sort all transactions according to the non-increasing order of its rtj. Next, the second step is to schedule the nb transactions that have the longest running time to the blocks. The third step is concerning the remaining transactions. The remaining transactions will be scheduled with a probability ϑ. This probability is based on the choice of the transaction. In fact, for ϑ probability, the choice is for the transaction that has the first longest running time and for 1 − ϑ probability for the transaction that has the second longest running time. In practice, ϑ = 0.4. The choice will be repeated itn = 800 times and the best solution will be picked. The set LT contains the first nb transactions that have the longest running time. Algorithm 2 represents the algorithm of BIL.

Algorithm 2 Block-transaction Iterative Longest-Multi-choice Algorithm (BIL)

1: Call NIO(Tr)

2: for (h = 1 to itn) do

3:  for (k = 1 to nTnb) do

4:   Determine Tr1 and Tr2

5:   if (μ) then

6:    Call SHE(Tr1)

7:   else

8:    Call SHE(Tr2)

9:   end if

10:   if (k = nTnb) then

11:    if (Tr1 is not scheduled) then

12:     Call SHE(Tr1)

13:    else

14:     Call SHE(Tr2)

15:    end if

16:   end if

17:  end for

18:  Calculate Gtwh

19: end for

20: Calculate

21: Return Gtw

5.6 Block-transaction Iterative Smallest-Multi-choice (BIS)

This algorithm uses the randomization method. The first step is to sort all transactions according to the non-increasing order of its rtj. Next, the second step is to schedule the nb transactions that have the longest running time to the blocks. The third step is concerning the remaining transactions. The remaining transactions will be scheduled with a probability ϑ. This probability is based on the choice of the transaction. In fact, for ϑ probability, the choice is for the transaction that has the first smallest running time and for 1 − ϑ probability for the transaction that has the second smallest running time. In practice, ϑ = 0.4. The choice will be repeated itn = 800 times and the best solution will be picked. We denoted by TrS1 represents the first transaction that has the smallest rtj and TrS2 represents the second transaction that has the smallest rtj. Algorithm 3 represents the algorithm of BIS.

Algorithm 3 Block-transaction Iterative Smallest-Multi-choice Algorithm (BIS)

1: Call NIO(Tr)

2: Call SHE(LT)

3: for (h = 1 to itn) do

4:  for (k = 1 to nTnb) do

5:   Determine TrS1 and TrS2

6:   if (μ) then

7:    Call SHE(TrS1)

8:   else

9:    Call SHE(TrS2)

10:   end if

11:   if (k = nTnb) then

12:    if (TrS1 is not scheduled) then

13:     Call SHE(TrS1)

14:    else

15:     Call SHE(TrS2)

16:    end if

17:   end if

18:  end for

19:  Calculate Gtwh

20: end for

21: Calculate

22: Return Gtw

5.7 Mi-transactions Iterative Longest-Multi-choice (MIL)

The first step is to sort all transactions in the non-increasing order of its rtj. After that, the second step is to schedule the transactions that have the longest running time to the blocks. The third step is concerning the remaining transactions. The remaining transactions will be scheduled with a probability ϑ. This probability is based on the choice of the transaction. In fact, for ϑ probability, the choice is for the transaction that has the first longest running time and for 1 − ϑ probability for the transaction that has the second longest running time. In practice, ϑ = 0.4. The choice will be repeated itn = 800 times and the best solution will be picked. We denoted by SHEST(L, TwI) is the procedure that schedules the transactions in the list L taking into consideration the load of blocks Twi stored into the list TwI. This means that the blocks are not initially empty. The instructions of MIL are detailed in Algorithm 4.

Algorithm 4 Mi-transactions Iterative Longest-Multi-choice algorithm (MIL)

1: Call NIO(Tr)

2: for (j = 1 to ) do

3:  Call SHE(Trj)

4: end for

5: Determine TwI

6: Set Twa = TwI

7: for (k = 1 to itn) do

8:  for ( to nT) do

9:   Select the transaction Tr based on ϑ

10:   Call SHEST(Tr, TwI)

11:  end for

12:  Calculate Gtwk

13:  Rest TwI = Twa

14: end for

15: Calculate

16: Return Gtw

5.8 Mi-transactions Iterative Smallest-Multi-choice (MIS)

The same procedure is like the MIL algorithm, however, the difference is regarding the remaining transactions after the scheduling of the transactions that have the longest running time to the blocks. In the third step, instead of the transaction that has the first longest running time for probability ϑ, we select the transaction that has the first smallest running time.

5.9 Best-mi-transactions Iterative Multi-choice (BIM)

Firstly, we call the iterative multi-choice longest-transactions time algorithm and we call the block-transaction iterative longest-multi-choice algorithm. The best solution will be selected. Thus, we have the following equation: (9)

We denoted by GtwI and GtwB the total completion time gap returned by IML and BIL, respectively. Algorithm 5 represents the algorithm of BIM.

Algorithm 5 Best-mi-transactions Iterative Multi-choice algorithm (BIM)

1: Call IML(Tr)

2: Call IML(Tr)

3: Set Gwt = min(GtwI, GtwB)

4: Return Gwt

6 Results and discussion

In this section, we detail the obtained results after running all proposed algorithms. The proposed algorithms were codded using a C++ program using Visual Studio 2019. The hardware used is an Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz 2.40 GHz and 8 GB RAM. The operating system is Windows 10 Enterprise with 64-bit version 22H2.

The experimental results show different advantages of the proposed algorithms as follows:

  • The execution time to obtain a solution to the studied problem is polynomial.
  • There is no dominance between the algorithms. This means that any combination of two or more algorithms gives a new result. This can give authors more flexibility to choose several combinations and amelioration to extend the work and utilize the proposed algorithms.
  • The proposed algorithms show their performance over different classes of instances.
  • The utilization of the proposed algorithms as initial solutions to apply different met-heuristics to solve the studied problem.

Despite the advantage of the proposed algorithms, there are some limitations of the research work as follows:

  • The work develops novel algorithms and architecture based on the component “Blancer”. However, the work doesn’t give a lower bound of the problem to measure the performance of the results compared to the lower bound. Measuring the distance to the lower bound is important to know the far of the proposed algorithms to the optimal solution.
  • Some proposed algorithms give a high average gap. The average gap can be a performance by applying other methods.
  • The proposed algorithms are not tested in big-scale instances.
  • More other distributions can be tested to generate the instances like normal distribution and binomial distribution.

Several instances were generated to perform the proposed algorithms.

These algorithms are compared between them and measured using different metrics. The instances tested in this section are generated like in [38]. Three classes are selected to test the proposed algorithms. These classes are based on the uniform distribution UnD[.]. The rtj of the transaction j was generated as:

  • Class CS1: rtjUnD[5, 15].
  • Class CS2: rtjUnN[10, 25].
  • Class CS3: rtjUnN[10, 50].

The number of transactions is varied as {10,15,20,25,30,35,40,45,50} and the number of blocks is varied as {2,3,4,5,6}. For each number of transactions, each number of blocks, and each class, 10 instances were generated. So, in total, we have 1350 instances. Three metrics are proposed to show the performance of the given algorithms. These metrics are:

  • : the gap obtained based on the best value picked after execution of all algorithms (Gtwb) and the value obtained by the presented algorithm (Gtw). G = 0, if Gtw = 0.
  • GP The average of G over a fixed number of instances.
  • Time: average estimated running time in seconds. The symbol “+” is shown when the average running time is less than 0.001 s.
  • Pge: percentage of transactions where Gtw = Gtwb among all 1350 instances.

Table 3, represents the overview of results for all proposed algorithms. From this table, we can see that the best algorithm is BIM in 93.9% of cases, with an average gap of 0.03 and an average estimated running time of 0.003 s. The second best algorithm is IML with a percentage of 89.5%, an average gap of 0.05, and an average running time of 0.002 s.

thumbnail
Table 3. Overview of results for all proposed algorithms.

https://doi.org/10.1371/journal.pone.0286667.t003

Table 4 represents the GP variation for all proposed algorithms. This latter table shows that for the best algorithm, BIM the best average gap of less than 0.001 is obtained when nT = {15, 30}. However, the highest average gap of 0.09 is obtained when nT = 40. For the MIS algorithm, the best GP value of 0.38 is obtained when nT = 40. On the other hand, for the IML algorithm the best GP of 0.01 is reached when nT = 15.

thumbnail
Table 4. Average gap GP variation for all proposed algorithms classified by nT.

https://doi.org/10.1371/journal.pone.0286667.t004

Table 5 shows the GP variation for all proposed algorithms classified by nb. For the best algorithm BIM, the minimum GP of less than 0.001 is obtained when nb = 2 and the maximum GP of 0.06 is obtained when nb = 3. For the IML algorithm the maximum GP is 0.09. It is clear that the maximum values of GP are obtained by STT.

thumbnail
Table 5. Average gap GP variation for all proposed algorithms classified by nb.

https://doi.org/10.1371/journal.pone.0286667.t005

The pair (nT, nb) will be denoted by ID. So, for each (nT, nb) value, we have a new value of ID. The first ID value is 1. Fig 4 illustrates MIS and BIM comparison. This figure shows that almost the MIS curve is above the BIM curve. This means and confirms that BIM is better than MIS.

Fig 5 shows the comparison of average gap values for all algorithms based on ID. This figure shows the performance of the algorithm BIM. This algorithm outperforms all other ones.

thumbnail
Fig 5. Comparison of average gap values for all algorithms based on ID.

https://doi.org/10.1371/journal.pone.0286667.g005

Fig 6 illustrates BIS and MIL comparison. This figure shows that almost the MIL curve is above the BIS curve. This means and confirms that BIS is better than MIL.

Fig 7 illustrates BIM running time variation when ID changes. Fig 7 shows that the running time increase when the ID increases.

For more details, Tables 6 and 7 show the average running time variation for all proposed algorithms classified by nb and nT, respectively. Table 6 shows that the maximum running time of 0.005 s is reached for the BIM algorithm when nT = 50. For LTT and STT, and for all values of nT, always the running time is less than 0.001 s. Table 7 shows that the maximum running time of 0.004 s is reached for the BIM algorithm when nb = 6. For LTT and STT and for all values of nb, always the running time is less than 0.001 s.

thumbnail
Table 6. Average of running time variation for all proposed algorithms classified by nT.

https://doi.org/10.1371/journal.pone.0286667.t006

thumbnail
Table 7. Average of running time variation for all proposed algorithms classified by nb.

https://doi.org/10.1371/journal.pone.0286667.t007

Table 8 shows the contrast estimation results for all proposed algorithms. The importance of this test is based on the estimation of the contrast between medians of instances of results considering all pairwise comparisons. The test obtains a quantitative difference between gaps computed through medians between two algorithms over all instances [58]. Table 8 shows the estimations computed for each proposed algorithm. Focusing the attention on the rows of Table 8, we can see the performance of BIM (all its related estimators are negative).

thumbnail
Table 8. Contrast estimation results for all proposed algorithms.

https://doi.org/10.1371/journal.pone.0286667.t008

The proposed algorithms show their performance in running time. Indeed, the most higher running time is 0.005 s. This means the polynomial time of the proposed algorithms. The experimental results show the non-dominance of the proposed algorithms. This can allow researchers to make a combination of the proposed algorithms to propose new ones. The proposed algorithms can be utilized in a branch and bound algorithm to develop an exact solution to the studied problem. This is because the time execution of the best algorithm is very remarkable and efficient. So, the burning of a node in the tree doesn’t take time and memory to expand the other possibilities. Other methodologies that can be used to achieve the objective in relation to this work are:

  • Applying some met-heuristics and considering the proposed algorithms as heuristics and initial solutions.
  • Search the square of difference gap instead of the proposed objective given in Eq 1.
  • Other new metrics can be considered like quadratic difference (RMSE) between the AGPs for all algorithms.

The four best proposed-algorithms are IML, BIL, MIL, and BIM. The results illustrated in tables and figures show the performance of the algorithms. The application of randomization has a remarkable impact on the performance of the algorithm. Indeed, these four algorithms are based on the randomization method. This means that the randomization method proves its efficacy in the proposed problem.

7 Conclusion

The application of technology in different domains is a crucial point. However, optimizing the utilization of technological information is very important to save time and money. This paper dealt with the solution to the problem related to the transactions that can be treated in the blocks of the blockchain. This problem is an NP-hard one. This problem can be solved by proposing an approximate solution. It is important to give an approximate solution to the studied problem in polynomial time. Nine algorithms are proposed to solve the studied problem in polynomial time. These algorithms are based on the dispatching-rules method, randomization approach, clustering algorithms, and iterative method. The results show that the best algorithm proposed in this paper is best-mi-transactions iterative multi-choice with 93.9% in an average running time of 0.003 s. The proposed algorithms give several approximate solutions in a remarkable running time. The limitation of this work is the comparison of the best-proposed algorithm to a valid lower bound of the studied problem. Four future axes can be extended for this research. The first axe is to develop an optimal solution to the studied problem. The proposed algorithms can be utilized to obtain the exact solution in a decision tree. The second future axe is to test the proposed algorithms over extended classes of instances and determine some hard classes of instances. The third future axe is to use the proposed algorithms in several meta-heuristics to enhance the solutions. The last future axe is the incorporation of the proposed algorithm in the future to solve other kinds of problems in cloud management or network routing.

References

  1. 1. Pilkington M. Blockchain technology: principles and applications. In: Research handbook on digital transformations. Edward Elgar Publishing; 2016. p. 225–253.
  2. 2. Ghosh A, Gupta S, Dua A, Kumar N. Security of Cryptocurrencies in blockchain technology: State-of-art, challenges and future prospects. Journal of Network and Computer Applications. 2020;163:102635.
  3. 3. Girasa R. Regulation of cryptocurrencies and blockchain technologies: national and international perspectives. Palgrave Macmillan Cham; 2023.
  4. 4. Malherbe L, Montalban M, Bédu N, Granier C. Cryptocurrencies and blockchain: Opportunities and limits of a new monetary regime. International Journal of Political Economy. 2019;48(2):127–152.
  5. 5. Sebastião HMCV, Cunha PJORd, Godinho PMC. Cryptocurrencies and blockchain. Overview and future perspectives. International Journal of Economics and Business Research. 2021;21(3):305–342.
  6. 6. Mohammed AH, Abdulateef AA, Abdulateef IA. Hyperledger, Ethereum and blockchain technology: a short overview. In: 2021 3rd International Congress on Human-Computer Interaction, Optimization and Robotic Applications (HORA). IEEE; 2021. p. 1–6.
  7. 7. Liu XF, Jiang XJ, Liu SH, Tse CK. Knowledge discovery in cryptocurrency transactions: A survey. IEEE Access. 2021;9:37229–37254.
  8. 8. Ghimire S, Selvaraj H. A survey on bitcoin cryptocurrency and its mining. In: 2018 26th International Conference on Systems Engineering (ICSEng). IEEE; 2018. p. 1–6.
  9. 9. Yadav SP, Agrawal KK, Bhati BS, Al-Turjman F, Mostarda L. Blockchain-based cryptocurrency regulation: An overview. Computational Economics. 2022;59(4):1659–1675.
  10. 10. Chen W, Xu Z, Shi S, Zhao Y, Zhao J. A survey of blockchain applications in different domains. In: Proceedings of the 2018 International Conference on Blockchain Technology and Application; 2018. p. 17–21.
  11. 11. Abou Jaoude J, Saade RG. Blockchain applications–usage in different domains. Ieee Access. 2019;7:45360–45381.
  12. 12. Al-Jaroodi J, Mohamed N. Industrial applications of blockchain. In: 2019 IEEE 9th Annual Computing and Communication Workshop and Conference (CCWC). IEEE; 2019. p. 0550–0555.
  13. 13. Franco P. Understanding Bitcoin: Cryptography, engineering and economics. John Wiley & Sons; 2014.
  14. 14. Alharby M, Van Moorsel A. Blockchain-based smart contracts: A systematic mapping study. arXiv preprint arXiv:171006372. 2017;.
  15. 15. Ante L. Smart contracts on the blockchain–A bibliometric analysis and review. Telematics and Informatics. 2021;57:101519.
  16. 16. Mohanta BK, Panda SS, Jena D. An overview of smart contract and use cases in blockchain technology. In: 2018 9th international conference on computing, communication and networking technologies (ICCCNT). IEEE; 2018. p. 1–4.
  17. 17. Idelberger F, Governatori G, Riveret R, Sartor G. Evaluation of logic-based smart contracts for blockchain systems. In: Rule Technologies. Research, Tools, and Applications: 10th International Symposium, RuleML 2016, Stony Brook, NY, USA, July 6-9, 2016. Proceedings 10. Springer; 2016. p. 167–183.
  18. 18. Khatoon A. A blockchain-based smart contract system for healthcare management. Electronics. 2020;9(1):94.
  19. 19. Liu J, Liu Z. A survey on security verification of blockchain smart contracts. IEEE Access. 2019;7:77894–77904.
  20. 20. Hewa T, Ylianttila M, Liyanage M. Survey on blockchain based smart contracts: Applications, opportunities and challenges. Journal of Network and Computer Applications. 2021;177:102857.
  21. 21. Christidis K, Devetsikiotis M. Blockchains and smart contracts for the internet of things. Ieee Access. 2016;4:2292–2303.
  22. 22. Fanning K, Centers DP. Blockchain and its coming impact on financial services. Journal of Corporate Accounting & Finance. 2016;27(5):53–57.
  23. 23. Alharbi M, Jemmali M. Algorithms for investment project distribution on regions. Computational Intelligence and Neuroscience. 2020;2020. pmid:32802026
  24. 24. Jemmali M. Budgets balancing algorithms for the projects assignment. International Journal of Advanced Computer Science and Applications. 2019;10(11).
  25. 25. Jemmali M, Melhim LKB, Alharbi MT, Bajahzar A, Omri MN. Smart-parking management algorithms in smart city. Scientific Reports. 2022;12(1):1–15. pmid:35444220
  26. 26. Jemmali M, Bashir AK, Boulila W, Melhim LKB, Jhaveri RH, Ahmad J. An Efficient Optimization of Battery-Drone-Based Transportation Systems for Monitoring Solar Power Plant. IEEE Transactions on Intelligent Transportation Systems. 2022;.
  27. 27. Jemmali M. Approximate solutions for the projects revenues assignment problem. Communications in Mathematics and Applications. 2019;10(3):653.
  28. 28. Pal A, Tiwari CK, Behl A. Blockchain technology in financial services: a comprehensive review of the literature. Journal of Global Operations and Strategic Sourcing. 2021;.
  29. 29. Peterson M. Blockchain and the future of financial services. The Journal of Wealth Management. 2018;21(1):124–131.
  30. 30. Zachariadis M, Hileman G, Scott SV. Governance and control in distributed ledgers: Understanding the challenges facing blockchain technology in financial services. Information and Organization. 2019;29(2):105–117.
  31. 31. Hughes TM. The global financial services industry and the blockchain. The Journal of Structured Finance. 2018;23(4):36–40.
  32. 32. Garcia Bringas P, Pastor-López I, Psaila G. BlockChain platforms in financial services: current perspective. Business Systems Research: International journal of the Society for Advancing Innovation and Research in Economy. 2020;11(3):110–126.
  33. 33. Behnke K, Janssen M. Boundary conditions for traceability in food supply chains using blockchain technology. International Journal of Information Management. 2020;52:101969.
  34. 34. Qian X, Papadonikolaki E. Shifting trust in construction supply chains through blockchain technology. Engineering, Construction and Architectural Management. 2021;28(2):584–602.
  35. 35. Wu H, Cao J, Yang Y, Tung CL, Jiang S, Tang B, et al. Data management in supply chain using blockchain: Challenges and a case study. In: 2019 28th International Conference on Computer Communication and Networks (ICCCN). IEEE; 2019. p. 1–8.
  36. 36. Jemmali M, Melhim LKB, Alourani A, Alam MM. Equity distribution of quality evaluation reports to doctors in health care organizations. PeerJ Computer Science. 2022;8:e819. pmid:35174262
  37. 37. Jemmali M. Projects distribution algorithms for regional development. ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal. 2021;10(3):293–305.
  38. 38. Jemmali M. Intelligent algorithms and complex system for a smart parking for vaccine delivery center of COVID-19. Complex & Intelligent Systems. 2022;8(1):597–609.
  39. 39. Jemmali M. An optimal solution for the budgets assignment problem. RAIRO-Operations Research. 2021;55(2):873–897.
  40. 40. Alquhayz H, Jemmali M. Max-Min Processors Scheduling. Information Technology and Control. 2021;50(1):5–12.
  41. 41. Saeed H, Malik H, Bashir U, Ahmad A, Riaz S, Ilyas M, et al. Blockchain technology in healthcare: A systematic review. Plos one. 2022;17(4):e0266462. pmid:35404955
  42. 42. Yli-Huumo J, Ko D, Choi S, Park S, Smolander K. Where is current research on blockchain technology?—a systematic review. PloS one. 2016;11(10):e0163477. pmid:27695049
  43. 43. Fu Z, Dong P, Li S, Ju Y. An intelligent cross-border transaction system based on consortium blockchain: A case study in Shenzhen, China. Plos one. 2021;16(6):e0252489. pmid:34106969
  44. 44. Bacanin N, Zivkovic M, Al-Turjman F, Venkatachalam K, Trojovskỳ P, Strumberger I, et al. Hybridized sine cosine algorithm with convolutional neural networks dropout regularization application. Scientific Reports. 2022;12(1):1–20. pmid:35440609
  45. 45. Malakar S, Ghosh M, Bhowmik S, Sarkar R, Nasipuri M. A GA based hierarchical feature selection approach for handwritten word recognition. Neural Computing and Applications. 2020;32:2533–2552.
  46. 46. Levis D, Fontana F, Ughetto E. A look into the future of blockchain technology. Plos one. 2021;16(11):e0258995. pmid:34788307
  47. 47. Jemmali M, Ben Hmida A. Quick dispatching-rules-based solution for the two parallel machines problem under mold constraints. Flexible Services and Manufacturing Journal. 2023; p. 1–26.
  48. 48. Haouari M, Gharbi A, Jemmali M. Bounding Strategies for Scheduling on Identical Parallel Machines. In: 2006 International Conference on Service Systems and Service Management. vol. 2. IEEE; 2006. p. 1162–1166.
  49. 49. Haouari M, Hidri L, Jemmali M. Tighter Lower Bounds via Dual Feasible Functions. PMS 2008. 2008; p. 112.
  50. 50. Hidri L, Jemmali M. Near-optimal solutions and tight lower bounds for the parallel machines scheduling problem with learning effect. RAIRO-Operations Research. 2020;54(2):507–527.
  51. 51. Hmida AB, Jemmali M. Near-optimal solutions for mold constraints on two parallel machines. Studies in Informatics and Control. 2022;31(1):71–78.
  52. 52. Jemmali M, Hidri L. Bounding schemes for the parallel machine scheduling problem with DeJong’s learning effect. Journal of Parallel and Distributed Computing. 2021;156:101–118.
  53. 53. Jaiman V, Pernice L, Urovi V. User incentives for blockchain-based data sharing platforms. Plos one. 2022;17(4):e0266624. pmid:35421150
  54. 54. Lee J, Kim B, Lee AR. Priority evaluation factors for blockchain application services in public sectors. Plos one. 2023;18(3):e0279445. pmid:36862745
  55. 55. Masadeh R, Alsharman N, Sharieh A, Mahafzah BA, Abdulrahman A. Task scheduling on cloud computing based on sea lion optimization algorithm. International Journal of Web Information Systems. 2021;17(2):99–116.
  56. 56. Al-Adwan A, Mahafzah BA, Aladwan A. Load balancing problem on hyper hexa cell interconnection network. International Journal of Advanced Computer Science and Applications. 2020;11(10).
  57. 57. Al-Adwan A, Zaghloul R, Mahafzah BA, Sharieh A. Parallel quicksort algorithm on OTIS hyper hexa-cell optoelectronic architecture. Journal of Parallel and Distributed Computing. 2020;141:61–73.
  58. 58. Derrac J, García S, Molina D, Herrera F. A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms. Swarm and Evolutionary Computation. 2011;1(1):3–18.