There are many problems with this proposal. First of all, storing a block inside another block means that there is no space inside the other block, so it is pointless. You would be filling the entire block with just one of an old block. The only thing it does is just duplicate the data that full nodes need to store.
I propose storing the blockchain blocks within transactions. I created a patent process for any asset and discussed at
http://hlygrail.com how to use the algorithm for [Suspicious link removed]pression.
The bottom line is each block could be stored in a transaction by encrypting the block with a transaction address and storing the hash of the encrypted block in an OP_RETURN.
Encryption does not compress, and by encrypting it, you are preventing other people from being able to access the block data. Storing the hash also doesn't help because the hash cannot be reversed to get the data that you need.
In 244 bytes you could store an encrypted block reference in the blockchain and the "block" could be stored and duplicated in any location. If you ever need the block because an old address showed up in a new transaction, you could pull the block from any storage and verify the block with the "block transaction address and OP_RETURN" before using and processing the new transaction.
In this form, an active miner would store 398000 "transactions" linking to verifiable blocks or copies of blocks, instead of 398000 "blocks". You could still use pruning but you would not need to in this case because the entire block data with un-pruned transactions would be available and verifiable.
Check the website for more detail. Of course UTXO, block index, recent blocks and active blocks would still be in the mining computer. This process would allow anyone to hold blocks and access data even without having a full node. It would also open mining to a larger base by using normally unused computer assets to run verified software for pieces of mining code.
So you aren't actually storing the blocks, just data to validate the blocks. The problem is that then how would you know what transaction is holding the data to check the validity of the block? You would have to get the entire blockchain and scan it to find that transaction.
Also, what is the point of encrypting the block?