Verifying old blocks I have a question about an implementation detail - when are old blocks verified by each full node? I.e. when will I be "caught" if I change the contents of an old block (and thus break the hash chain)

From what I've seen, the possible answers include: when it's downloaded and when you do a -rescan.

However, does a full node regularly verify the integrity of the chain from start to finish?

(I'm aware that changing the history on my node doesn't do any good, as those verifying my future transactions will have the correct chain and thus refuse any attempts to double spend)
when are old blocks verified by each full node? 


never unless rescan=1 command-line option passed to


  From what I've seen, the possible answers include: when it's downloaded and when you do a -rescan.


yes, on downloading also of course

one of my .dat files is broken (some garbage in contents) but bitcoin-qt works well because it uses UTXO, not blocks themselves


  if I change the contents of an old block (and thus break the hash chain)


this depends what do you mean.