Subject: Re: [bitcoin-dev] Can we penalize peers who relay rejected replacement txs?

From: Matt Whitlock <[email-masked]>
Date: Thu, 09 Jul 2015 21:12:14 -0400

Um, it's called "replace-by-fee" for a reason. The transaction [set] paying the highest fee [rate] is always the one that will be accepted. You can't use the order in which transactions were received to determine which one is the "replacing" transaction and which is/are the "replaced" transaction(s) because order is not defined for transactions in the mempool. (Ordering transactions is precisely why we must have a block chain.)

On Thursday, 9 July 2015, at 5:42 pm, Raystonn wrote:
> It is a mistake for RBF to assume a transaction with lower fee is invalid.  If I paid a higher fee to get a one hour confirmation in the current congestion, I might want to drop back to a lower fee if I see the spam stop.
> 
> On 9 Jul 2015 4:55 pm, Matt Whitlock <[email-masked]> wrote:
> > I'm presently running my full node with Peter Todd's full replace-by-fee patch set [1]. I am seeing a LOT of messages in the log about replacement transactions being rejected due to their paying less in fees than the transactions they would replace. I understand that this could happen legitimately from time to time, due to my node's receiving a replacing transaction prior to receiving the replaced transaction; however, due to the ongoing spam attack, I am seeing a steady stream of these rejection messages, dozens per second at times. I am wondering if each replacement rejection ought to penalize the peer who relayed the offending transaction, and if the penalty builds up enough, then the peer could be temporarily banned, similar to how other "misbehaving" peers are treated.
> > 
> > [1] https://github.com/petertodd/bitcoin/commits/replace-by-fee-v0.10.2