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