  It is a common narrative that blockchains are immutable and so it is
technically impossible to erase data stored on them. For legal and ethical
reasons, however, individuals and organizations might be compelled to erase
locally stored data, be it encoded on a blockchain or not. The common
assumption for blockchain networks like Bitcoin is that forcing nodes to erase
data contained on the blockchain is equal to permanently restricting them from
participating in the system in a full-node role. Challenging this belief, in
this paper, we propose and demonstrate a pragmatic approach towards
functionality-preserving local erasure (FPLE). FPLE enables full nodes to erase
infringing or undesirable data while continuing to store and validate most of
the blockchain. We describe a general FPLE approach for UTXO-based (i.e.,
Bitcoin-like) cryptocurrencies and present a lightweight proof-of-concept tool
for safely erasing transaction data from the local storage of Bitcoin Core
nodes. Erasing nodes continue to operate in tune with the network even when
erased transaction outputs become relevant for validating subsequent blocks.
Using only our basic proof-of-concept implementation, we are already able to
safely comply with a significantly larger range of erasure requests than, to
the best of our knowledge, any other full node operator so far.
