Long-term vision for bitcoind (was libconsensus and bitcoin development process)



Summary:

The author proposes a long-term plan for bitcoind. The first step in the plan is to define an API for libconsensus, which will support an abstract DB model, track chain state, provide query mechanisms for blocks and transactions with optional pruning and indexing, expose a subscription mechanism for events such as NEW_TIP, REORG, etc., and contain a script interpreter. The library can be developed in parallel with Bitcoin Core without too much refactoring of Bitcoin Core itself. The second step in the plan is to develop a peer services library that performs the tasks of peer discovery and relay, using libconsensus for all validation functionality and as a datastore for the consensus state but maintaining its database for peer history and statistics. They also propose providing high-level calls and pub/sub mechanisms for API/RPC. Finally, the wallet is split out into a separate process that connects to the stack via the API/RPC layer. The author believes that this architecture would maximize the number of people who can safely contribute to the project.


Updated on: 2023-06-10T22:52:29.613230+00:00