| 研究生: |
紀秉杰 Ji, Bing-Jie |
|---|---|
| 論文名稱: |
通過交易速率控制改善 Hyperledger Fabric 區塊鏈 Improving Hyperledger Fabric via Transaction Rate Control |
| 指導教授: |
郭桐惟
Kuo, Tung-Wei |
| 口試委員: |
陳恭
Chen, Kung 周詩梵 Chou, Shih-Fan |
| 學位類別: |
碩士
Master |
| 系所名稱: |
資訊學院 - 資訊科學系 Department of Computer Science |
| 論文出版年: | 2023 |
| 畢業學年度: | 111 |
| 語文別: | 英文 |
| 論文頁數: | 46 |
| 中文關鍵詞: | Hyperledger Fabric 、鎖機制 、MVCC Read Conflict 、重傳 、擁塞控制 |
| 外文關鍵詞: | Hyperledger Fabric, Lock Mechanism, MVCC Read Conflict, Retransmission, Congestion Control |
| 相關次數: | 點閱:260 下載:4 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
Hyperledger Fabric 是目前最著名的許可區塊鏈之一。 由於其樂觀並發控制 (OCC) 功能,它可以實現交易並行處理。但是,OCC 可能會造成交易由於多版本並行控制讀取衝突 (MVCCRC) 而失敗。為了解決 MVCCRC 問題,提出了以下方法:KS 交易隊列和隨機延遲重傳。這些方法旨在避免將容易發生 MVCCRC 的交易並行處理,從而使 MVCCRC 發生率減少最高達 97%,並將每秒有效交易數增加最高達 11 倍。此外, 還引入了擁塞控制來防止 Hyperledger Fabric 網絡擁塞。
Hyperledger Fabric is currently one of the most prominent permissioned blockchains. It enables concurrent transaction processing due to its Optimistic Concurrency Control (OCC) feature. However, for OCC, transactions can fail due to conflicts arising from Multi-Version Concurrency Control Read conflicts (MVCCRC). To address the issue of MVCCRC, the following methods have been proposed: KS transaction queues and retransmission with random delay. These methods aim to avoid concurrent processing of transactions that are prone to MVCCRC, thereby resulting in a reduction of MVCCRC occurrences by up to 97% and increase in VTPS (Valid Transactions Per Second) by up to 11X. Additionally, congestion control methods have been introduced to prevent network congestion in the Hyperledger Fabric network.
Contents
誌謝 i
摘要 ii
Abstract iii
Contents iv
List of Tables vi
List of Figures vii
1 Introduction 1
2 Background 4
2.1 Structure of Hyperledger Fabric 4
2.2 Transaction Flow 5
2.2.1 The First Phase: Simulate Transactions 5
2.2.2 The Second Phase: Order Transactions 6
2.2.3 The Third Phase: Validate Transactions 7
2.2.4 The Fourth Phase: Commit Transactions 7
2.3 Multi-version Concurrency Control Read Conflict (MVCCRC) 7
3 Transaction Rate Control Mechanism 9
3.1 MVCCRC Avoidance 9
3.1.1 Key-Specific (KS) Transaction Queue 10
3.1.2 Retransmission with Random Delay 13
3.2 Congestion Control 14
4 Design and Implementation 16
4.1 Transaction Queue and Dispatcher 16
4.2 Retransmit with Random Delay 19
4.3 Congestion Control 20
5 Evaluation 22
5.1 Experimental Setup 22
5.1.1 Cluster Setup 22
5.1.2 Chaincode Functions 23
5.1.3 Fabric’s Settings . 25
5.1.4 Retransmission Policy 25
5.1.5 Comparison Method 26
5.2 Experimental Results 27
5.2.1 Balanced Transaction Workload 27
5.2.2 Read-heavy Transaction Workload 30
5.2.3 Write-heavy Transaction Workload 33
5.2.4 Additional Experiments 36
5.2.5 Summary 39
6 Related Work 41
7 Conclusions 43
Reference 44
[1] Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. Decentralized business review, 2008.
[2] Vitalik Buterin et al. A next-generation smart contract and decentralized application platform. white paper, 3(37):2–1, 2014.
[3] Elli Androulaki, Artem Barger, Vita Bortnikov, Christian Cachin, Konstantinos Christidis, Angelo De Caro, David Enyeart, Christopher Ferris, Gennady Laventman, Yacov Manevich, et al. Hyperledger fabric: a distributed operating system for permissioned blockchains. In Proceedings of the thirteenth EuroSys conference, pages 1–15, 2018.
[4] Mike Hearn and Richard Gendal Brown. Corda: A distributed ledger. Corda Technical White Paper, 2016, 2016.
[5] JP Morgan. Quorum whitepaper. New York: JP Morgan Chase, 2016.
[6] Hsiang-Tsung Kung and John T Robinson. On optimistic methods for concurrency control. ACM Transactions on Database Systems (TODS), 6(2):213–226, 1981.
[7] Philip A Bernstein and Nathan Goodman. Concurrency control in distributed database systems. ACM Computing Surveys (CSUR), 13(2):185–221, 1981.
[8] Ankur Sharma, Felix Martin Schuhknecht, Divya Agrawal, and Jens Dittrich. Blurring the lines between blockchains and database systems: the case of hyperledger fabric. In Proceedings of the 2019 International Conference on Management of Data, pages 105–122, 2019.
[9] Pingcheng Ruan, Dumitrel Loghin, Quang-Trung Ta, Meihui Zhang, Gang Chen, and Beng Chin Ooi. A transactional perspective on execute-order-validate blockchains. In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, pages 543–557, 2020.
[10] Leonard Kleinrock and Fouad Tobagi. Packet switching in radio channels: Part icarrier sense multiple-access modes and their throughput-delay characteristics. IEEE transactions on Communications, 23(12):1400–1416, 1975.
[11] Sally Floyd. Rfc2914: Congestion control principles, 2000.
[12] Vern Paxson, Mark Allman, and W Stevens. Tcp congestion control. 1999.
[13] Smallbank. https://hstore.cs.brown.edu/documentation/deployment/benchmarks/smallbank/, 2012.
[14] Michael J Cahill, Uwe Röhm, and Alan D Fekete. Serializable isolation for snapshot databases. ACM Transactions on Database Systems (TODS), 34(4):1–42, 2009.
[15] Fabric-sdk. https://hyperledger.github.io/fabric-sdk-node/, 2019.
[16] Qiucheng Sun and Yuyu Yuan. Gbcl: Reduce concurrency conflicts in hyperledger fabric. In 2022 IEEE 13th International Conference on Software Engineering and Service Science (ICSESS), pages 15–19. IEEE, 2022.
[17] Lu Xu, Wei Chen, Zhixu Li, Jiajie Xu, An Liu, and Lei Zhao. Solutions for concurrency conflict problem on hyperledger fabric. World Wide Web, 24:463–482, 2021.
[18] Zhigang Xu, Duoyue Liao, Xinhua Dong, Hongmu Han, Zhongzhen Yan, and Kangze Ye. Lmqf: Hyperledger fabric concurrent transaction conflict solution based on distributed lock and message queue. In 2023 26th International Conference on Computer Supported Cooperative Work in Design (CSCWD), pages 1855–1860. IEEE, 2023.
[19] Lucas Kuhring, Zsolt István, Alessandro Sorniotti, and Marko Vukolić. Streamchain: Building a low-latency permissioned blockchain for enterprise use-cases. In 2021 IEEE International Conference on Blockchain (Blockchain), pages 130–139. IEEE, 2021.
[20] Jeeta Ann Chacko, Ruben Mayer, and Hans-Arno Jacobsen. Why do my blockchain transactions fail? a study of hyperledger fabric. In Proceedings of the 2021 international conference on management of data, pages 221–234, 2021.
[21] Christian Gorenflo, Lukasz Golab, and Srinivasan Keshav. Xox fabric: A hybrid approach to blockchain transaction execution. In 2020 IEEE International Conference on Blockchain and Cryptocurrency (ICBC), pages 1–9. IEEE, 2020.
[22] Jeeta Ann Chacko, Ruben Mayer, and Hans-Arno Jacobsen. How to optimize my blockchain? a multi-level recommendation approach. volume 1, pages 1–27. ACM New York, NY, USA, 2023.