Efficient Forkless Blockchain Databases
Herbert Jordan, Kamil Jezek, Pavle Subotic, Bernhard Scholz
TL;DR
The paper tackles the high storage and processing costs of StateDBs in forkless blockchains by introducing two specialized databases: LiveDB for the live state and ArchiveDB for historical archiving. LiveDB employs intrinsic pruning via overwriting and a dense, page-based hash structure, while ArchiveDB uses an append-only, delta-style representation to efficiently record block-by-block changes. The Go-based implementation demonstrates ~100x storage reduction and ~10x throughput improvement over a geth-based Fantom client, with minimal overhead from archiving and careful tuning of page size. The work offers a practical architecture to scale forkless blockchains by separating roles and optimizing both live and archival data handling.
Abstract
Operating nodes in an L1 blockchain remains costly despite recent advances in blockchain technology. One of the most resource-intensive components of a node is the blockchain database, also known as StateDB, that manages balances, nonce, code, and the persistent storage of accounts/smart contracts. Although the blockchain industry has transitioned from forking to forkless chains due to improved consensus protocols, forkless blockchains still rely on legacy forking databases that are suboptimal for their purposes. In this paper, we propose a forkless blockchain database, showing a 100x improvement in storage and a 10x improvement in throughput compared to the geth-based Fantom Blockchain client.
