summaryrefslogtreecommitdiff
path: root/55/9b8e894942d26acf49e7aa0093c8f99e927ff4
blob: f67ede138e44627cb6640ef9a4273175bc7627a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
Return-Path: <ethan.scruples@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 9239CF5D
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Sun, 28 Jan 2018 18:08:35 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-oi0-f47.google.com (mail-oi0-f47.google.com
	[209.85.218.47])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id B28FF2F5
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Sun, 28 Jan 2018 18:08:34 +0000 (UTC)
Received: by mail-oi0-f47.google.com with SMTP id c189so2807951oib.12
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Sun, 28 Jan 2018 10:08:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to; 
	bh=E0/P8o6FfSIR235wx4+vAlcp7TYi2n0Y1dKcw1svbnY=;
	b=MCGYSk2bJ3uLbtHvQLI2ym/aJ7qI2cvySHFgp++lAsEHMcgyX2ArO3PMtFQ9MGENAR
	5tX+5taPgmxt1ZB5BNJuTBhBrOhB14LmFuC6eHymRNdIxMeLKIxKMladq/Y5ioh8uPUX
	1/hOKcjb+QYveQYSUfIFzG3LphAqWY9eooJwVYifzgv3cXPaUMnoR2XqNz5Ag/DDfSWR
	BX/ib092IaZm3MKGJo/V8jODlwZ3Im6d1Bwdmq5S6RTW0PFFqWJcYMjR3wpLDoJ/dUVr
	X5jwsaztGjsVXkrvgbt1kRkhGXmjiz3zgZc+CnhAAMll/bo+78B/lpfWHIUoKOJlZ+rZ
	pvAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20161025;
	h=x-gm-message-state:mime-version:in-reply-to:references:from:date
	:message-id:subject:to;
	bh=E0/P8o6FfSIR235wx4+vAlcp7TYi2n0Y1dKcw1svbnY=;
	b=K1Cm3cKsu5btZl1IJ0tnOZvCY4vUZ7WdESPRV0BQIB+8Tq1vALXvJ/LPFrRtB8FIFJ
	EE233O6qnFbKXX+awtnhcOBVhL4ffrl3TrR5Cs7uzh0JzKCOLLLY6KfhcdtTpGUIEcJa
	K1mRabRWzp3A3NMiycT4MHdJpDuQL94/NWSinmY8fHvxouw8cdXziTlHs5zDE/K2Gd/J
	P/POnpOs6pdo/PzJFsrZGWh6IleEobXjBpriAzmYIaMuXgvVOWHQhm64JPhR/n/AwWVD
	+/dI0iGzlPAOZzVmwXEe6BfZ5+CJeE9m6mAp43fCqJ28mHqCr8hVRG7Kltv1l36SGtqv
	yKvA==
X-Gm-Message-State: AKwxytfJnXaqBQ4h/qiiHw7g5buqWYUIvPPwR/H492IJ3Bk4GMdzhyll
	3IHlZyPCdoIdsiylWeOcfcdCRd7U19WXRBEtTeNKXA==
X-Google-Smtp-Source: AH8x227l5qQX4tcC8dymQ/SuBhC9fxtQtb98+Xxp+X/l+AopInr0NKwCmzBmaFZrEAuUczyAV1cetOU5cYSbxp8/FCE=
X-Received: by 10.202.23.9 with SMTP id j9mr1036189oii.50.1517162913917; Sun,
	28 Jan 2018 10:08:33 -0800 (PST)
