Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193]
	helo=mx.sourceforge.net)
	by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <kgreenek@gmail.com>) id 1YpSWH-0000NU-Nk
	for bitcoin-development@lists.sourceforge.net;
	Tue, 05 May 2015 02:23:37 +0000
Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.212.169 as permitted sender)
	client-ip=209.85.212.169; envelope-from=kgreenek@gmail.com;
	helo=mail-wi0-f169.google.com; 
Received: from mail-wi0-f169.google.com ([209.85.212.169])
	by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1YpSWG-00022c-1U
	for bitcoin-development@lists.sourceforge.net;
	Tue, 05 May 2015 02:23:37 +0000
Received: by widdi4 with SMTP id di4so129311716wid.0
	for <bitcoin-development@lists.sourceforge.net>;
	Mon, 04 May 2015 19:23:30 -0700 (PDT)
X-Received: by 10.194.90.15 with SMTP id bs15mr47009086wjb.22.1430792609997;
	Mon, 04 May 2015 19:23:29 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.27.50.65 with HTTP; Mon, 4 May 2015 19:23:09 -0700 (PDT)
In-Reply-To: <20150504043601.GA14728@savin.petertodd.org>
References: <20150212064719.GA6563@savin.petertodd.org>
	<20150504043601.GA14728@savin.petertodd.org>
