public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Peter Todd <pete@petertodd.org>
To: Mark Friedenbach <mark@friedenbach.org>
Cc: bitcoin-dev@lists.linuxfoundation.org
Subject: Re: [bitcoin-dev] REQ BIP # / Discuss - Sweep incoming unconfirmed transactions with a bounty.
Date: Fri, 3 Jul 2015 17:56:58 -0400	[thread overview]
Message-ID: <20150703215658.GC5916@muck> (raw)
In-Reply-To: <CAOG=w-swH-_cD00Xy5yCN7LebeQSh-oG0gXFM6LxNSDwQZ64Tw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1569 bytes --]

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

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 650 bytes --]

  parent reply	other threads:[~2015-07-03 21:57 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-02  4:44 [bitcoin-dev] REQ BIP # / Discuss - Sweep incoming unconfirmed transactions with a bounty Dan Bryant
2015-07-02  4:52 ` Mark Friedenbach
2015-07-02  4:57   ` Matt Whitlock
2015-07-02 13:13     ` Tier Nolan
2015-07-03 21:56   ` Peter Todd [this message]
2015-07-06  4:14     ` Dan Bryant
2015-07-06  4:20       ` Micha Bailey
2015-07-06  4:24       ` Luke Dashjr
2015-07-09  6:17         ` Aaron Voisine
2015-07-09  6:22           ` Luke Dashjr
2015-07-09  7:19             ` Dan Bryant
2015-07-15  8:26       ` Dan Bryant
2015-08-26 15:28         ` Aaron Voisine

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150703215658.GC5916@muck \
    --to=pete@petertodd.org \
    --cc=bitcoin-dev@lists.linuxfoundation.org \
    --cc=mark@friedenbach.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox