Bitcoin full node and query server

Nov 13, 2024

View in context in the libbitcoin Slack #general mirror.

evoskuil17:32
This mini run lacks SHANI, so the most comparable runs with BC would be the maxi validation run on Windows 10 (256GB RAM/64 threads, no SHANI), which completes in 24.6 hours. Also the BC macOS (768GB RAM/32 threads, no SHANI) NON-validation run, which completes in 18 hours (I would estimate this would be at least 24 hours with full validation based on lower core speed and lack of SHANI). So the milestone comparison of BN to BC on the mini is 1.0 hours to 14.1 hours (BN=7%BC), and the comparable (no-SHANI) full validation run (on the Win10 maxi) is 5.6 hours to 24.6 hours (BN=23%BC). However, it's not clear that BN can achieve comparable full validation performance on the mini due to the (straightforward) SHANI/SECP256 upgrades. It may be that BN becomes RAM/SSD bound by confirmation before those updates can provide a significant advantage (on higher RAM machines this cost goes away entirely). Basically the confirmation cost is quadratic in the size of RAM, starting from zero cost at "full" RAM and increasing quadratically as RAM decreases. With full RAM BN becomes fully CPU bound in validation/confirmation like BC. But BC doesn't scale with more RAM, so this low end machine advantage will continue to decrease as RAM cost drops. I'm not aware of anything significant that BC can do to become scalable, short of a complete rearchitecture. I'm also not aware of anything that BN can do to overcome quadratic validation cost on low RAM machines. However, with milestone sync (default) BN enjoys an order of magnitude advantage on low end machines.