From: Kevin Greene <kgreenek@gmail.com>
Date: Mon, 4 May 2015 19:23:09 -0700
Message-ID: <CAEY8wq50ETVXX5V22KybiEMXiXVVhsB7OJdvgF_zFjn=KQ-hCg@mail.gmail.com>
To: Peter Todd <pete@petertodd.org>
Content-Type: multipart/alternative; boundary=047d7bfd027044292605154c5d8a
X-Spam-Score: -0.6 (/)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
	sender-domain
	0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
	(kgreenek[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.0 HTML_MESSAGE           BODY: HTML included in message
	-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	author's domain
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Headers-End: 1YpSWG-00022c-1U
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] New release of replace-by-fee for Bitcoin
 Core v0.10.1
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Tue, 05 May 2015 02:23:37 -0000

--047d7bfd027044292605154c5d8a
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

I feel compelled to re-share Mike Hearn's counter-argument *against *
replace-by-fee:
https://medium.com/@octskyward/replace-by-fee-43edd9a1dd6d

Please carefully consider the effects of replace-by-fee before applying
Peter's patch.

On Sun, May 3, 2015 at 9:36 PM, Peter Todd <pete@petertodd.org> wrote:

> My replace-by-fee patch is now available for the v0.10.1 release:
>
>     https://github.com/petertodd/bitcoin/tree/replace-by-fee-v0.10.1
>
> No new features in this version; this is simply a rebase for the Bitcoin
> Core v0.10.1 release. (there weren't even any merge conflicts) As with
> the Bitcoin Core v0.10.1, it's recommended to upgrade.
>
>
> The following text is the copied verbatim from the previous release:
>
> What's replace-by-fee?
> ----------------------
>
> Currently most Bitcoin nodes accept the first transaction they see
> spending an output to the mempool; all later transactions are rejected.
> Replace-by-fee changes this behavior to accept the transaction paying
> the highest fee, both absolutely, and in terms of fee-per-KB. Replaced
> children are also considered - a chain of transactions is only replaced
> if the replacement has a higher fee than the sum of all replaced
> transactions.
>
> Doing this aligns standard node behavior with miner incentives: earn the
> most amount of money per block. It also makes for a more efficient
> transaction fee marketplace, as transactions that are "stuck" due to bad
> fee estimates can be "unstuck" by double-spending them with higher
> paying versions of themselves. With scorched-earth techniques=E2=81=B5 it=
 gives
> a path to making zeroconf transactions economically secure by relying on
> economic incentives, rather than "honesty" and alturism, in the same way
> Bitcoin mining itself relies on incentives rather than "honesty" and
> alturism.
>
> Finally for miners adopting replace-by-fee avoids the development of an
> ecosystem that relies heavily on large miners punishing smaller ones for
> misbehavior, as seen in Harding's proposal=E2=81=B6 that miners collectiv=
ely 51%
> attack miners who include doublespends in their blocks - an unavoidable
> consequence of imperfect p2p networking in a decentralized system - or
> even Hearn's proposal=E2=81=B7 that a majority of miners be able to vote =
to
> confiscate the earnings of the minority and redistribute them at will.
>
>
> Installation
> ------------
>
> Once you've compiled the replace-by-fee-v0.10.1 branch just run your
> node normally. With -debug logging enabled, you'll see messages like the
> following in your ~/.bitcoin/debug.log indicating your node is replacing
> transactions with higher-fee paying double-spends:
>
>     2015-02-12 05:45:20 replacing tx
> ca07cc2a5eaf55ab13be7ed7d7526cb9d303086f116127608e455122263f93ea with
> c23973c08d71cdadf3a47bae45566053d364e77d21747ae7a1b66bf1dffe80ea for
> 0.00798 BTC additional fees, -1033 delta bytes
>
> Additionally you can tell if you are connected to other replace-by-fee
> nodes, or Bitcoin XT nodes, by examining the service bits advertised by
> your peers:
>
>     $ bitcoin-cli getpeerinfo | grep services | egrep
> '((0000000000000003)|(0000000004000001))'
>             "services" : "0000000000000003",
>             "services" : "0000000004000001",
>             "services" : "0000000004000001",
>             "services" : "0000000000000003",
>             "services" : "0000000004000001",
>             "services" : "0000000004000001",
>             "services" : "0000000000000003",
>             "services" : "0000000000000003",
>
> Replace-by-fee nodes advertise service bit 26 from the experimental use
> range; Bitcoin XT nodes advertise service bit 1 for their getutxos
> support. The code sets aside a certain number of outgoing and incoming
> slots just for double-spend relaying nodes, so as long as everything is
> working you're node should be connected to like-minded nodes a within 30
> minutes or so of starting up.
>
> If you *don't* want to advertise the fact that you are running a
> replace-by-fee node, just checkout a slightly earlier commit in git; the
> actual mempool changes are separate from the preferential peering
> commits. You can then connect directly to a replace-by-fee node using
> the -addnode command line flag.
>
> 1) https://github.com/bitcoinxt/bitcoinxt
> 2) https://github.com/bitcoin/bitcoin/pull/3883
> 3) https://github.com/bitcoin/bitcoin/pull/3883#issuecomment-45543370
> 4) https://github.com/luke-jr/bitcoin/tree/0.10.x-ljrP
> 5)
> http://www.mail-archive.com/bitcoin-development%40lists.sourceforge.net/m=
sg05211.html
> 6)
> http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg=
06970.html
> 7)
> http://www.mail-archive.com/bitcoin-development%40lists.sourceforge.net/m=
sg04972.html
>
> --
> 'peter'[:-1]@petertodd.org
> 0000000000000000059a3dd65f0e5ffb8fdf316d6f31921fefcf0ef726120be9
>
>
> -------------------------------------------------------------------------=
-----
> One dashboard for servers and applications across Physical-Virtual-Cloud
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>

--047d7bfd027044292605154c5d8a
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"color:rgb(51,102,102=
)">I feel compelled to re-share Mike Hearn&#39;s counter-argument <i>agains=
t </i>replace-by-fee:</div><div class=3D"gmail_default"><font color=3D"#336=
666"><a href=3D"https://medium.com/@octskyward/replace-by-fee-43edd9a1dd6d"=
 target=3D"_blank">https://medium.com/@octskyward/replace-by-fee-43edd9a1dd=
6d</a></font><br></div><div class=3D"gmail_default"><font color=3D"#336666"=
><br></font></div><div class=3D"gmail_default"><font color=3D"#336666">Plea=
se carefully consider the effects of replace-by-fee before applying Peter&#=
39;s patch.</font></div><div class=3D"gmail_extra"><br><div class=3D"gmail_=
quote">On Sun, May 3, 2015 at 9:36 PM, Peter Todd <span dir=3D"ltr">&lt;<a =
href=3D"mailto:pete@petertodd.org" target=3D"_blank">pete@petertodd.org</a>=
&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0=
 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">My replace-by-fee patc=
