<oembed><type>rich</type><version>1.0</version><author_name>npub17rld56k4365lfphyd8u8kwuejey5xcazdxptserx03wc4jc9g24stx9l2h</author_name><author_url>https://nostr.ae/npub17rld56k4365lfphyd8u8kwuejey5xcazdxptserx03wc4jc9g24stx9l2h</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-10-06&#xA;📝 Original message:On Mon, Oct 05, 2015 at 06:46:28PM +0200, Mike Hearn via bitcoin-dev wrote:&#xA;&gt; The example is this: find someone that accepts 1-block confirmed&#xA;&gt; transactions in return for something valuable. There are plenty of them out&#xA;&gt; there. Once the soft fork starts, send a P2SH transaction that defines a&#xA;&gt; new output controlled by OP_CLTV. It will be incorporated into the UTXO set&#xA;&gt; by all miners because it&#39;s opaque (p2sh).&#xA;&gt; &#xA;&gt; Now send a transaction that pays the merchant, and make it spend your&#xA;&gt; OP_CLTV output with an invalid script. New nodes will reject it as a rule&#xA;&gt; violator. Old nodes won&#39;t.&#xA;&#xA;Old nodes running bitcoind will see it as OP_NOP2, and will reject it&#xA;unless they&#39;ve manually disabled SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS,&#xA;which (aiui) has been available since bitcoin 0.10 [0], but not backported&#xA;to 0.8 or 0.9.&#xA;&#xA;[0] https://github.com/bitcoin/bitcoin/commit/0391423&#xA;&#xA;That covers about 4700/5880 nodes going by bitnodes.21.co; but I can&#39;t&#xA;tell how many miners it covers.&#xA;&#xA;Further, AIUI, nodes running 0.8 or 0.9 will still apply IsStandard()&#xA;checks to scripts attempting to spend p2sh outputs [1], so will also&#xA;fail to either mine or relay your OP_NOP2 payment.&#xA;&#xA;[1] https://github.com/bitcoin/bitcoin/commit/6259937&#xA;&#xA;&gt; So at some point an old miner will create a&#xA;&gt; block containing your invalid transaction, the merchant will think they got&#xA;&gt; paid, they&#39;ll give you the stuff and the fraud is done.&#xA;&#xA;My understanding is that this isn&#39;t supposed to be a problem because you&#xA;won&#39;t be able to find an old miner that will do that; released versions&#xA;of bitcoin already block it by default.&#xA;&#xA;Sure, someone could disable those checks and not pay attention to a soft&#xA;fork that will cause their blocks to be orphaned, but I&#39;m not seeing why&#xA;that&#39;s any different a threat compared to someone deliberately mining&#xA;invalid blocks to do 1-confirmation doublespends against merchants not&#xA;running a full node.&#xA;&#xA;At least, that&#39;s my understanding, and I&#39;m not an expert, so corrections&#xA;appreciated.&#xA;&#xA;Cheers,&#xA;aj</html></oembed>