Defining a min spec



Summary:

Jean-Paul Kogelman, a game developer, proposed the idea of defining a minimum specification (min spec) for Bitcoin Core in order to reduce the risk of breaking something due to capacity problems. He suggests working backwards from what we have right now: Block size (network / disk I/O), SigOps/block (CPU), UTXO size (memory), etc. and Pieter's analysis of network bottlenecks. By taking all of these factors into account, the configuration that would be the bare minimum to comfortably run Bitcoin Core at maximum load can be determined. Additionally, he suggests codifying the parameters used to determine this min spec so that they can later be used if Bitcoin Core is optimized or extended with new functionality to see how it affects the min spec. Every change that has a positive effect on min spec pushes the need to upgrade forward. Once we hit SOL (Speed Of Light, the fastest something can go on a specific platform), periodic adjustments to min spec may be necessary. Lastly, a benchmark test could be developed to tell everyone running Bitcoin Core how their setup compares to the min spec and how long they can expect to run on this setup. The most valuable thing that could come out of this is to get some kind of formulation how all the different levers in Bitcoin Core affect the min spec and ideally have a benchmark tool.


Updated on: 2023-06-10T01:56:40.473528+00:00