h is now available for the v0.10.1 release:<br>
<br>
=C2=A0 =C2=A0 <a href=3D"https://github.com/petertodd/bitcoin/tree/replace-=
by-fee-v0.10.1" target=3D"_blank">https://github.com/petertodd/bitcoin/tree=
/replace-by-fee-v0.10.1</a><br>
<br>
No new features in this version; this is simply a rebase for the Bitcoin<br=
>
Core v0.10.1 release. (there weren&#39;t even any merge conflicts) As with<=
br>
the Bitcoin Core v0.10.1, it&#39;s recommended to upgrade.<br>
<br>
<br>
The following text is the copied verbatim from the previous release:<br>
<br>
What&#39;s replace-by-fee?<br>
----------------------<br>
<br>
Currently most Bitcoin nodes accept the first transaction they see<br>
spending an output to the mempool; all later transactions are rejected.<br>
Replace-by-fee changes this behavior to accept the transaction paying<br>
the highest fee, both absolutely, and in terms of fee-per-KB. Replaced<br>
children are also considered - a chain of transactions is only replaced<br>
if the replacement has a higher fee than the sum of all replaced<br>
transactions.<br>
<br>
Doing this aligns standard node behavior with miner incentives: earn the<br=
>
most amount of money per block. It also makes for a more efficient<br>
transaction fee marketplace, as transactions that are &quot;stuck&quot; due=
 to bad<br>
fee estimates can be &quot;unstuck&quot; by double-spending them with highe=
r<br>
paying versions of themselves. With scorched-earth techniques=E2=81=B5 it g=
ives<br>
a path to making zeroconf transactions economically secure by relying on<br=
>
economic incentives, rather than &quot;honesty&quot; and alturism, in the s=
ame way<br>
Bitcoin mining itself relies on incentives rather than &quot;honesty&quot; =
and<br>
alturism.<br>
<br>
Finally for miners adopting replace-by-fee avoids the development of an<br>
ecosystem that relies heavily on large miners punishing smaller ones for<br=
>
misbehavior, as seen in Harding&#39;s proposal=E2=81=B6 that miners collect=
ively 51%<br>
attack miners who include doublespends in their blocks - an unavoidable<br>
consequence of imperfect p2p networking in a decentralized system - or<br>
even Hearn&#39;s proposal=E2=81=B7 that a majority of miners be able to vot=
e to<br>
confiscate the earnings of the minority and redistribute them at will.<br>
<br>
<br>
Installation<br>
------------<br>
<br>
Once you&#39;ve compiled the replace-by-fee-v0.10.1 branch just run your<br=
>
node normally. With -debug logging enabled, you&#39;ll see messages like th=
e<br>
following in your ~/.bitcoin/debug.log indicating your node is replacing<br=
>
transactions with higher-fee paying double-spends:<br>
<br>
=C2=A0 =C2=A0 2015-02-12 05:45:20 replacing tx ca07cc2a5eaf55ab13be7ed7d752=
6cb9d303086f116127608e455122263f93ea with c23973c08d71cdadf3a47bae45566053d=
364e77d21747ae7a1b66bf1dffe80ea for 0.00798 BTC additional fees, -1033 delt=
a bytes<br>
<br>
Additionally you can tell if you are connected to other replace-by-fee<br>
nodes, or Bitcoin XT nodes, by examining the service bits advertised by<br>
your peers:<br>
<br>
=C2=A0 =C2=A0 $ bitcoin-cli getpeerinfo | grep services | egrep &#39;((0000=
000000000003)|(0000000004000001))&#39;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;services&quot; : &quot;0000=
000000000003&quot;,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;services&quot; : &quot;0000=
000004000001&quot;,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;services&quot; : &quot;0000=
000004000001&quot;,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;services&quot; : &quot;0000=
000000000003&quot;,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;services&quot; : &quot;0000=
000004000001&quot;,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;services&quot; : &quot;0000=
000004000001&quot;,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;services&quot; : &quot;0000=
000000000003&quot;,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;services&quot; : &quot;0000=
000000000003&quot;,<br>
<br>
Replace-by-fee nodes advertise service bit 26 from the experimental use<br>
range; Bitcoin XT nodes advertise service bit 1 for their getutxos<br>
support. The code sets aside a certain number of outgoing and incoming<br>
slots just for double-spend relaying nodes, so as long as everything is<br>
working you&#39;re node should be connected to like-minded nodes a within 3=
0<br>
minutes or so of starting up.<br>
<br>
If you *don&#39;t* want to advertise the fact that you are running a<br>
replace-by-fee node, just checkout a slightly earlier commit in git; the<br=
>
actual mempool changes are separate from the preferential peering<br>
commits. You can then connect directly to a replace-by-fee node using<br>
the -addnode command line flag.<br>
<br>
1) <a href=3D"https://github.com/bitcoinxt/bitcoinxt" target=3D"_blank">htt=
ps://github.com/bitcoinxt/bitcoinxt</a><br>
2) <a href=3D"https://github.com/bitcoin/bitcoin/pull/3883" target=3D"_blan=
k">https://github.com/bitcoin/bitcoin/pull/3883</a><br>
3) <a href=3D"https://github.com/bitcoin/bitcoin/pull/3883#issuecomment-455=
43370" target=3D"_blank">https://github.com/bitcoin/bitcoin/pull/3883#issue=
comment-45543370</a><br>
4) <a href=3D"https://github.com/luke-jr/bitcoin/tree/0.10.x-ljrP" target=
=3D"_blank">https://github.com/luke-jr/bitcoin/tree/0.10.x-ljrP</a><br>
5) <a href=3D"http://www.mail-archive.com/bitcoin-development%40lists.sourc=
eforge.net/msg05211.html" target=3D"_blank">http://www.mail-archive.com/bit=
coin-development%40lists.sourceforge.net/msg05211.html</a><br>
6) <a href=3D"http://www.mail-archive.com/bitcoin-development@lists.sourcef=
orge.net/msg06970.html" target=3D"_blank">http://www.mail-archive.com/bitco=
in-development@lists.sourceforge.net/msg06970.html</a><br>
7) <a href=3D"http://www.mail-archive.com/bitcoin-development%40lists.sourc=
eforge.net/msg04972.html" target=3D"_blank">http://www.mail-archive.com/bit=
coin-development%40lists.sourceforge.net/msg04972.html</a><br>
<span><font color=3D"#888888"><br>
--<br>
&#39;peter&#39;[:-1]@<a href=3D"http://petertodd.org" target=3D"_blank">pet=
ertodd.org</a><br>
0000000000000000059a3dd65f0e5ffb8fdf316d6f31921fefcf0ef726120be9<br>
</font></span><br>---------------------------------------------------------=
---------------------<br>
One dashboard for servers and applications across Physical-Virtual-Cloud<br=
>
Widest out-of-the-box monitoring support with 50+ applications<br>
Performance metrics, stats and reports that give you Actionable Insights<br=
>
Deep dive visibility with transaction tracing using APM Insight.<br>
<a href=3D"http://ad.doubleclick.net/ddm/clk/290420510;117567292;y" target=
=3D"_blank">http://ad.doubleclick.net/ddm/clk/290420510;117567292;y</a><br>=
_______________________________________________<br>
Bitcoin-development mailing list<br>
<a href=3D"mailto:Bitcoin-development@lists.sourceforge.net" target=3D"_bla=
nk">Bitcoin-development@lists.sourceforge.net</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/bitcoin-development=
" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/bitcoin-de=
velopment</a><br>
<br></blockquote></div><br></div></div>

--047d7bfd027044292605154c5d8a--