<br><p dir="ltr" style="font-family:sans-serif;font-size:15.6521739959717px">In case it wasn&#39;t clear in my earlier post, there&#39;s of course a third possibility - namely, some outputs are kept but not all. Here, it is generally impossible to tell whether the motivation was fee replacement, output replacement, or both. My proposal is to always treat these instances as output replacement and punish the sender. The sender needs to make it unambiguously clear it&#39;s only a fee replacement by creating a new transaction that produces an output with the desired extra fee and then adding an input that spends it to the original transaction.</p><span style="font-family:sans-serif;font-size:15.6521739959717px">- Eric Lombrozo</span><div><br></div><div>On Sunday, February 22, 2015, Eric Lombrozo &lt;<a href="mailto:elombrozo@gmail.com">elombrozo@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">I should note that my proposal does require a change to the consensus rules...but getting bitcoin to scale will require this no matter what.</p>
<p dir="ltr">- Eric Lombrozo</p>
<div class="gmail_quote">On Feb 22, 2015 3:41 AM, &quot;Eric Lombrozo&quot; &lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;elombrozo@gmail.com&#39;);" target="_blank">elombrozo@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">It seems to me we&#39;re confusing two completely different motivations for double-spending. One is the ability to replace a fee, the other is the ability to replace outputs.</p>
<p dir="ltr">If the double-spend were to merely add or remove inputs (but keep at least one input in common, of course), it seems fairly safe to assume it&#39;s the former, a genuine fee replacement. Even allowing for things like coinjoin, none of the payees would really care either way.</p>
<p dir="ltr">Conversely, if at least one of the inputs were kept but none of the outputs were, we can be confident it&#39;s the the latter.</p>
<p dir="ltr">It is possible to build a wallet that always does the former when doing fee replacement by using another transaction to create an output with exactly the additional desired fee.</p>
<p dir="ltr">If we can clearly distinguish these two cases then the fee replacement case can be handled by relaying both and letting miners pick one or the other while the output replacement case could be handled by rewarding everything to a miner (essentially all outputs are voided...made unredeemable...and all inputs are added to coinbase) if the miner includes the two conflicting transactions in the same block.</p>
<p dir="ltr">Wouldn&#39;t this essentially solve the problem?</p>
<p dir="ltr">- Eric Lombrozo</p>
<div class="gmail_quote">On Feb 21, 2015 8:09 PM, &quot;Jeff Garzik&quot; &lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;jgarzik@bitpay.com&#39;);" target="_blank">jgarzik@bitpay.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sat, Feb 21, 2015 at 10:25 PM, Jorge Timón &lt;jtimon@jtimon.cc&gt; wrote:<br>
&gt; On Sat, Feb 21, 2015 at 11:47 PM, Jeff Garzik &lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;jgarzik@bitpay.com&#39;);" target="_blank">jgarzik@bitpay.com</a>&gt; wrote:<br>
&gt;&gt; This isn&#39;t some theoretical exercise.  Like it or not many use<br>
&gt;&gt; insecure 0-conf transactions for rapid payments.  Deploying something<br>
&gt;&gt; that makes 0-conf transactions unusable would have a wide, negative<br>
&gt;&gt; impact on present day bitcoin payments, thus &quot;scorched earth&quot;<br>
<br>
&gt; And maybe by maintaining first seen policies we&#39;re harming the system<br>
&gt; in the long term by encouraging people to widely deploy systems based<br>
&gt; on extremely weak assumptions.<br>
<br>
Lacking a coded, reviewed alternative, that&#39;s only a platitude.<br>
Widely used 0-conf payments are where we&#39;re at today.  Simply ceasing<br>
the &quot;maintaining [of] first seen policies&quot; alone is simply not a<br>
realistic option.  The negative impact to today&#39;s userbase would be<br>
huge.<br>
<br>
Instant payments need a security upgrade, yes.<br>
<br>
--<br>
Jeff Garzik<br>
Bitcoin core developer and open source evangelist<br>
BitPay, Inc.      <a href="https://bitpay.com/" target="_blank">https://bitpay.com/</a><br>
<br>
------------------------------------------------------------------------------<br>
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server<br>
from Actuate! Instantly Supercharge Your Business Reports and Dashboards<br>
with Interactivity, Sharing, Native Excel Exports, App Integration &amp; more<br>
Get technology previously reserved for billion-dollar corporations, FREE<br>
<a href="http://pubads.g.doubleclick.net/gampad/clk?id=190641631&amp;iu=/4140/ostg.clktrk" target="_blank">http://pubads.g.doubleclick.net/gampad/clk?id=190641631&amp;iu=/4140/ostg.clktrk</a><br>
_______________________________________________<br>
Bitcoin-development mailing list<br>
<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;Bitcoin-development@lists.sourceforge.net&#39;);" target="_blank">Bitcoin-development@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/bitcoin-development" target="_blank">https://lists.sourceforge.net/lists/listinfo/bitcoin-development</a><br>
</blockquote></div>
</blockquote></div>
</blockquote></div>