Bitcoin full node and query server

May 22, 2024

View in context in the libbitcoin Slack #general mirror.

evoskuil00:28
I picked up 4 x 8GiB RAM cards, so that I'll be able to test 8/16/24/32GiB configurations. Should have that and my 2Gbps WAN up and running tomorrow. I've moved on to concurrent validation. As a rough approximation, this process...
  • deserialize block
  • read block/tx previous valid/invalid states
  • populate all tx input prevouts
  • validate all txs/block (accept/connect)
  • write validation metadata for each tx/block
  • read block previous confirmable state
  • confirm each tx/block (maturity, spent, double spend)
  • write confirmable metadata for block
  • associate confirmed txs with their block
  • organize block (index height)
...takes about 1 second for the largest blocks when performed entirely sequentially. If we (pessimistically) extend that across all blocks (early 300k blocks are orders of magnitude faster), that's 233 hours (10 days). If we (optimistically) divide that by my 64 cores, it's 3.65 hours. Realistically I expect that to be closer to 2 hrs.
(edited)
5 replies · jungly, Tanay Raikhere, evoskuil, Shashank Shekhar Singh · last May 22, 2024
jungly07:49
@Tanay Raikhere and @Shashank Shekhar Singh - can help here. They are also building the master branch on their machines to get some more numbers on the rate of downloading and validating the chain on their machines. Tanya, Shekhar, if you have any questions configuration etc, let us know.
👍🏻 1👍 2
Tanay Raikhere07:56
Hey, I and Shashank we both tried to build the master node, but since both of us had only 256 gigs of storage, the sync came to a halt pretty quickly. So I had an old system lying around, but that too has low specs keeping the sync speed really slow.Moreover, that system has only 500GB storage, and the full blockchain sizes ~600Gb. Therefore, I am thinking of getting a pre-owned cheap PC with at least 1TB of storage for the full node operation.
(edited)
evoskuil08:26
A 1TB internal SSD is a minimum, which is as low as $20 these days.
Shashank Shekhar Singh17:33
@Tanay Raikhere, Actually I have a 500gb ssd. I have a 1tb hdd, on which I have run the node using the bn command and it showed: "2024-05-22T17:30:35Z.0 Node stopped successfully."
evoskuil17:41
The full chain cannot be stored in 500GiB. It's about 750GiB with Electrum and Neutrino indexes and about 600GiB without them. An HDD is very slow, but will of course function.
(edited)