I have been downloading the blockchain to a new client and it has been at it now for almost a week. One thing I notice is that as it is getting close to the end, it is slowing down a lot.

For example, it just downloaded 93 blocks in 488 seconds or 1 block per 5.25 seconds. If the entire block chain had downloaded at this speed then it would take: 418950 x 5.25 = 2,199,488 seconds or 25 days. Since, it has taken less than a week to do it, the older blocks must have downloaded faster.

What is the explanation for this?

There are a few different factors for the synchronization time:

  • You're not only downloading data, but the data is also being validated. There is a lot of I/O going on. Disk speed is a significant factor.
  • The earlier blocks are much smaller than the later blocks. Validation time roughly scales linearly with the data size.
  • Complexity of transactions may have increased over time, transactions with more inputs take significantly more time to validate.
  • The UTXO database grows larger as you parse the blockchain, and every input for every transaction has to be looked up in the UTXO database.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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