Bitcoin full node and query server

Oct 15, 2024

View in context in the libbitcoin Slack #general mirror.

evoskuil12:37
It is likely that the default settings will be suboptimal for your machine, even resulting in thrashing. If you post your basic specs I can make suggestions. One of the aspects we are working on is automatically tuning what is presently manual configuration for given platform. Also note that if your CPU supports sha native (shani), which is about 5x faster individual hashing, it will distort realistic benchmarking, since shani is not yet integrated into the hashing library.
C
cguida16:49
Again, there is no need for outputs to persist in RAM. We are talking about sync times that are absurdly high without even performing script validation. There is no reason for scripts to be consuming RAM. Query over existence and spentness is sufficient.
And again, this precludes low-resource devices from being able to sync bitcoin. This is demonstrated by the fact that libbitcoin is much slower to sync on devices with <12GB of RAM than bitcoin core. You're just ignoring an entire class of users, until Moore's Law catches up with blockchain/utxoset growth. If we just throw up our hands and say "well I guess low-resource nodes will never work", then node centralization will accelerate to the extreme. If only people can afford a machine that has 256GB of RAM can sync bitcoin, then there will only be a few people actually running nodes, and these will be quickly co-opted by the state, long before Moore's Law allows computers to add 40GB RAM/year with no additional cost.
When your store is slow and non-concurrent, and your processing is unduly ordered, RAM feels like the only solution.
RAM is the only solution for low-resource devices. If there were no bitcoin implementations with a RAM utxoset, there would not be any devices worth less than $1000 running bitcoin full nodes. If we don't bring down the cost of running a node, very few people will actually do it, and very soon bitcoin will not be around. Anyway, that's fine if libbitcoin wants to be the "high-resource-nodes-only" implementation. Everyone's got a niche.