skip to main content
10.1145/3448016.3452823acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

Why Do My Blockchain Transactions Fail?: A Study of Hyperledger Fabric

Published: 18 June 2021 Publication History

Abstract

Permissioned blockchain systems promise to provide both decentralized trust and privacy. Hyperledger Fabric is currently one of the most wide-spread permissioned blockchain systems and is heavily promoted both in industry and academia. Due to its optimistic concurrency model, the transaction failure rates in Fabric can become a bottleneck. While there is active research to reduce failures, there is a lack of understanding on their root cause and, consequently, a lack of guidelines on how to configure Fabric optimally for different scenarios. To close this gap, in this paper, we first introduce a formal definition of the different types of transaction failures in Fabric. Then, we develop a comprehensive testbed and benchmarking system, HyperLedgerLab, along with four different chaincodes that represent realistic use cases and a chaincode/workload generator. Using HyperLedgerLab, we conduct exhaustive experiments to analyze the impact of different parameters of Fabric such as block size, endorsement policies, and others, on transaction failures. We further analyze three recently proposed optimizations from the literature, Fabric++, Streamchain and FabricSharp, and evaluate under which conditions they reduce the failure rates. Finally, based on our results, we provide recommendations for Fabric practitioners on how to configure the system and also propose new research directions.

Supplementary Material

MP4 File (3448016.3452823.mp4)
Permissioned blockchain systems promise to provide both decentralized trust and privacy. However, users desire a high throughput of successful transactions as well as a low rate of failed transactions which can be at odds with decentralized trust and strong privacy guarantees. Hyperledger Fabric is currently one of the most wide-spread permissioned blockchain systems and is heavily promoted both in industry and academia. Due to its optimistic concurrency model, the transaction failure rates in Fabric can become a bottleneck. While there is active research to reduce failures, there is a lack of understanding on their root cause and, consequently, a lack of guidelines on how to configure Fabric optimally for different scenarios. To close this gap, in this paper, we first introduce a formal definition of the different types of transaction failures in Fabric. Then, we develop a comprehensive testbed and benchmarking system, FabricLab, along with four different chaincodes that represent realistic use cases and a chaincode/workload generator. Using FabricLab, we conduct exhaustive experiments to analyze the impact of different parameters of Fabric such as block size, endorsement policies, and others, on transaction failures. We further analyze three recently proposed optimizations from the literature, Fabric++, Streamchain and FabricSharp, and test under which conditions they reduce the failure rates. Finally, based on our results, we provide recommendations for Fabric practitioners on how to configure the system and also propose new research directions.

References

