學術產出-Theses

Article View/Open

Publication Export

Google ScholarTM

政大圖書館

Citation Infomation

  • No doi shows Citation Infomation
題名 通過交易速率控制改善 Hyperledger Fabric 區塊鏈
Improving Hyperledger Fabric via Transaction Rate Control
作者 紀秉杰
Ji, Bing-Jie
貢獻者 郭桐惟
Kuo, Tung-Wei
紀秉杰
Ji, Bing-Jie
關鍵詞 Hyperledger Fabric
鎖機制
MVCC Read Conflict
重傳
擁塞控制
Hyperledger Fabric
Lock Mechanism
MVCC Read Conflict
Retransmission
Congestion Control
日期 2023
上傳時間 1-Sep-2023 15:23:03 (UTC+8)
摘要 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.
參考文獻 Reference
[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.
描述 碩士
國立政治大學
資訊科學系
109753128
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0109753128
資料類型 thesis
dc.contributor.advisor 郭桐惟zh_TW
dc.contributor.advisor Kuo, Tung-Weien_US
dc.contributor.author (Authors) 紀秉杰zh_TW
dc.contributor.author (Authors) Ji, Bing-Jieen_US
dc.creator (作者) 紀秉杰zh_TW
dc.creator (作者) Ji, Bing-Jieen_US
dc.date (日期) 2023en_US
dc.date.accessioned 1-Sep-2023 15:23:03 (UTC+8)-
dc.date.available 1-Sep-2023 15:23:03 (UTC+8)-
dc.date.issued (上傳時間) 1-Sep-2023 15:23:03 (UTC+8)-
dc.identifier (Other Identifiers) G0109753128en_US
dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/147026-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學系zh_TW
dc.description (描述) 109753128zh_TW
dc.description.abstract (摘要) Hyperledger Fabric 是目前最著名的許可區塊鏈之一。 由於其樂觀並發控制 (OCC) 功能,它可以實現交易並行處理。但是,OCC 可能會造成交易由於多版本並行控制讀取衝突 (MVCCRC) 而失敗。為了解決 MVCCRC 問題,提出了以下方法:KS 交易隊列和隨機延遲重傳。這些方法旨在避免將容易發生 MVCCRC 的交易並行處理,從而使 MVCCRC 發生率減少最高達 97%,並將每秒有效交易數增加最高達 11 倍。此外, 還引入了擁塞控制來防止 Hyperledger Fabric 網絡擁塞。zh_TW
dc.description.abstract (摘要) 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.en_US
dc.description.tableofcontents 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
zh_TW
dc.format.extent 617957 bytes-
dc.format.mimetype application/pdf-
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0109753128en_US
dc.subject (關鍵詞) Hyperledger Fabriczh_TW
dc.subject (關鍵詞) 鎖機制zh_TW
dc.subject (關鍵詞) MVCC Read Conflictzh_TW
dc.subject (關鍵詞) 重傳zh_TW
dc.subject (關鍵詞) 擁塞控制zh_TW
dc.subject (關鍵詞) Hyperledger Fabricen_US
dc.subject (關鍵詞) Lock Mechanismen_US
dc.subject (關鍵詞) MVCC Read Conflicten_US
dc.subject (關鍵詞) Retransmissionen_US
dc.subject (關鍵詞) Congestion Controlen_US
dc.title (題名) 通過交易速率控制改善 Hyperledger Fabric 區塊鏈zh_TW
dc.title (題名) Improving Hyperledger Fabric via Transaction Rate Controlen_US
dc.type (資料類型) thesisen_US
dc.relation.reference (參考文獻) Reference
[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.
zh_TW