I was reading about pruning in Ethereum which is basically a way to run a full node without needing to keep over 1TB of blockchain data. To my understanding, the whole blockchain exists but only keeps the state hashes, while the old trees themselves are not kept. Security is not an issue with the Proof of Work consensus properties assuming we keep a sufficient "depth" of states.
My questions are as follows:
- Besides the various blogposts and stackexchange answers, is pruning more formally described somewhere? I don't see anything mentioned in the yellowpaper.
- I understand that by pruning the states, and since ethereum is account-based and not UTXO-based, you can still get an account balance but you can't derive the historical balance of an account. Does this imply that you can't query for old transactions as well? (assuming no archival nodes exist)