Subject: Re: [bitcoin-dev] REQ BIP # / Discuss - Sweep incoming unconfirmed transactions with a bounty.

From: Peter Todd <[email-masked]>
Date: Fri, 3 Jul 2015 17:56:58 -0400

On Wed, Jul 01, 2015 at 09:52:57PM -0700, Mark Friedenbach wrote:
> This is called child pays for parent and there is a three year old pull
> request implementing it:
> 
> https://github.com/bitcoin/bitcoin/pull/1647

CPFP probably needs changes to the P2P layer to be able to support RBF
scorched earth well unfortunately, as currently transactions are
processed individually and out of context. In the RBF case you'd need to
keep previously removed transactions in a buffer and evaluate new
transactions against that buffer - relatively complex.

The other big issue is that existing wallets don't appear to be very
good at preventing double-spends. There's lots of edge cases where
transations aren't recorded correctly, like crashes, shutting down
unexpected etc. and in those cases there's a high chance of the wallet
sending a double-spend by accident. There's also coinjoin to consider -
plainly incompatible. With scorched-earth this will lead to losses.

Fortunately you can implement scorched-earth using SIGHASH_ANYONECANPAY
instead on an opt-in basis, which wallets could add only if they've
taken the special engineering considerations into account first:

    "Replace-by-fee scorched-earth without child-pays-for-parent",
    Peter Todd, Bitcoin-development mailing list, Apr 28th 2014
    http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2014-April/005620.html

For the OP: I'd be interested in pursuing this further.

-- 
'peter'[:-1]@petertodd.org
000000000000000015665ce75a321e5827cdf9af667eaa75aaeefbc315514da5