The issue of disk space in a node is easily overcome because all transactions in a block are hashed in a Merkle Tree as shown in image −
The block header now contains the hash of the previous block, a Nonce, and the Root Hash of all the transactions in the current block in a Merkle Tree. As this Root Hash includes the hashes of all the transactions within the block, these transactions may be pruned to save the disk space. So now your blockchain will look like in below image −
This can result in a lots of saving in the disk space. This strategy is used by a normal client who is interested in just receiving payments from others. However, the miners need to save the full blockchain. Now the question arises, how a receiver verifies the payment without having the ability to trace a received coin right to its origin. This is explained next.