Subject: Re: [Bitcoin-development] Re-enabling simple tx replacement

From: Gregory Maxwell <[email-masked]>
Date: Sun, 4 Jan 2015 17:04:24 +0000

On Sun, Jan 4, 2015 at 2:43 PM, Ross Nicoll <[email-masked]> wrote:
> Dear all,
>
> I've been looking at atomic cross-chain trading (
> https://en.bitcoin.it/wiki/Atomic_cross-chain_trading ) between the
> Bitcoin and Dogecoin blockchains, and have a mostly functional
> prototype. However as it stands if the refund transaction is relayed
> before the actual spend transaction, it "blocks" the legitimate spend
> transaction from being accepted into the memory pool.

Unless there is a serious bug that I am not aware of this is not the
case. The unlocked transaction is not relayable and will not be
mempooled (well, until right before it locks).

> I've drafted a patch for this
> https://github.com/rnicoll/bitcoin/commit/e668d36607f008990ccaac7275e463a6efdd9b5a
> but have not yet raised a PR, as historically this has lead to a lot of
> discussion in Github which is better suited to this mailing list.
>
> I'm therefore looking for feedback while I continue testing that patch,
> and any comments would be welcomed.

This appears to have absolutely no protection against denial of
service, it seems to me that a single user can rapidly update their
transaction and exhaust the relay bandwidth of the entire network.