1

Currently when syncing a bitcoind node from scratch the time of going from zero (0) to about 50% is a very fast process but somewhere between 50%-75% it slows down considerably and at 75%-85% it grinds to an almost halt.

Assuming that the blocks that are being verified during that time are what is causing the slowdown I'm wondering if there is a way to basically clone a node by still running and validating a full node but at least trusting the blocks up until some number that is far enough in the past to handle 99% of edge cases.

I know that cloning the disk is possible but transferring that to a new VPS for instance is not so looking for ways to speed up the process for everyone without sacrificing security.

Known Optimizations

Setting the dbcache to a higher value (currently using 2000 on a 4gb RAM machine which is 25% of the available RAM)

1
  • Ideally this would be by specifying a particular full node which you already control and know to be valid.
    – PW Kad
    Feb 25, 2019 at 17:18

2 Answers 2

3

The problem is less so with validating the blocks and more to do with bandwidth constraints and the time it takes to write blocks to disk and update the databases.

As you sync more of the blockchain, the blocks become bigger and contain more transaction inputs and outputs. The outputs need to be added to the chainstate database and the inputs removed. This takes time especially as the database grows and the number of inputs and outputs per block increases. Even if you were to disable all block validation completely (which is not possible), it would still take a long time to build this database.

The best that you can get is to use the assumevalid=<hash> startup option. This can be added to your bitcoin.conf file or used in your startup command. What assumevalid does is it skips script verification for blocks that are ancestors of the block with the hash <hash>. Bitcoin Core already comes with a default value for this that was set before the last major release was made. You can set this value to a more recent block and get some performance improvements for blocks that have been mined since the last major release.

-2

Sure, there are prepared blockchain data you can download and continue from there. You need to find a source you trust, preferably from the same wallet you use, since you already trust them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.