[1]
Elli Androulaki, Artem Barger, Vita Bortnikov, Christian Cachin, Konstantinos Christidis, Angelo De Caro, David Enyeart, Christopher Ferris, Gennady Laventman, Yacov Manevich, Srinivasan Muralidharan, Chet Murthy, Binh Nguyen, Manish Sethi, Gari Singh, Keith Smith, Alessandro Sorniotti, Chrysoula Stathakopoulou, Marko Vukolic, SharonWeed Cocco, and Jason Yellick. 2018. Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains. In Proceedings of the Thirteenth EuroSys Conference (EuroSys '18). ACM, New York, NY, USA, Article 30, 15 pages. https://doi.org/10.1145/3190508.3190538
[2]
Apache CouchDB 2020. https://couchdb.apache.org/. (2020). [Online; accessed 24-February-2021].
[3]
Asaph Azaria, Ariel Ekblaw, Thiago Vieira, and Andrew Lippman. 2016. Medrec: Using blockchain for medical data access and permission management. In 2016 2nd International Conference on Open and Big Data (OBD). IEEE, 25--30.
[4]
A. Baliga, N. Solanki, S. Verekar, A. Pednekar, P. Kamat, and S. Chatterjee. 2018. Performance Characterization of Hyperledger Fabric. In 2018 Crypto Valley Conference on Blockchain Technology (CVCBT). 65--74. https://doi.org/10.1109/CVCBT. 2018.00013
[5]
Richard Gendal Brown, James Carlyle, Ian Grigg, and Mike Hearn. 2016. Corda: an introduction. R3 CEV, August 1 (2016), 15.
[6]
Build the future of Open Infrastructure 2020. https://www.openstack.org/. (2020). [Online; accessed 24-February-2021].
[7]
Jeeta Ann Chacko, Ruben Mayer, and Hans-Arno Jacobsen. 2021. Why Do My Blockchain Transactions Fail? A Study of Hyperledger Fabric (Extended version). (2021). arXiv:2103.04681
[8]
CISAC 2021. https://www.cisac.org/services/information-services/ipi. (2021). [Online; accessed 24-February-2021].
[9]
CouchDB as the State Database 2020. https://hyperledger-fabric.readthedocs. io/en/release-2.2/couchdb_as_state_database.html. (2020). [Online; accessed 01-October-2020].
[10]
Syed Muhammad Danish, Kaiwen Zhang, and Hans-Arno Jacobsen. 2020. BlockAM: An Adaptive Middleware for Intelligent Data Storage Selection for Internet of Things. In 2020 IEEE International Conference on Decentralized Applications and Infrastructures (DAPPS). 61--71. https://doi.org/10.1109/DAPPS49028. 2020.00007
[11]
Dean, J. and Ghemawat. 2020. https://github.com/google/leveldb. (2020). [Online; accessed 24-February-2021].
[12]
Tien Tuan Anh Dinh, JiWang, Gang Chen, Rui Liu, Beng Chin Ooi, and Kian-Lee Tan. 2017. BLOCKBENCH: A Framework for Analyzing Private Blockchains. In Proceedings of the 2017 ACM International Conference on Management of Data (SIGMOD '17). ACM, New York, NY, USA, 1085--1100. https://doi.org/10.1145/ 3035918.3064033
[13]
Dot blockchain media 2020. https://dotblockchainmusic.com/. (2020). [Online; accessed 24-February-2021].
[14]
Georgios Giannikis, Gustavo Alonso, and Donald Kossmann. 2012. SharedDB: Killing One Thousand Queries with One Stone. Proc. VLDB Endow. 5, 6 (Feb. 2012). https://doi.org/10.14778/2168651.2168654
[15]
Seep Goel, Abhishek Singh, Rachit Garg, Mudit Verma, and Praveen Jayachandran. 2018. Resource Fairness and Prioritization of Transactions in Permissioned Blockchain Systems (Industry Track). In Proceedings of the 19th International Middleware Conference Industry (Middleware '18). ACM, New York, NY, USA, 46--53. https://doi.org/10.1145/3284028.3284035
[16]
Christian Gorenflo, Lukasz Golab, and Srinivasan Keshav. 2019. XOX Fabric: A hybrid approach to transaction execution. arXiv preprint arXiv:1906.11229 (2019).
[17]
Christian Gorenflo, Stephen Lee, Lukasz Golab, and Srinivasan Keshav. 2019. FastFabric: Scaling Hyperledger Fabric to 20,000 Transactions per Second. In 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC). 455--463. https://doi.org/10.1109/BLOC.2019.8751452
[18]
Gideon Greenspan. 2015. Multichain private blockchain-white paper. URl: http://www. multichain. com/download/MultiChain-White-Paper. pdf (2015).
[19]
Theo Härder. 1984. Observations on optimistic concurrency control schemes. Information Systems 9, 2 (1984), 111 -- 120. https://doi.org/10.1016/0306--4379(84) 90020--6
[20]
Hyperledger Caliper 2020. https://hyperledger.github.io/caliper/. (2020). [Online; accessed 24-February-2021].
[21]
Hyperledger Fabric 2020. https://github.com/hyperledger/fabric#releases. (2020). [Online; accessed 24-February-2021].
[22]
Hyperledger Fabric Glossary 2020. https://hyperledger-fabric.readthedocs.io/en/ release-2.0/glossary.html. (2020). [Online; accessed 24-February-2021].
[23]
HyperLedgerLab 2021. https://github.com/MSRG/HyperLedgerLab. (2021). [Online; accessed 24-February-2021].
[24]
Zsolt István, Alessandro Sorniotti, and Marko Vukolic. 2018. Streamchain: Do blockchains need blocks?. In Proceedings of the 2nd Workshop on Scalable and Resilient Infrastructures for Distributed Ledgers. 1--6.
[25]
Leslie Lamport. 2001. Paxos made simple. ACM Sigact News 32, 4 (2001), 18--25.
[26]
Yusen Li and Wentong Cai. 2011. Determining optimal update period for minimizing inconsistency in multi-server distributed virtual environments. In 2011 IEEE/ACM 15th International Symposium on Distributed Simulation and Real Time Applications. IEEE, 126--133.
[27]
Tomas Mikula and Rune Hylsberg Jacobsen. 2018. Identity and access management with blockchain in electronic healthcare records. In 2018 21st Euromicro Conference on Digital System Design (DSD). IEEE, 699--706.
[28]
Daniel-Jesus Munoz, Denisa-Andreea Constantinescu, Rafael Asenjo, and Lidia Fuentes. 2019. ClinicAppChain: A Low-Cost Blockchain Hyperledger Solution for Healthcare. In International Congress on Blockchain and Applications. Springer.
[29]
Shojiro Muro, Tiko Kameda, and Toshimi Minoura. 1984. Multi-version concurrency control scheme for a database system. J. Comput. System Sci. 29, 2 (1984), 207 -- 224. https://doi.org/10.1016/0022-0000(84)90031-X
[30]
Satoshi Nakamoto. 2009. Bitcoin: A Peer-to-Peer Electronic Cash System. Cryptography Mailing list at https://metzdowd.com (03 2009).
[31]
Pezhman Nasirifard, Ruben Mayer, and Hans-Arno Jacobsen. 2019. FabricCRDT: A Conflict-Free Replicated Datatypes Approach to Permissioned Blockchains. In Proceedings of the 20th International Middleware Conference (Middleware '19). Association for Computing Machinery, New York, NY, USA, 110-122. https: //doi.org/10.1145/3361525.3361540
[32]
Diego Ongaro and John Ousterhout. 2014. In Search of an Understandable Consensus Algorithm. In Proceedings of the 2014 USENIX Conference on USENIX Annual Technical Conference (USENIX ATC'14). USENIX Association, Berkeley, CA, USA, 305--320. http://dl.acm.org/citation.cfm?id=2643634.2643666
[33]
Peer channel-based event services 2020. https://hyperledger-fabric.readthedocs. io/en/release-1.4/peer_event_services.html. (2020). [Online; accessed 24- February-2021].
[34]
Guido Perboli, Stefano Musso, and Mariangela Rosano. 2018. Blockchain in logistics and supply chain: A lean approach for designing real-world use cases. IEEE Access 6 (2018), 62018--62028.
[35]
Suporn Pongnumkul, Chaiyaphum Siripanpornchana, and Suttipong Thajchayapong. 2017. Performance analysis of private blockchain platforms in varying workloads. In 2017 26th International Conference on Computer Communication and Networks (ICCCN). IEEE, 1--6.
[36]
David M. W. Powers. 1998. Applications and Explanations of Zipf's Law. In Proceedings of the Joint Conferences on New Methods in Language Processing and Computational Natural Language Learning (NeMLaP3/CoNLL '98). Association for Computational Linguistics, USA.
[37]
Production-Grade Container Orchestration 2020. https://kubernetes.io/. (2020). [Online; accessed 24-February-2021].
[38]
Pumba: Chaos testing tool for Docker 2020. https://github.com/alexei-led/pumba. (2020). [Online; accessed 24-February-2021].
[39]
Quorum whitepaper 2016. https://www.blocksg.com/single-post/2017/12/27/ Quorum-Whitepaper. (2016). [Online; accessed 24-February-2021].
[40]
Shishir Rai, Kendric Hood, Mikhail Nesterenko, and Gokarna Sharma. 2019. Blockguard: Adaptive Blockchain Security. CoRR abs/1907.13232 (2019).
[41]
Michel Rauchs, Apolline Blandin, Keith Bear, and Stephen B McKeon. 2019. 2nd Global Enterprise Blockchain Benchmarking Study. Available at SSRN 3461765 (2019).
[42]
Robin Rehrmann, Carsten Binnig, Alexander Böhm, Kihong Kim, Wolfgang Lehner, and Amr Rizk. 2018. OLTPshare: The Case for Sharing in OLTPWorkloads. Proc. VLDB Endow. 11, 12 (Aug. 2018). https://doi.org/10.14778/3229863.3229866
[43]
Pingcheng Ruan, Dumitrel Loghin, Quang-Trung Ta, Meihui Zhang, Gang Chen, and Beng Chin Ooi. 2020. A Transactional Perspective on Execute-Order-Validate Blockchains. In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data (SIGMOD '20). Association for Computing Machinery, New York, NY, USA, 543--557. https://doi.org/10.1145/3318464.3389693
[44]
Ankur Sharma, Felix Martin Schuhknecht, Divya Agrawal, and Jens Dittrich. 2019. Blurring the Lines Between Blockchains and Database Systems: The Case of Hyperledger Fabric. In Proceedings of the 2019 International Conference on Management of Data (SIGMOD '19). ACM, New York, NY, USA, 105--122. https: //doi.org/10.1145/3299869.3319883
[45]
shim - GoDoc 2020. https://godoc.org/github.com/hyperledger/fabric-chaincodego/ shim#ChaincodeStub.GetQueryResult. (2020). [Online; accessed 24-February- 2021].
[46]
Michael Stonebraker and Ugur Çetintemel. 2005. "One Size Fits All": An Idea Whose Time Has Come and Gone. In Proceedings of the 21st International Conference on Data Engineering (ICDE '05). IEEE Computer Society, USA, 2--11. https://doi.org/10.1109/ICDE.2005.1
[47]
P. Thakkar, S. Nathan, and B. Viswanathan. 2018. Performance Benchmarking and Optimizing Hyperledger Fabric Blockchain Platform. In 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS). 264--276. https://doi.org/10.1109/ MASCOTS.2018.00034
[48]
Ujo liberating music: Connecting artists and fans directly using Ethereum 2020. https://ujomusic.com/. (2020). [Online; accessed 24-February-2021].
[49]
University of Cambridge Judge Business School: Cambridge Centre for Alternative Finance. 2020. https://www.jbs.cam.ac.uk/faculty-research/centres/ alternative-finance/. (2020). [Online; accessed 24-February-2021].
[50]
Verifi media: harmonizing media + ownership 2020. https://verifi.media/. (2020). [Online; accessed 24-February-2021].
[51]
Guang Yang and Chunlei Li. 2018. A design of blockchain-based architecture for the security of electronic health record (EHR) systems. In 2018 IEEE International Conference on Cloud Computing Technology and Science (CloudCom). IEEE.
[52]
Emre Yavuz, Ali Kaan Koç, Umut Can Çabuk. 2018. Towards secure e-voting using ethereum blockchain. In 2018 6th International Symposium on Digital Forensic and Security (ISDFS). IEEE, 1--7.
[53]
Yang Yu, Zhu Li, Larry Shi, Yi-Chiun Chen, and Hua Xu. 2007. Network-aware state update for large scale mobile games. In 2007 16th International Conference on Computer Communications and Networks. IEEE, 563--568.
[54]
Kaiwen Zhang and Hans-Arno Jacobsen. 2018. Towards Dependable, Scalable, and Pervasive Distributed Ledgers with Blockchains. In 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS). 1337--1346. https://doi. org/10.1109/ICDCS.2018.00134

Cited By

View all
  • (2025)Dependency Reduction Techniques for Performance Improvement of Hyperledger Fabric BlockchainBig Data and Cognitive Computing10.3390/bdcc90200329:2(32)Online publication date: 7-Feb-2025
  • (2025)Fault Tolerance Testing and Tuning for Consortium BlockchainBlockchain: Research and Applications10.1016/j.bcra.2024.100267(100267)Online publication date: Jan-2025
  • (2024)BlockLoader: A Comprehensive Evaluation Framework for Blockchain Performance Under Various Workload PatternsMathematics10.3390/math1221340312:21(3403)Online publication date: 31-Oct-2024
  • Show More Cited By

Index Terms

  1. Why Do My Blockchain Transactions Fail?: A Study of Hyperledger Fabric

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SIGMOD '21: Proceedings of the 2021 International Conference on Management of Data
    June 2021
    2969 pages
    ISBN:9781450383431
    DOI:10.1145/3448016
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 18 June 2021

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. blockchains
    2. concurrency
    3. transaction failures

    Qualifiers

    • Research-article

    Funding Sources

    • Deutsche Forschungsgemeinschaft (DFG, German Research Foundation)

    Conference

    SIGMOD/PODS '21
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 785 of 4,003 submissions, 20%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)191
    • Downloads (Last 6 weeks)28
    Reflects downloads up to 10 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)Dependency Reduction Techniques for Performance Improvement of Hyperledger Fabric BlockchainBig Data and Cognitive Computing10.3390/bdcc90200329:2(32)Online publication date: 7-Feb-2025
    • (2025)Fault Tolerance Testing and Tuning for Consortium BlockchainBlockchain: Research and Applications10.1016/j.bcra.2024.100267(100267)Online publication date: Jan-2025
    • (2024)BlockLoader: A Comprehensive Evaluation Framework for Blockchain Performance Under Various Workload PatternsMathematics10.3390/math1221340312:21(3403)Online publication date: 31-Oct-2024
    • (2024)A Survey of Consortium Blockchain and Its ApplicationsCryptography10.3390/cryptography80200128:2(12)Online publication date: 22-Mar-2024
    • (2024)HTFabric: A Fast Re-ordering and Parallel Re-execution Method for a High-Throughput BlockchainProceedings of the 33rd ACM International Conference on Information and Knowledge Management10.1145/3627673.3679606(2118-2127)Online publication date: 21-Oct-2024
    • (2024)Traceability and Performance Optimization: Application of Generative AI, Digital Twin, and DRL in the Recycling Process of WEEEIEEE Internet of Things Magazine10.1109/IOTM.001.23002617:3(22-28)Online publication date: May-2024
    • (2024)Dynamic Optimization for Trade-off in Hyperledger Fabric towards Latency-Sensitive IoT Services2024 IEEE International Conference on Web Services (ICWS)10.1109/ICWS62655.2024.00108(899-909)Online publication date: 7-Jul-2024
    • (2024)TuneChain: An Online Configuration Auto-Tuning Approach for Permissioned Blockchain Systems2024 IEEE International Conference on Web Services (ICWS)10.1109/ICWS62655.2024.00072(512-523)Online publication date: 7-Jul-2024
    • (2024)Enabling High-Performance EOV Blockchains via Transaction Ordering Exploration2024 IEEE 44th International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS60910.2024.00041(356-366)Online publication date: 23-Jul-2024
    • (2024)Better Clients, Less Conflicts: Hyperledger Fabric Conflict Avoidance2024 IEEE International Conference on Blockchain and Cryptocurrency (ICBC)10.1109/ICBC59979.2024.10634445(368-376)Online publication date: 27-May-2024
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media