MIME-Version: 1.0
Received: by 10.157.64.194 with HTTP; Sun, 28 Jan 2018 10:08:33 -0800 (PST)
In-Reply-To: <20180128172948.5y32cc6rvf3saolj@fedora-23-dvm>
References: <M8yPGuNmrXfNNwrYDDLpTVb__BhGysVW060Cq_tMc-AC6F7pKd1Vvb4wWbpmhhEvfoQ7fn-EcgfxRwJSVkFAZ5x57hg9XxpdZlDPi2IBJZg=@protonmail.com>
	<20180122200023.GA1055@savin.petertodd.org>
	<7yyS0mCgC8UWMYR_Jf1hB_GkkGj6Iu8tnIO7TeXWWyCrg9j4RZ7ziprCPZcv2xsFZdUzcFuHyeMU2-RBujzlSXdUAWlqdricuL2abaX0PWE=@protonmail.com>
	<CACiOHGw=XUe6Fxmh8JkNPZWK1d3hWaaVPsNy1dPNoU1qULckrA@mail.gmail.com>
	<oY5fxEk2FEJwHTtN9hKit2Unfu9C6CpSKLOVr0Tu99W_ctym_TNtEPLjgSg77e_RePgWHLBF7sNZoXa11aDgm6ClDxT33Jz2M-q3HZC1n40=@protonmail.com>
	<CAAS2fgQBMSOhDBUZ6d9cG7fHg4tRr8o+E0j3ZXhdHkxv4kTwUA@mail.gmail.com>
	<20180124074453.GC12767@savin.petertodd.org>
	<CALPhJayjSopa6qPDAo=8-FVCz5+SjXneGMmoYF2Yi2p3FrCb0g@mail.gmail.com>
	<PdUSy7mO1QTH-sAU_gBRjZOhLi1FoZRPUhNZt80kPL8d0lOgsCfMeNzf52Ae7_wrcTBy7d-tROvRLqBuHMMtmduzAskGuzPlwxI2yG4yY64=@protonmail.com>
	<36682FF4-5C68-4610-9E82-FCE6F93E050F@sprovoost.nl>
	<20180128172948.5y32cc6rvf3saolj@fedora-23-dvm>
From: Moral Agent <ethan.scruples@gmail.com>
Date: Sun, 28 Jan 2018 13:08:33 -0500
Message-ID: <CACiOHGyB-+zEW87af8GsHZAMks4-DjFmZO3Q9=ZjY2LBC8Lr0Q@mail.gmail.com>
To: "David A. Harding" <dave@dtrt.org>, 
	Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary="f4f5e808c6b48cf0cf0563da04c1"
X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE,
	RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
X-Mailman-Approved-At: Sun, 28 Jan 2018 19:27:03 +0000
Subject: Re: [bitcoin-dev] Transaction Merging (bip125 relaxation)
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Sun, 28 Jan 2018 18:08:35 -0000

--f4f5e808c6b48cf0cf0563da04c1
Content-Type: text/plain; charset="UTF-8"

