  Although blockchains aim for immutability as their core feature, several
instances have exposed the harms with perfect immutability. The permanence of
illicit content inserted in Bitcoin poses a challenge to law enforcement
agencies like Interpol, and millions of dollars are lost in buggy smart
contracts in Ethereum. A line of research then spawned on Redactable
blockchains with the aim of solving the problem of redacting illicit contents
from both permissioned and permissionless blockchains. However, all the
existing proposals follow the build-new-chain approach for redactions, and
cannot be integrated with existing systems like Bitcoin and Ethereum.
  We present Reparo, a generic protocol that acts as a publicly verifiable
layer on top of any blockchain to perform repairs, ranging from fixing buggy
contracts to removing illicit contents from the chain. Reparo facilitates
additional functionalities for blockchains while maintaining the same provable
security guarantee; thus, Reparo can be integrated with existing blockchains
and start performing repairs on the pre-existent data. Any system user may
propose a repair and a deliberation process ensues resulting in a decision that
complies with the repair policy of the chain and is publicly verifiable.
  Our Reparo layer can be easily tailored to different consensus requirements,
does not require heavy cryptographic machinery and can, therefore, be
efficiently instantiated in any permission-ed or -less setting. We demonstrate
it by giving efficient instantiations of Reparo on top of Ethereum (with PoS
and PoW), Bitcoin, and Cardano. Moreover, we evaluate Reparo with Ethereum
mainnet and show that the cost of fixing several prominent smart contract bugs
is almost negligible. For instance, the cost of repairing the prominent Parity
Multisig wallet bug with Reparo is as low as 0.000000018% of the Ethers that
can be retrieved after the fix.
