Skip to content
/ besu Public

This reproducible respository contains the source codes, scripts, and experiment results for the paper "Performance Analysis of Hyperledger Besu in Private Blockchain"

License

Notifications You must be signed in to change notification settings

pacslab/besu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

besu

This reproducible respository contains the source codes, scripts, and experiment results for the paper "Performance Analysis of Hyperledger Besu in Private Blockchain"

Content

  • caliper-benchmarks: scripts for running tests with Caliper
  • data: the test results discussed in the paper. The Besu DEBUG logs analyzed in the paper are publicly available on Zenodo.
  • deploy: scripts for deploying the Besu network on OpenStack
  • load-balancing: load balancer configurations
  • src: scripts for analyzing the results

Requirements

  • Python >= 3.9.0
  • Docker Engine >= 20.10.14

All scripts are designed to be run on Ubuntu 20.04.

The file requirements.txt contains the Python packages used in this project. Please use the following command to install all the required dependencies.

pip install -r requirements.txt

Usage

  • Clone the reproducible repository.
  • Download the Besu logs from Zenodo and place them in data.
  • The directories caliper-benchmarks and src contain self-explanatory Jupyter Notebooks. Please follow the instructions in the notebooks to reproduce the results.

Abstract

In this work, we present a set of comprehensive experimental studies on Hyperledger Besu in private blockchain. We aim to exhibit its performance characteristics in terms of transaction throughput, latency, resource utilization, and scalability, from the application perspective by adding a load balancer middleware. We have carefully designed a set of comparative experiments and judiciously selected typical parameters, including transaction send rate, network size, node flavor, load balancing, consensus, and block time. In particular, three proof of authority consensus algorithms, Clique, IBFT 2.0, and QBFT, are investigated. Through extensive experimental evaluations using the Hyperledger Caliper benchmark tool, we analyze how these parameters impact the performance of a private Besu blockchain. Our studies reveal several interesting findings: 1) Blockchain parameters, e.g., block time and block size, are the most significant factors in determining Besu performance; 2) The performance of Besu is bottlenecked by transaction execution and blockchain state updates, which are determined by parameters such as node computation power, transaction complexity, and load balancing; 3) A Besu network with QBFT consensus can scale up to 14 validators without noticeable performance loss. Our findings shed some light on further performance improvement of Hyperledger Besu. The identified bottlenecks and root cause analysis provide insightful suggestions for blockchain practitioners to build performant enterprise applications.

Citation

@inproceedings{cfan2022besu,
  title={Performance Analysis of Hyperledger Besu in Private Blockchain},
  author={Fan, Caixiang and Lin, Changyuan and Khazaei, Hamzeh and Musilek, Petr},
  booktitle={2022 IEEE International Conference on Decentralized Applications and Infrastructures (DAPPS)},
  pages={1--10},
  year={2022},
  organization={IEEE}
}

Acknowledgement

This research was partially supported by the Digital Research Alliance of Canada (alliancecan.ca) and Cybera (cybera.ca) through their cloud services.

License

This artifact repository is licensed under the MIT license. Please refer to the LICENSE file for details.

About

This reproducible respository contains the source codes, scripts, and experiment results for the paper "Performance Analysis of Hyperledger Besu in Private Blockchain"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages