The debug.log file during Inital Block Download (IBD) typically includes something like the following1:

2023-09-09T10:04:32Z UpdateTip: new best=00000000000000001004395fb5a59a4d44e51e7f9ff3504c2a5d6e7f06885680 height=371337 version=0x00000003 log2_work=83.254204 tx=81017610 date='2015-08-24T17:00:31Z' progress=0.093041 cache=226.8MiB(31135360txo)

It includes

  1. How is the progress field calculated?

  2. What are its possible values/units?

  3. What is the function in bitcoin core that does the calculation?

Possibly related:


1. Copied from this Github Issue for illustration (the question is unrelated to the issue, it was just the first example I found to copy).

1 Answer 1

  1. The progress value is the ratio between the total number of transactions in the currently-validated part of the active chain, and an estimate for the total number of transactions in the chain. That estimate is computed based on statistics that are hardcoded in the software, and updated for major releases (including a known point in the chain at a known timestamp, with a known number of transactions, and a predicted rate of transactions per second afterwards).

  2. It is a dimensionless unit, taking values between 0.000 and 1.000.

  3. For the latest Bitcoin Core release (27.1), the code can be found here.

Your Answer

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

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