I see a lot of people tout the enormous benefits of using IPFS as a store of data. Meanwhile, the Ethereum blockchain is over 1TB in size, with quesitonable need to keep the earlier blocks.
In bitcoin, it makes sense to me why you would need to keep the entire blockchain hosted somewhere, since unspent transaction outputs need to be kept somewhere. Unlike bitcoin, the latest block in ethereum almost always a snapshot of the most recent state of Ethereum, effectively an auto-calculation of the unspent transaction outputs. So, with the exception of tracking how those who participated in the 80% ethereum ICO have hodled their coins, there doesn't really seem to be much need to store these early ethereum blocks.
Anyway, the point I am getting to is, if we could require a node who was a miner to link only to the IPFS hash of their block, and require them to host said block for only long enough for other miners to validate, would this be a good idea? Each IPFS hash would link to a block which contained each transaction included in said block. Miners would be required to download this block before validating the block included in the chain. Is this any different than say just downloading block hashes? What do we lack in terms of security, because we clearly gain a lot in terms of long-term blockchain storage?
Yes, I am implying that over time (i.e. with enough block confirmations), miners would stop hosting these IPFS blocks.