[patch] Switching Bitcoin Core to sqlite db



Summary:

A suggestion was made on the Bitcoin-dev mailing list to outsource data management to existing database technologies, in order to create easy-to-use statistics and graphs. However, it was explained that Bitcoin's core consensus engine requires a highly optimized ultra compact data structure for coin existence lookups, which is highly compressed and specialized. This data structure would not be useful for other applications. The system runs at over 10,000 records per second during network synchronization updates on laptop hardware, while also handling other validation chores. The backend can be swapped out for something else with similar properties, but alternative systems require databases taking hundreds of gigabytes of storage and take days to weeks to import network data. Such systems are not suitable for consensus use due to space efficiency, performance, and consensus consistency reasons. Therefore, outsourcing data management to existing databases is not feasible for Bitcoin.


Updated on: 2023-05-19T22:19:56.422642+00:00