How does the blockchain know if its block hashes have been tampered? I'm dealing with some problems to finally understand how implicit consensus works and I've come across with one question. Suppose the following:
A malicious miner proposes the following block to be included somewhere in the middle of the blockchain. If he just copies the value of the previous block's hash pointer in the new block's header, and recalculates the following blocks hash pointers till the end of the chain, by coping the same header in each block in the original chain, wouldn't this blockchain be as valid as the original, considering that the new hash pointers match with the content of each previous block?
A way of trying to clarifying myself and answering to the question was to think of the implicit consensus. Could it be that the other well-behaving nodes will deny this proposing block by storing a copy of the previous state of the blockchain and comparing the old blockchain with a new one?
Changing the previous block hash in all of the subsequent block hashes will change those block's hashes too. They become different blocks and are treated as different blocks by nodes. When other nodes try to verify those other blocks, they will extremely likely compute a block hash which does not meet the Proof of Work requirement, and thus those blocks would fail validation.
The way around this is for the attacker to recompute the Proof of Work, but then that takes a lot of time and computing power and is thus difficult to do.