Performance Tuning and Scaling Enterprise Blockchain Applications

Blockchain scalability can be complicated and costly. As enterprises begin to adopt blockchain technology to solve business problems, there are valid concerns if blockchain applications can support the transactional demands of production systems. In fact, the multiple distributed components and protocols that underlie blockchain applications makes performance optimization a non-trivial task. Blockchain performance optimization and scalability require a methodology to reduce complexity and cost. Furthermore, existing performance results often lack the requirements, load, and infrastructure of a production application. In this paper, we first develop a methodical approach to performance tuning enterprise blockchain applications to increase performance and transaction capacity. The methodology is applied to an enterprise blockchain-based application (leveraging Hyperledger Fabric) for performance tuning and optimization with the goal of bridging the gap between laboratory and production deployed system performance. We then present extensive results and analysis of our performance testing for on-premise and cloud deployments, in which we were able to scale the application from 30 to 3000 TPS without forking the Hyperledger Fabric source code and maintaining a reasonable infrastructure footprint. We also provide blockchain application and platform recommendations for performance improvement.

[1]  Chengchen Hu,et al.  Optimizing Validation Phase of Hyperledger Fabric , 2019, 2019 IEEE 27th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).

[2]  Jens Happe,et al.  The Performance Cockpit Approach: A Framework For Systematic Performance Evaluations , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[3]  Brian W. Kernighan,et al.  The Go Programming Language , 2015 .

[4]  J. Chris Anderson,et al.  CouchDB: The Definitive Guide , 2010 .

[5]  John K. Ousterhout,et al.  In Search of an Understandable Consensus Algorithm , 2014, USENIX ATC.

[6]  C. Stathakopoulou,et al.  Threshold Signatures for Blockchain Systems , 2017 .

[7]  Beng Chin Ooi,et al.  BLOCKBENCH: A Framework for Analyzing Private Blockchains , 2017, SIGMOD Conference.

[8]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .

[9]  Ittai Abraham,et al.  The Blockchain Consensus Layer and BFT , 2017, Bull. EATCS.

[10]  Balaji Viswanathan,et al.  Performance Benchmarking and Optimizing Hyperledger Fabric Blockchain Platform , 2018, 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).

[11]  Fridtjof Nystrøm,et al.  Network Performance in Hyperledger Fabric - Investigating the network resource consumption of transactions in a Distributed Ledger Technology system , 2019 .

[12]  Ittai Abraham,et al.  HotStuff: BFT Consensus in the Lens of Blockchain , 2018, 1803.05069.

[13]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[14]  Elaine Shi,et al.  On Scaling Decentralized Blockchains - (A Position Paper) , 2016, Financial Cryptography Workshops.

[15]  Suporn Pongnumkul,et al.  Performance Analysis of Private Blockchain Platforms in Varying Workloads , 2017, 2017 26th International Conference on Computer Communication and Networks (ICCCN).

[16]  Vitalik Buterin,et al.  Casper the Friendly Finality Gadget , 2017, ArXiv.

[17]  Jens Happe,et al.  Towards Performance Prediction of Large Enterprise Applications Based on Systematic Measurements , 2010 .

[18]  Dorina C. Petriu,et al.  The Future of Software Performance Engineering , 2007, Future of Software Engineering (FOSE '07).

[19]  Jae Kwon,et al.  Tendermint : Consensus without Mining , 2014 .

[20]  Arati Baliga,et al.  Performance Characterization of Hyperledger Fabric , 2018, 2018 Crypto Valley Conference on Blockchain Technology (CVCBT).

[21]  Qassim Nasir,et al.  Performance Analysis of Hyperledger Fabric Platforms , 2018, Secur. Commun. Networks.

[22]  Lukasz Golab,et al.  XOX Fabric: A hybrid approach to transaction execution , 2019, ArXiv.

[23]  Marko Vukolic,et al.  Hyperledger fabric: a distributed operating system for permissioned blockchains , 2018, EuroSys.

[24]  Harish Sukhwani,et al.  Performance Modeling & Analysis of Hyperledger Fabric (Permissioned Blockchain Network) , 2019 .

[25]  Stephen Lee,et al.  FastFabric: Scaling Hyperledger Fabric to 20,000 Transactions per Second , 2019, 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC).