bitcoin-dev
Making OP_CODESEPARATOR and FindAndDelete in non-segwit scripts non-standard
Posted on: November 27, 2017 21:33 UTC
The proposal to make OP_CODESEPARATOR and FindAndDelete non-standard in non-SegWit scripts has been made, with the aim of eventually soft-forking them out.
While some argue that this is crossing a boundary, it has been pointed out that making things non-standard is often the first step towards soft-forking out behavior. It has also been suggested that making these features non-standard will discourage their use, as they are largely useless and complicated. However, there are concerns about destroying value and the fact that we do not know what transactions exist out there pre-signed and making use of these features. While some believe that CODESEPARATOR is still relevant pre-SegWit, FindAndDelete is considered equally irrelevant if not more so. Furthermore, BIP 117 makes an insecure form of CODESEPARATOR delegation possible but it is not an elegant way to achieve delegation. Despite this, Nicolas Dorier pointed out that he was using it in TumbleBit. Therefore, there are still ways to use it, but only in places, like SegWit, where the potential validation complexity blowup is massively reduced. Matt Corallo believes that making things non-standard is a good change on its own, and if nothing else should better inform discussion about the possibility of anyone using these things. He disagrees that only fundamentally insecure transactions should be soft-forked out, pointing out that they have generally been willing to soft-fork out things which clearly fall outside of best-practices.