제주대학교 Repository

Transaction Traffic Control Based on Fuzzy Logic for Improving Performance in Blockchain Network

Metadata Downloads
Abstract
The blockchain technology is known as an innovation that powers the cryptocurrency Bitcoin. Blockchain is a potential technology for migrating the processing burden from the central server into a decentralized, secure, and transparent manner. This technology is expected to make a significant impact and lead to a revolution in various types of industries. However, one issue holding them back is their limited transaction throughput, especially compared to established solutions such as distributed database systems. Transaction per second (tps) is one of the performance indexes widely used to evaluate the transaction processing capability of applications in enterprise use cases. Many well-known blockchain platforms such as Bitcoin, Ethereum have been widely adopted into different application domains such as the Internet of Things (IoT), supply chain, healthcare, etc. So far, there has been much confusion about whether the blockchain performs with scale, and admittedly, a lack of information about best practices that can improve the performance and scale. Besides, more analysis and evaluation of the performance of these platforms are urgent. In this paper, we propose two transaction traffic control approaches using fuzzy logic to improve the blockchain performance, such as increasing the transaction throughput while reducing transaction latency. Besides, this paper conducts a comprehensive evaluation of various configurable parameters that can affect network performance. For the first approach, we propose the transaction traffic control based on a fuzzy controller in the smart contract. The proposed fuzzy controller is implemented in the smart contract that makes to adjust the transaction traffic flow according to the network conditions collected in real-time. For the second approach, we propose additional learning to prediction module to enhance the performance of the fuzzy controller in the smart contract. The learning to prediction is implemented in an external module, which is extensible enough to adopt different algorithms. To demonstrate the significance of the proposed transaction traffic control approaches, we apply these two approaches into a blockchain-based clinical trial testbed from our previous work. Lastly, we deploy the proposed approaches with existing performance-enhancing tools, and the results indicate that our approaches are flexible and scalable to be used with any other projects. To be more precise, configurable parameters can be mainly summarized into two categories: software and hardware. For the case of software, it contains various parameters, including block size, block frequency, ledger database, ordering service, the programming language of smart contract, use of Transport Layer Security (TLS), number of clients, number endorser peers, number of organizations, and the endorsement policy. For the case of hardware, it contains the number of vCPUS, memory allocation, disk type and speed, network speed, and CPU speed. We evaluated each configurable parameter to analyze the impact on network performance. For example, the blockchain performance can be significantly affected by increasing the number of peers and the use of TLS since more messages are generated within the entire network. For the first transaction traffic control approach, we deploy the fuzzy controller into the smart contract to regulate the transaction traffic across the network automatically. The fuzzy controller is comprised of the fuzzy inference system and the transaction control module. We observe the blockchain network benchmark results in real-time, and these values are passed to the smart contract. These benchmark results are used as the input variables of the fuzzy controller, and the control command is computed to perform different transaction control operations on the received transactions accordingly. For the second transaction traffic control approach, we extend the architecture of the fuzzy controller by introducing additional learning to prediction module. We use the Kalman Filter as the prediction module to estimate the actual transaction throughput. In contrast, the Artificial Neural Network (ANN) is used as the learning module to tune the parameter of the Kalman Filter. The dataset for the learning to prediction is the performance benchmark results collected in one week. Besides, we perform a 4-fold cross-validation test on the training and testing data to select the best model for the ANN algorithm. We set up an optimized network in terms of the evaluation results of each configurable parameter to achieve better performance. For example, we set the block size to 30 transactions per block, block frequency to 250ms, the number of clients to 5, and use OR endorsement policy to achieve higher transaction throughput and lower transaction latency. We evaluated the performance of the proposed approaches by applying them into a clinical trial testbed from the previous work using different performance metrics. The results of the proposed approaches are compared with two other schemes: the baseline scheme and an optimized scheme. The evaluation results show that the proposed approaches can enhance network performance compared to the baseline and optimized schemes. For the case of baseline scheme using one client, the network with optimized configurable parameters increases the transaction throughput by 19.6% and decrease the transaction latency by 20% compared to the baseline. The transaction throughput is increased by 27.6% and 29.7%; the transaction latency is decreased by 41.5% and 47.7% with the fuzzy logic and learning to prediction approaches, respectively. For the case of the network with optimized configurable parameters using one client, the transaction throughput is increased by 10.9% and 13.7%; the transaction latency is decreased by 40.4% and 46.2% with the fuzzy logic and learning to prediction approaches, respectively. For the case of baseline scheme using five clients, the network with optimized configurable parameters increases the transaction throughput by 9.3% and decrease the transaction latency by 17.4% compared to the baseline network. The transaction throughput is increased by 21.8% and 26.5%; the transaction latency is decreased by 26.8% and 40% with the fuzzy logic and learning to prediction approaches, respectively. For the case of the network with optimized configurable parameters using five clients, the transaction throughput is increased by 13.7% and 18.4%; the transaction latency is decreased 17% and 36.6% with the fuzzy logic and learning to prediction approach. Furthermore, the proposed approaches are deployed with one of the existing performanceenhancing tools called Accelerator. For the case of using one client, the network with Accelerator increases the transaction throughput by 67.2% and decrease the transaction latency by 35.4% compared to the baseline. The transaction throughput is increased by 77.7% and 80.7%; the transaction latency is decreased by 52.3% and 56.9% with the fuzzy logic and learning to prediction approaches, respectively. For the case of using five clients, the network with Accelerator increases the transaction throughput by 82.1%and decreases the transaction latency by 20% compared to the baseline. The transaction throughput is increased by 96.9% and 99.9%; the transaction latency is decreased by 37.9% and 43.6% with the fuzzy logic and learning to prediction approaches, respectively. The results indicate that the proposed approaches are flexible enough to integrate with other approaches.
Author(s)
Lei Hang
Issued Date
2020
Awarded Date
2020. 8
Type
Dissertation
URI
http://dcoll.jejunu.ac.kr/common/orgView/000000009584
Affiliation
제주대학교 대학원
Department
대학원 컴퓨터공학과
Advisor
김도현
Table Of Contents
Abstract 1
1. Introduction . 5
2. Related Work 10
2.1 Blockchain Technology and Platform 10
2.2 Existing Studies of Performance Improvement in Blockchain Network 16
2.3 Performance Evaluation Architecture in Blockchain Network . 25
3. Performance Analysis of Configurable Parameters in Blockchain Network 27
3.1 Blockchain Network Performance Metrics . 27
3.2 Configurable Parameters in Blockchain Network 28
3.3 Experiment Environment in Blockchain Network . 30
3.4 Performance Evaluation of Configurable Parameters in Blockchain Network . 31
4. Transaction Traffic Control Mechanism based on Fuzzy Logic in Blockchain Network
48
4.1 Proposed Transaction Traffic Control Mechanism based on Fuzzy Logic 48
4.2 Development of the Transaction Traffic Control Mechanism based on Fuzzy Logic
59
4.3 Performance Analysis of the Transaction Traffic Control Mechanism based on
Fuzzy Logic 63
5. Transaction Traffic Control Mechanism based on Learning to Prediction in
Blockchain Network 77
5.1 Proposed Transaction Traffic Control Mechanism based on Learning to Prediction
77
5.2 Development of the Transaction Traffic Control Mechanism based on Learning to
Prediction . 88
5.3 Performance Analysis of the Transaction Traffic Control Mechanism based on
Learning to Prediction 96
6. Performance Evaluation of the Proposed Approach in Clinical Trial Testbed . 110
6.1 Clinical Trial Testbed Environment for Blockchain Performance Evaluation . 110
6.2 Experiment Environment of Clinical Trial Testbed 126
6.3 Evaluation Results of the Proposed Approach in Clinical Trial Testbed . 132
6.3.1 Evaluation Results of the Optimized Network in Clinical Trial Testbed . 132
6.3.2 Evaluation Results of the Fuzzy Logic in Clinical Trial Testbed 135
6.3.3 Evaluation Results of the Learning to Prediction in Clinical Trial Testbed 141
7. Conclusion. 152
References . 155
Degree
Doctor
Publisher
제주대학교 대학원
Citation
Lei Hang. (2020). Transaction Traffic Control Based on Fuzzy Logic for Improving Performance in Blockchain Network
Appears in Collections:
General Graduate School > Computer Engineering
공개 및 라이선스
  • 공개 구분공개
파일 목록

Items in Repository are protected by copyright, with all rights reserved, unless otherwise indicated.