I'm interested to know how long does it take to validate a Bitcoin block on average home pc. I'm less interested in a precise number. I'm fully aware that it can be different between different machines. I'm more interested in an estimation. Previous answers didn't provide a number or even rough calculation.
1 Answers
Your question doesn't actually provide enough context even with the proviso that you don't care about which machine specifically.
Do you mean cold-cache during initial block download or do you mean at the tip of the chain on a running node? The difference on this point is probably two orders of magnitude in speed.
Usually, at the tip almost no transaction validation is done at all except for double-spend consistency at the time a block is accepted: all the transactions have already been received and validated.
Do you want a time for processing just a single block without the necessary database writing that is usually batched across many blocks? The difference here is perhaps a factor of two in speed in the uncached case, much more in the cached case.
You can run bitcoin core with -debug=bench to cause it to log detailed timings for the various parts of validation to see validation on your own system.
Order of magnitude numbers are on the order of a couple milliseconds for the common at-tip fully cached case to a couple seconds for cold caches and flushing. Potentially minutes if the block were adversarially constructed.

- 7,727
- 2
- 20
- 47
In a recent range of 288 blocks, I see 11 blocks where there was 1 or more unknown transaction with an average rate of 0.059 unknown transactions per-block. As an aside, the Bitcoin network exploits unequal delays to get faster propagation.
– G. Maxwell Nov 07 '18 at 23:01