As you point out, depending on the mempool, sometimes a miner makes more
fee by including A and B, while other times a miner makes more fee by
including C (the replacement for A and B) and D (a hypothetical transaction
that cannot be fit into a block that contains A and B but can be fit into a
block with C.

So what are we to make of this? Is it better to relay C or better to not
relay C?

Clearly it is better for the miner if they know about C, because knowing
about C costs them nothing, but not knowing about C will sometimes result
in them earning less fees.

Clearly it is better for the people who are creating C for those
transactions to be mined instead of the more expensive A and B transactions.

Everyone else is better off in that more transactions would get included in
blocks.

A concern about burdening full nodes with extra transactions to relay that
may not be more profitable to mine than the transactions they replace is
still rational -- though intuitively it seems like there would be a limit
on how many times an attacker could cheaply reorganize transactions into
something with a higher fee rate.

Perhaps there are also concerns with reconstruction of blocks from compact
blocks, given that miners would have more decisions to make about which tx
to include?



On Sun, Jan 28, 2018 at 12:29 PM, David A. Harding via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:

> On Sun, Jan 28, 2018 at 05:43:34PM +0100, Sjors Provoost via bitcoin-dev
> wrote:
> > Peter Todd wrote:
> > > In fact I considered only requiring an increase in fee rate, based on
> the
> > > theory that if absolute fee went down, the transaction must be smaller
> and thus
> > > miners could overall earn more from the additional transactions they
> could fit
> > > into their block. But to do that properly requires considering whether
> or not
> > > that's actually true in the particular state the mempool as a whole
> happens to
> > > be in, so I ditched that idea early on for the much simpler criteria
> of both a
> > > feerate and absolute fee increase.
> >
> > Why would you need to consider the whole mempool?
>
> Imagine a miner is only concerned with creating the next block and his
> mempool currently only has 750,000 vbytes in it.  If two 250-vbyte
> transactions each paying a feerate of 100 nanobitcoins per vbyte (50k
> total) are replaced with one 325-vbyte transaction paying a feerate of
> 120 nBTC (39k total), the miner's potential income from mining the next
> block is reduced by 11k nBTC.
>
> Moving away from this easily worked example, the problem can still exist
> even if a miner has enough transactions to fill the next block.  For
> replacement consideration only by increased feerate to be guaranteed
> more profitable, one has to assume the mempool contains an effectively
> continuous distribution of feerates.  That may one day be true of the
> mempool (it would be good, because it helps keep block production
> regular sans subsidy) but it's often not the case these days.
>
> -Dave
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
>

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

<div dir=3D"ltr">As you point out, depending on the mempool, sometimes a mi=
ner makes more fee by including A and B, while other times a miner makes mo=
re fee by including C (the replacement for A and B) and D (a hypothetical t=
ransaction that cannot be fit into a block that contains A and B but can be=
 fit into a block with C.<div><br></div><div>So what are we to make of this=
? Is it better to relay C or better to not relay C?</div><div><br></div><di=
v>Clearly it is better for the miner if they know about C, because knowing =
about C costs them nothing, but not knowing about C will sometimes result i=
n them earning less fees.</div><div><br></div><div>Clearly it is better for=
 the people who are creating C for those transactions to be mined instead o=
f the more expensive A and B transactions.</div><div><br></div><div>Everyon=
e else is better off in that more transactions would get included in blocks=
.</div><div><br></div><div>A concern about burdening full nodes with extra =
transactions to relay that may not be more profitable to mine than the tran=
sactions they replace is still rational -- though intuitively it seems like=
 there would be a limit on how many times an attacker could cheaply reorgan=
ize transactions into something with a higher fee rate.</div><div><br></div=
><div>Perhaps there are also concerns with reconstruction of blocks from co=
mpact blocks, given that miners would have more decisions to make about whi=
ch tx to include?</div><div><br></div><div><br></div></div><div class=3D"gm=
ail_extra"><br><div class=3D"gmail_quote">On Sun, Jan 28, 2018 at 12:29 PM,=
 David A. Harding via bitcoin-dev <span dir=3D"ltr">&lt;<a href=3D"mailto:b=
itcoin-dev@lists.linuxfoundation.org" target=3D"_blank">bitcoin-dev@lists.l=
inuxfoundation.org</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quot=
e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">=
<span class=3D"">On Sun, Jan 28, 2018 at 05:43:34PM +0100, Sjors Provoost v=
ia bitcoin-dev wrote:<br>
&gt; Peter Todd wrote:<br>
&gt; &gt; In fact I considered only requiring an increase in fee rate, base=
d on the<br>
&gt; &gt; theory that if absolute fee went down, the transaction must be sm=
aller and thus<br>
&gt; &gt; miners could overall earn more from the additional transactions t=
hey could fit<br>
&gt; &gt; into their block. But to do that properly requires considering wh=
ether or not<br>
&gt; &gt; that&#39;s actually true in the particular state the mempool as a=
 whole happens to<br>
&gt; &gt; be in, so I ditched that idea early on for the much simpler crite=
ria of both a<br>
&gt; &gt; feerate and absolute fee increase.<br>
&gt;<br>
&gt; Why would you need to consider the whole mempool?<br>
<br>
</span>Imagine a miner is only concerned with creating the next block and h=
is<br>
mempool currently only has 750,000 vbytes in it.=C2=A0 If two 250-vbyte<br>
transactions each paying a feerate of 100 nanobitcoins per vbyte (50k<br>
total) are replaced with one 325-vbyte transaction paying a feerate of<br>
120 nBTC (39k total), the miner&#39;s potential income from mining the next=
<br>
block is reduced by 11k nBTC.<br>
<br>
Moving away from this easily worked example, the problem can still exist<br=
>
even if a miner has enough transactions to fill the next block.=C2=A0 For<b=
r>
replacement consideration only by increased feerate to be guaranteed<br>
more profitable, one has to assume the mempool contains an effectively<br>
continuous distribution of feerates.=C2=A0 That may one day be true of the<=
br>
mempool (it would be good, because it helps keep block production<br>
regular sans subsidy) but it&#39;s often not the case these days.<br>
<br>
-Dave<br>
<br>______________________________<wbr>_________________<br>
bitcoin-dev mailing list<br>
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.=
<wbr>linuxfoundation.org</a><br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.<wbr>org=
/mailman/listinfo/bitcoin-<wbr>dev</a><br>
<br></blockquote></div><br></div>

--f4f5e808c6b48cf0cf0563da04c1--