Can Permissioned Blockchains Replace Traditional Databases? Benchmarking Case Study

Supervisors: Zsolt István
Semester: Spring 2021
Tags: Blockchain, Data Management, Benchmarking

Blockchains are often used synonymously with crypto-currencies and unspent transaction output (UTXO) data models, but there are emerging blockchain platforms that offer a more general data model and smart contracts that can manipulate this data freely (e.g. Hyperledger Fabric [1]). As such, these platforms resemble in many ways distributed databases, storing a collection of records, organized as key-value pairs, on the ledger that smarts contracts can access and modify.

In several use-cases, permissioned ledgers are being considered as an alternative to traditional databases [2]. It is unclear, however, whether solely by relying on smart contracts it is possible to implement behavior that a database would: namely combining “contract execution” (that is, transactional processing in databases) and analytical processing. Given that most distributed ledgers also include main-memory key-value stores on top of which the smart contracts are executed, it is, in principle, possible to perform analytical or reporting queries on these stores – but more research is required to understand current and future bottlenecks and limitations.

This project sets out to explore the applicability of distributed ledgers in the enterprise space by implementing a Supply Chain Management benchmark (outlined in [2]) on top of Hyperledger Fabric and another permissioned blockchain platform of choice. Our goal is to exploit all advanced features of these blockchain systems to provide the highest throughput and lowest latency queries we can achieve. Based on the results, we will 1) formulate guidelines to application developers on how to optimize their existing SQL-based applications originally written for databases for blockchains, and 2) pinpoint important bottlenecks for the developers of these blockchain platforms to improve the performance in the future.

Student Profile
Skills needed: Coding experience in Go and Java or TypeScript, Experience with SQL and database design principles
Skills to be acquired: Smart Contract development, Internals of Permissioned Blockchains, How to benchmark complex software systems

[1] []
[2] []