Author: Anthony Towns 2018-12-23 04:26:59
Published on: 2018-12-23T04:26:59+00:00
In a recent email conversation, Bitcoin Core developer Johnson Lau raised the question of whether OP_CODESEPARATOR would be useful under taproot. Lau suggests that CODESEPARATOR is primarily useful with conditional opcodes (OP_IF etc), which are mostly replaced by merklized scripts. Without conditionals, committing to the (masked) script seems to provide everything you can do with codeseparator. If you don't commit to the (masked) script, don't have conditionals, and don't have codeseparator, then you cannot make a signature distinguish which alternative script it's intending to sign. Taproot is a proposed protocol upgrade for Bitcoin that aims to enhance privacy, security, and flexibility of the network. Under this new protocol, OP_CODESEPARATOR may not be very useful. In fact, if no one needs CODESEPARATOR, it might just be disabled, making the validation code a bit simpler. However, even if it was disabled, it could be re-enabled fairly easily in a new script subversion if needed.
Updated on: 2023-05-20T18:09:35.300349+00:00