Ethereum is looking at the idea that nodes don’t need to store all the state and can prune historic data after a certain amount of time. They won’t even need to store the entire current state of the chain.
If someone wants to access resources that were pruned (ex: call an old contract), they will submit the state to the network along with a proof that the data is correct. In this model, you’d have to store the illegal content yourself in order to ‘rehydrate’ it into the current state of Ethereum.