# A journey towards the most efficient state database for Hyperledger Fabric

**Authors:** Ivan Laishevskiy, Artem Barger, Vladimir Gorgadze  
**arXiv:** [2303.08875](https://arxiv.org/abs/2303.08875)  
**Date:** 2023-03-15  
**Summary page:** https://www.summarizepaper.com/en/paper/2303.08875v1/

## Key points

- Hyperledger Fabric is a widely used enterprise-grade permissioned blockchain platform
- Its architecture allows for greater customization through simulate-order-validate and pluggable components
- The world state database is a critical component that captures the snapshot of the blockchain application state
- Peers update the key-value database abstraction after transactions have been validated and read from the state during simulation
- Good performance during reading and writing impacts the system's overall performance
- Currently, Hyperledger Fabric supports two different implementations of the state database: LevelDB and CouchDB, but there may be better options available
- A study conducted by Ivan Laishevskiy, Artem Barger, and Vladimir Gorgadze explores alternative implementations of a state database to identify more efficient options such as RocksDB, Boltdb, and BadgerDB
- The paper provides valuable insights into exploring alternative implementations of a state database for Hyperledger Fabric that can help organizations optimize their use cases by improving overall system performance while maintaining data integrity through secure storage mechanisms like key-value stores or other alternatives evaluated in this study.

## Summary

The Hyperledger Fabric is a well-known and widely used enterprise-grade permissioned blockchain platform. Its architecture introduces a new paradigm of simulate-order-validate and pluggable architecture, allowing for greater customization. One critical component of the Hyperledger Fabric is the world state database, which captures the snapshot of the blockchain application state. The key-value database abstraction manages the state, and peers update it after transactions have been validated and read from the state during simulation. Therefore, providing good performance during reading and writing impacts the system's overall performance. Currently, Hyperledger Fabric supports two different implementations of the state database: LevelDB and CouchDB. However, there may be better and more scalable options available. In this study conducted by Ivan Laishevskiy, Artem Barger, and Vladimir Gorgadze from Idea Blockchain Research Lab at Moscow Institute of Physics and Technology in Russia and Haifa in Israel respectively, they explore alternative implementations of a state database to identify more efficient options. The study evaluates different databases such as RocksDB, Boltdb, and BadgerDB that can be plugged into Hyperledger Fabric to improve its performance based on various workloads. The authors describe how to plug new state databases into HLF while analyzing their performance results. The State Database is one of HLF's most important elements as it stores a snapshot of the last blockchain network state. Peers rely on StateDB to read current values with their version to form Read-Set for transactions. During commit validation phase while executing multi-value concurrency control check peers read from StateDB to compare Read-Set versions. Finally once validation is over peer commits validated transactions into StateDB reflecting recent changes. This paper provides valuable insights into exploring alternative implementations of a state database for Hyperledger Fabric that can help organizations optimize their use cases by improving overall system performance while maintaining data integrity through secure storage mechanisms like key-value stores or other alternatives evaluated in this study. Overall, this study contributes to the ongoing research on blockchain technology and provides useful information for developers and organizations looking to optimize their use of Hyperledger Fabric.
