BUIP120: Replace LevelDB with an immutable stateless storage design
Submitted by: Jonathan Silverblood
Date: 2019/3/28
edit 2019/5/5 by solex: budget added
Summary
The purpose of this BUIP is to build a development branch of Bitcoin Unlimited's node software that uses an immutable stateless storage design (such as Bitcrust, CashDB or others) as a storage component for blockchain data and do a real-world study of the performance implications.
Proposal
This BUIP proposes that we use bitcoin unlimited funds to:
Motivation
Going forward it is critical that we remove all significant performance bottlenecks. One such bottleneck is the LevelDB dependency currently used as the storage component for the bitcoin unlimited node software. This dependency on a generic mutable storage is a remnant of the early bitcoin implementations and there are some people that believe that it is practically impossible to achieve global scale with it.
Budget
A maximum expenditure cap of $20,000 is proposed for direct development costs incurred to deploy this change to the BU testnet.
Due to the uncertain scope of the work, this is an estimate recommended by solex.
Background
Thomas van der Wansem held a presentation during the Mar, 2018 Satoshi's Vision conference illustrating the structure of bitcrust-db. Since then, several other projects have emerged with similar designs (Flowee?, Verde?, CashDB?) and are reaching maturity.
Links
Submitted by: Jonathan Silverblood
Date: 2019/3/28
edit 2019/5/5 by solex: budget added
Summary
The purpose of this BUIP is to build a development branch of Bitcoin Unlimited's node software that uses an immutable stateless storage design (such as Bitcrust, CashDB or others) as a storage component for blockchain data and do a real-world study of the performance implications.
Proposal
This BUIP proposes that we use bitcoin unlimited funds to:
- Pay for the development of a branch of Bitcoin Unlimited that implements an immutable stateless storage design as an alternate storage component.
- Use this branch to study the performance and other practical implications.
Motivation
Going forward it is critical that we remove all significant performance bottlenecks. One such bottleneck is the LevelDB dependency currently used as the storage component for the bitcoin unlimited node software. This dependency on a generic mutable storage is a remnant of the early bitcoin implementations and there are some people that believe that it is practically impossible to achieve global scale with it.
Budget
A maximum expenditure cap of $20,000 is proposed for direct development costs incurred to deploy this change to the BU testnet.
Due to the uncertain scope of the work, this is an estimate recommended by solex.
Background
Thomas van der Wansem held a presentation during the Mar, 2018 Satoshi's Vision conference illustrating the structure of bitcrust-db. Since then, several other projects have emerged with similar designs (Flowee?, Verde?, CashDB?) and are reaching maturity.
Links
- Bitcrust: https://github.com/tomasvdw/bitcrust
- CashDB: https://github.com/Lokad/CashDB
- Flowee: https://flowee.org/
Last edited by a moderator: