<oembed><type>rich</type><version>1.0</version><author_name>npub12ftsvulestm9ztkjkgkl7cfurm6u6dau835evhcs3jwxyctn4y6qsk0jt6</author_name><author_url>https://nostr.ae/npub12ftsvulestm9ztkjkgkl7cfurm6u6dau835evhcs3jwxyctn4y6qsk0jt6</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2016-08-03&#xA;📝 Original message:This would honestly work. It forces the attacker to go through with the&#xA;clearing phase which simultaneously makes it possible to &#34;cancel&#34; the TX&#xA;through another logic branch before the timeout occurs. I&#39;d say that would&#xA;meet the needs of a clearing mechanism / fraud prevention system for an&#xA;exchange perfectly while requiring minimal changes to the software.&#xA;&#xA;Very, very smart idea. A++, would read again.&#xA;&#xA;On Thu, Aug 4, 2016 at 9:55 AM, Tier Nolan via bitcoin-dev &lt;&#xA;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&#xA;&gt; On Wed, Aug 3, 2016 at 7:16 PM, Matthew Roberts via bitcoin-dev &lt;&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt;&#xA;&gt;&gt; The reason why I bring this up is existing OP codes and TX types don&#39;t&#xA;&gt;&gt; seem suitable for a secure clearing mechanism;&#xA;&gt;&gt;&#xA;&gt;&#xA;&gt; I think reversing transactions is not likely to be acceptable.  You could&#xA;&gt; add an opcode that requires that an output be set to something.&#xA;&gt;&#xA;&gt; [target script] SPENDTO&#xA;&gt;&#xA;&gt; This would require that [target script] is the script for the&#xA;&gt; corresponding output.  This is a purely local check.&#xA;&gt;&#xA;&gt; For example, if SPENDTO executes as part of the script for input 3, then&#xA;&gt; it checks that output 3 uses the given script as its scriptPubKey.  The&#xA;&gt; value of input 3 and output 3 would have to be the same too.&#xA;&gt;&#xA;&gt; This allows check sequence verify to be used to lock the spending script&#xA;&gt; for a while.  This doesn&#39;t allow reversal, but would give a 24 hour window&#xA;&gt; where the spenders can reverse the transaction.&#xA;&gt;&#xA;&gt; [IF &lt;1 day&gt; CSV DROP &lt;live public key&gt; CHECKSIG ELSE &lt;offline protected&#xA;&gt; key&gt; CHECKSIG] SPENDTO &lt;live public key2&gt; CHECKSIG&#xA;&gt;&#xA;&gt; Someone with the live public key can create a transaction that spends the&#xA;&gt; funds to the script in the square brackets.&#xA;&gt;&#xA;&gt; Once that transaction hits the blockchain, then someone with the &lt;offline&#xA;&gt; protected key&gt; has 24 hours to spend the output before the person with the&#xA;&gt; live keys can send the funds onward.&#xA;&gt;&#xA;&gt; _______________________________________________&#xA;&gt; bitcoin-dev mailing list&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt;&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160804/4eda2f65/attachment.html&gt;</html></oembed>