# Multi-Blockchain Structure for a Crowdsensing-Based Smart Parking System
## 5 Performance Evaluation
### Experimental Analysis  
First, we measure the execution time on the contributor side of the proposed system. Figure 9 is a time measurement of the contributor's data contribution processing illustrated in Figure 6 (numbers 1-10), where the session information is disclosed at the public blockchain after the contributor requests a session to provide the data. That is, the measurement starts from when a request is made to the Ethereum, through the calling of the command from the contributor, and the transaction can be confirmed in the Ethereum block. The bridge node then finds the transaction and delivers it to the Hyperledger Fabric. We measure the time until the session information generated by the service provider is disclosed to the bridge node through the Hyperledger Fabric. The graph shows the results of 100 executions, and the difference in execution time can be seen in each execution. To analyze the factor that has the greatest influence on the execution time, the experiment is divided into parts (i.e., Ethereum part and Hyperledger Fabric part). Figure 8: Sequence diagram for the data request of a user. Figures 10 and 11 show the execution time portions for data contribution processing for each execution in Ethereum (1-3 in Figure 6) and Hyperledger Fabric (4-10 in Figure 6), respectively. These time portions are measured when the process has been divided into the Ethereum and Hyperledger Fabric parts. The average and standard deviation for the Hyperledger Fabric data in Figure 11 are approximately 3.7896 and 0.197, respectively, whereas the average and standard deviation of the execution time in the Ethereum portion, shown in Figure 10, are 23.698 and 24.757, respectively. Through this experiment, most of the execution time of the blockchain-based application was observed to be highly dependent on the transaction speed of the public blockchain Ethereum; i.e., fluctuating and time consuming. When these results are analyzed, they can be found to reflect a case where block creation consumed a large amount of time while being pushed from the priority of other transactions in the Ethereum test network. Unlike in the test network, if the transaction is performed on the main network of Ethereum, the block creation time will be about 15 s [25], resulting in uniform results. Moreover, if another blockchain with a faster block creation time (e.g., ripple, with as little as 3.5 s [26]) were to be used for the public blockchain part of the proposed system, the execution time could be reduced. Figure 12 shows the amount of time for the user to request 10 instances of data and receive them (numbers 1-6 in Figure 7). The graph shows that the standard deviation is small and that it takes the quantitative time. That is, it is possible to confirm a fast and stable execution in the Hyperledger Fabric for the data acquisition of the user. As the second experiment, to analyze the overhead of the proposed system with the multi-blockchain structure, we compare the proposed system with a system operating on a single blockchain. To do this, as shown in Figure 13, two structural block data structures are constructed, and the execution speeds of the contracts operating in each data structure are measured. Ethereum test network Ropsten is used for the single blockchain, whereas the multi-blockchain test network is the same as in the first experiment (i.e., Ethereum test network Ropsten and Hyperledger Fabric). Figure 14 refers to the block data structure specified in Figure 13, and shows the difference in the transaction confirmation times between the proposed model and the single blockchain model in the public blockchain. In the Ethereum Ropsten test network, a delay phenomenon, in which the transaction execution times of less than about 5% of the total experimental results exceeded 2 min, occurred because of transaction delays. Because the results are difficult to see in terms of a general situation, we compare the experimental results by removing the outliers (i.e., top 5% of the execution times).