> Also, what's wrong with truncating the chain after X blocks?
I would say nothing. Truncating history isn't explicitly built into the protocol, but that's what most users do in practice. I believe Geth and Parity both prune old state by default. There are "achive" nodes that store all history, but they're in the minority.
Bitcoin Core also has options for pruning old state, and for disabling some validation of old history. Though, unfortunately, it will still download blocks from the genesis even if both options are enabled.
That's more of a philosophical decision. Even if you don't want old blocks, someone else might want.
As part of your expected obligations of the network, you're asked to seed those blocks.
I don't have anything to add, but this has always struck me as inelegant, especially for Ethereum, which is more of a dApp platform. Can someone point me towards something that can run dApps and maintain current state with distributed consensus _without_ a blockchain (or explain why this is an ignorant question)? Also, what's wrong with truncating the chain after X blocks?