Author: Anthony Towns 2015-10-06 06:20:31
Published on: 2015-10-06T06:20:31+00:00
In this discussion, Mike Hearn proposes a method to perform a fraud using a P2SH transaction that defines a new output controlled by OP_CLTV. New nodes will reject the invalid script while old nodes running Bitcoind will see it as OP_NOP2 and will reject it unless they've manually disabled SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS. However, AIUI, nodes running 0.8 or 0.9 will still apply IsStandard() checks to scripts attempting to spend p2sh outputs so will also fail to either mine or relay your OP_NOP2 payment. The discussion concludes that this isn't supposed to be a problem since you won't be able to find an old miner that will create a block containing the invalid transaction, but released versions of Bitcoin already block it by default.
Updated on: 2023-05-19T22:04:00.939337+00:00