Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 9239CF5D for ; 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 ; Sun, 28 Jan 2018 18:08:34 +0000 (UTC) Received: by mail-oi0-f47.google.com with SMTP id c189so2807951oib.12 for ; 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: <20180122200023.GA1055@savin.petertodd.org> <7yyS0mCgC8UWMYR_Jf1hB_GkkGj6Iu8tnIO7TeXWWyCrg9j4RZ7ziprCPZcv2xsFZdUzcFuHyeMU2-RBujzlSXdUAWlqdricuL2abaX0PWE=@protonmail.com> <20180124074453.GC12767@savin.petertodd.org> <36682FF4-5C68-4610-9E82-FCE6F93E050F@sprovoost.nl> <20180128172948.5y32cc6rvf3saolj@fedora-23-dvm> From: Moral Agent Date: Sun, 28 Jan 2018 13:08:33 -0500 Message-ID: To: "David A. Harding" , Bitcoin Protocol Discussion 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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
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.

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 i= n them earning less fees.

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.

Everyon= e 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 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.

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?



On Sun, Jan 28, 2018 at 12:29 PM,= David A. Harding via bitcoin-dev <bitcoin-dev@lists.l= inuxfoundation.org> wrote:
= On Sun, Jan 28, 2018 at 05:43:34PM +0100, Sjors Provoost v= ia bitcoin-dev wrote:
> Peter Todd wrote:
> > In fact I considered only requiring an increase in fee rate, base= d on the
> > theory that if absolute fee went down, the transaction must be sm= aller and thus
> > miners could overall earn more from the additional transactions t= hey could fit
> > into their block. But to do that properly requires considering wh= ether 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 crite= ria 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 h= is
mempool currently only has 750,000 vbytes in it.=C2=A0 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.=C2=A0 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.=C2=A0 That may one day be true of the<= br> 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--