I think I have even seen that people were discussing this in the Ethereum community. It never made sense to me that we need to store every state instead of only up to a point in the past. I mean it does make sense that we need an initial starting point from which nodes can verify each block by running all the transactions but I never understood why that can’t simply be something “hard-coded” other than the actual beginning of the entire blockchain.
The short answer is that ICP has chain-key cryptography that helps implement catch-up packages.
The long answer is I don’t really know how it works…
FWIW, I don’t think it is by any means trivial to do what the IC has done, especially on a different blockchain architecture like Ethereum.