Is it possible/feasible for nodes to redact information (for example inappropriate images) in their blockchain and remain part of the network?
Sidenote:
Although OP_RETURN
was intended for embedding small amounts of data, I believe almost all cases of embedding of images in the last 12 months use OP_FALSE OP_IF
inside an otherwise normal script in a witness component. This avoids limitations imposed on OP_RETURN
and gains the Segwit discount on transaction fees.
Censoring transactions:
Pruning nodes discard blocks that have been validated and whose content is no longer necessary for maintaining UTXO state. It must be feasible to be selective and have specific criteria to discard data that is unwanted. For Bitcoin Core I imagine it might necessitate rewriting large blockfiles or some strategy such as overwriting portions with say zeroes and updating indexes accordingly.
Not relaying unconfirmed transactions of this sort has been suggested. As Michael Folkson commented, large images (e.g. several MB) already can’t be relayed by Bitcoin core nodes because of its default policy rules. publishers of large images have to make direct arrangements with miners.
However, the above still requires that nodes download and validate new blocks, regardless of content, in order to maintain UTXO state. So the goal cannot be completely achieved.
I believe it is also computationally infeasible for normal nodes to distinguish inappropriate images from acceptable images. Furthermore, People who embed such images can take countermeasures to prevent their detection.