Skip to main content
3 of 3
added 420 characters in body
Pieter Wuille
  • 109.6k
  • 9
  • 202
  • 318

To answer the question I believe you have:

"Progress increase per hour: 0.25%" means that 0.25% of the blockchain is synchronized per hour, or that total from-scratch synchronization (assuming the current rate is constant) takes 100%/0.25% = 400 hours.

It does not mean that the speed of synchronization is increasing over time. In general, it will go down.


To answer your question as phrased:

There are many reasons why the progress rate would not be constant. The progress percentage is the ratio between the total number of validated transactions divided by an estimate of the total number of transactions in the chain, but:

  1. Not every transaction is equally complex, and the makeup of typical transactions has changed during Bitcoin's lifetime.
  2. Signature validation is only performed after the assumevalid point, likely just the last few % of the chain (unless you manually configured it to be something else).
  3. The size of the UTXO database grows dramatically throughout the blockchain. A larger database is slower to operate on, especially once it no longer fits in the in-RAM cache.
  4. The estimate of the number of transactions may grow slightly more accurate as the chain progresses.
  5. The peers you are downloading from may change, sometimes a peer that is providing you data quickly goes offline. Sometimes slow peers are kicked (this mostly matters if the network aspect is the bottleneck).
  6. Your computer may be doing other things at the same time, which change.
Pieter Wuille
  • 109.6k
  • 9
  • 202
  • 318