Author: Russell O'Connor 2018-11-21 17:07:30
Published on: 2018-11-21T17:07:30+00:00
The bitcoin-dev community is seeking a replacement for OP_CODESEPARATOR, as each call to this operation takes O(script-size) time. One way that it has been used is to create signatures that cover which specific branch within the input Script code is being signed for. Different clauses in Bitcoin Script may be enforcing different conditions and it is useful to sign in a way that your signature is only valid when the conditions for a particular branch are satisfied. One suggestion to achieve this is to add an internal counter that increments on every control flow operator and have the signature cover the value of this counter or divide every Bitcoin Script program into blocks delimited by these control flow operators and have the signature cover the index of the block that the OP_CHECKSIG occurs within. There are many different ways to replace the remaining useful behavior of OP_CODESEPARATOR. The community is open to any solution.
Updated on: 2023-06-13T15:24:15.142698+00:00