Abstract
As one of the emerging technologies that have attracted much attention, blockchain has a wide range of application prospects. However, one prominent issue restricting its development is the limited transaction throughput. Take the well-known open-source system Hyperledger Fabric as an example. In the solution of parallel transaction processing, it follows the processing method of MVCC in the database, which is not compatible with blockchain features, resulting in a sharp drop in throughput and wastes of storage space in high concurrency scenarios. In this paper, we propose a high-throughput optimization scheme FabricETP that can effectively solve concurrency conflicts. According to the different causes of conflicts, FabricETP proposes optimization ideas from two dimensions. For transaction conflicts within a block, FabricETP proposes a scheduling algorithm to minimize the number of conflicting transactions by rearranging the transaction execution order. For transaction conflicts between blocks, FabricETP has established a cache-based conflict transaction avoidance mechanism, so that invalid transactions are aborted early. With the help of general blockchain performance testing tools, we carry out experiments under various workload scenarios. The results show that the throughput of FabricETP can reach up to 9.51 × that of the benchmark blockchain system Fabric and 1.26 × of the optimized version of Fabric + + under high concurrency scenarios. Compared with Fabric + + , the space utilization is increased by 20%.
Similar content being viewed by others
Data availability
Not applicable
References
Bitcoin (2008) https://bitcoin.org. Accessed on February 02, 2022
Ethereum (2013) https://ethereum.org. Accessed on February 15, 2022
Cai XQ, Deng Y, Zhang L et al (2021) The principle and core technology of blockchain. Chin J Comput 44(01):84–131
Hyperledger Fabric (2018) https://github.com/hyperledger/Fabric, accessed on 2022-03-02
Cachin C (2016) Architecture of the hyperledger blockchain fabric. Workshop on distributed cryptocurrencies and consensus ledgers. 310(4):1–4
Androulaki E, Barger A, Bortnikov V et al (2018) Hyperledger Fabric: a distributed operating system for permissioned blockchains. Proc Euro Sys Conf 1–15
Brandenburger M, Cachin C, Kapitza R et al (2018) Blockchain and trusted computing: Problems, pitfalls, and a solution for hyperledger fabric. arXiv preprint arXiv:1805.08541
Jiang L, Chang X, Liu Y et al (2020) Performance analysis of Hyperledger Fabric platform: a hierarchical model approach. Peer Peer Netw Appl 13(3):1014–1025
Valenta M, Sandner P (2017) Comparison of ethereum, hyperledger fabric and corda. Frankfurt School Blockchain Center 8
Nasir Q, Qasse IA, Abu Talib M et al (2018) Performance analysis of hyperledger fabric platforms. Security and Communication Networks 2018
Xu X, Sun G, Luo L et al (2021) Latency performance modeling and analysis for hyperledger fabric blockchain network. Inf Process Manag 58(1):102436
Nasirifard P, Mayer R, Jacobsen HA (2019) FabricCRDT: A conflict-free replicated datatypes approach to permissioned blockchains. Proceedings of the 20th International Middleware Conference 110–122
Sharma A, Schuhknecht FM, Agrawal D et al (2019) Blurring the lines between blockchains and database systems: the case of hyperledger Fabric. Proceedings of the 2019 International Conference on Management of Data 105-122
Xia Q, Dou WS, Guo KW et al (2021) Survey on blockchain consensus protocol. J Softw 32(02):277–299
Lomet D, Fekete A, Wang R et al (2012) Multi-version concurrency via timestamp range conflict management. 2012 IEEE 28th International Conference on Data Engineering. IEEE 714–725
Thakkar P, Nathan S, Viswanathan B (2018) Performance benchmarking and optimizing hyperledger fabric blockchain platform. 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS). IEEE 264–276
Gorenflo C, Lee S, Golab L et al (2020) FastFabric: scaling hyperledger Fabric to 20 000 transactions per second. Int J Network Manag 30(5):2099
Xu L, Chen W, Li Z et al (2021) Solutions for concurrency conflict problem on hyperledger fabric. World Wide Web 24(1):463–482
Sousa J, Bessani A, Vukolic M (2018) A byzantine fault-tolerant ordering service for the hyperledger fabric blockchain platform. 2018 48th annual IEEE/IFIP international conference on dependable systems and networks (DSN). IEEE 51–58
Nakaike T, Zhang Q, Ueda Y et al (2020) Hyperledger fabric performance characterization and optimization using GoLevelDB benchmark. 2020 IEEE International Conference on Blockchain and Cryptocurrency (ICBC). IEEE 1–9
Raman RK, Vaculin R, Hind M et al (2018) Trusted multi-party computation and verifiable simulations: A scalable blockchain approach. arXiv preprint arXiv:1809.08438
Dinh TTA, Wang J, Chen G et al (2017) Blockbench: A framework for analyzing private blockchains. Proceedings of the 2017 ACM International Conference on Management of Data 1085-1100
Meir H, Barger A, Manevich Y et al (2019) Lockless transaction isolation in hyperledger fabric. 2019 IEEE International Conference on Blockchain (Blockchain). IEEE 59–66
Zhang S, Zhou E, Pi B et al (2019) A solution for the risk of non-deterministic transactions in hyperledger fabric. 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC). IEEE 253–261
Reed DP (1978) Naming and synchronization in a decentralized computer system. Massachusetts Institute of Technology
Jin C, Pang S, Qi X et al (2021) A high performance concurrency protocol for smart contracts of permissioned blockchain. IEEE Transactions on Knowledge and Data Engineering
Tarjan R (1972) Depth-first search and linear graph algorithms. SIAM J Comput 1(2):146–160
Page L, Brin S, Motwani R et al (1999) The PageRank citation ranking: Bringing order to the we. Stanford InfoLab
Kahn AB (1962) Topological sorting of large networks. Commun ACM 5(11):558–562
Breslau L, Cao P, Fan L, Phillips G, Shenker S (1999) Web caching and Zipf-like distributions: Evidence and implications. Proceedings of IEEE Conference on Computer Communications (INFOCOM) 126–134
Sharma A, Schuhknecht FM, Agrawal D et al (2018) How to databasify a blockchain: the case of hyperledger fabric. arXiv preprint arXiv:1810.13177
Ruan P, Loghin D, Ta QT et al (2020) A transactional perspective on execute-order-validate blockchains. Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data 543-557
Nguyen TSL, Jourjon G, Potop-Butucaru M et al (2019) Impact of network delays on hyperledger fabric. IEEE INFOCOM 2019-IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS). IEEE 222–227
Schaefer C, Edman C (2019) Transparent logging with hyperledger fabric. 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC). IEEE 65–69
Xu X, Zhu D, Yang X, Wang S, Qi L, Dou W (2021) Concurrent practical byzantine fault tolerance for integration of blockchain and supply chain. ACM Trans Internet Technol 21(1):7 (Feb 2021), 17 pages
Dinh TTA, Liu R, Zhang M et al (2018) Untangling blockchain: a data processing view of blockchain systems. IEEE Trans Knowl Data Eng 30(7):1366–1385
Wang R, Ye K, Meng T et al (2020) Performance evaluation on blockchain systems: A case study on ethereum, fabric, sawtooth and Fisco-Bcos. International Conference on Services Computing. Springer, Cham 120–134
Zhang ZW, Wang GR et al (2020) Survey on data management in blockchain systems. J Softw 31(09):2903–2925
Liu HQ, Ruan N, Zhang L (2021) A survey on attacking strategies in blockchain. Chin J Comput 44(04):786–805
Jeong J, Kim D, Ihm S-Y, Lee Y, Son Y (2021) Multilateral personal portfolio authentication system based on hyperledger fabric. 21(1): Article 14 (Feb 2021), 17 pages
Zhong B, Wu H, Ding L et al (2020) Hyperledger fabric-based consortium blockchain for construction quality information management. Front Eng Manag 7(4):512–552
Fekete A, Liarokapis D, O’Neil E, O’Neil P et al (2005) Making snapshot isolation serializable. ACM Trans Database Syst (TODS) 30(2):492–528, 200
Funding
This work was supported by National Natural Science Foundation of China (No. 61602436, No. 61672490), International Partnership Program of the Chinese Academy of Sciences (No. 241711KYSB20180002) and National Key Research and Development Program of China (No. 2017YFB1401500).
Author information
Authors and Affiliations
Contributions
Wu and Liu jointly completed the design and experimental testing of the scheme and completed the writing of the manuscript. Wu and Liu contributed equally. Prof. Li gives guidance on overall scheme design. All authors reviewed the manuscript.
Corresponding author
Ethics declarations
Ethical approval and consent to participate
Not applicable.
Consent for publication
Not applicable.
Human and animal ethics
Not applicable.
Competing interests
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Additional information
Publisher's note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Wu, H., Liu, H. & Li, J. FabricETP: A high-throughput blockchain optimization solution for resolving concurrent conflicting transactions. Peer-to-Peer Netw. Appl. 16, 858–875 (2023). https://doi.org/10.1007/s12083-022-01401-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12083-022-01401-9