In order to validate the block, any node needs to compute the hash of the block and that means you need to download the whole block and compute the hash

That can't be avoided by any node that wishes to validate blocks

After validating a block, you're right that the OP_RETURNs don't need to be stored any more, and you could therefore delete or overwrite that particular data

But, if you want to keep the whole transaction history, in order to be able to see everything, then your options are limited. I guess you can write node software which, after validating the block, will overwrite or delete some data (e.g. OP_RETURNs) that you don't want to keep around

But the more you delete, the more difficult it is to call yourself a full node. For example, you can't help other nodes to join the network

Reply to this note

Please Login to reply.

Discussion

So if I prune unspendable UTXOs I can't help other nodes to join the network? Do you mean during the initial block download?

Correct you'll only be able to send new nodes doing their IBD the complete blocks you have on your node.

Makes sense. I hadn't thought of that.