A full node has the capability to verify every block starting from the genesis block up until the last block. It does this by hashing the block header and checking if the hash recorded in the block is same as the computed hash. Except, the difficulty is not fixed and the number of leading 0s needed are different in different blocks. How does the validating node know that the nth block required k 0s at the beginning of the hash?
eg: An attacker can build an entire blockchain with initial blocks having only 2 or 3 0s which would be easy to compute. The blocks would be valid as the computed hash will match the recorded hash.