bitcoin-dev

Making OP_CODESEPARATOR and FindAndDelete in non-segwit scripts non-standard

Making OP_CODESEPARATOR and FindAndDelete in non-segwit scripts non-standard

Original Postby Matt Corallo

Posted on: November 27, 2017 16:33 UTC

The proposal to make OP_CODESEPARATOR and FindAndDelete non-standard is being discussed by developers in the bitcoin community.

The purpose of this would be to discourage their use, although some argue that it may not be justified to disable them completely. While making them non-standard would be a good change, a soft-fork to blacklist these features for all transactions could potentially destroy value and has only been done in the past when features were fundamentally insecure. However, there have been active discussions about soft-forking out FindAndDelete and OP_CODESEPARATOR for years now. These features mainly fall outside of best practices, especially rather "useless" fields in the protocol such as soft-forking behavior into OP_NOPs and soft-forking behavior into nSequence. Making them non-standard is the obvious step towards setting clear best-practices and should better inform discussion about anyone using them. If a soft-fork was proposed to remove these features, it would take at least a year or three from when it was made non-standard. This time frame should be enough for those who use these parts of the protocol to object, which should lead to reconsideration of the soft-fork.