public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Dan Bryant <dkbryant@gmail•com>
To: Justus Ranvier <justus@openbitcoinprivacyproject•org>
Cc: bitcoin-dev@lists•linuxfoundation.org
Subject: Re: [bitcoin-dev] Why not Child-Pays-For-Parent?
Date: Fri, 10 Jul 2015 12:16:40 -0500	[thread overview]
Message-ID: <CAAUFj11p780PzYu+b_haAU6UDdrsfsDZ6cA_DWrHmQ==RsAE=w@mail.gmail.com> (raw)
In-Reply-To: <559FFAB3.2010309@openbitcoinprivacyproject.org>

On Fri, Jul 10, 2015 at 11:31 AM, Jeff Garzik <jgarzik@gmail•com> wrote:
> This is a good explanation but it does not address reachability.  TX_a, the
> first tx sent out on the network, presumably has insufficient fee to get
> mined - which also means it did not necessarily even reach all miners.
>
> Simply sending out TX_b with added fee does not guarantee that nodes
> suddenly have TX_a, which they may have ignored/dropped before.

True... there are two propagation thresholds... "-minrelaytxfee"
(defaults to 1000 sotoshi/kbyte) and "relaypriority" (defaults to
True).  If -relaypriority is True, then items with a priority above
57600000 (currently <ref1>) will still be relayed, even if their TxFee
is below MinRelayTxFee.

Therefore even if miners are using bitcoind rules for mempool tx
creation, they can still configure how and what they propagate.

The flip-side of this is that a transactions priority will go up the
longer it ages (in the mempool).  So it would be possible (if
relaypriority was on) for even a lowfee transaction to become
relayable eventually simply based on relaypriority

ref1: https://en.bitcoin.it/wiki/Transaction_fees

On Fri, Jul 10, 2015 at 12:02 PM, Justus Ranvier
<justus@openbitcoinprivacyproject•org> wrote:
> CPFP is initiated by the recipient of the parent transaction, and so if
> the recipient is creating this transaction in the first place they must
> have a copy of the parent transaction which can/should broadcast at the
> same time.
>
> If the child reaches a CPFP miner, then presumably the parents made it
> as well (any path between the sender and the miner that doesn't relay
> the parent should reject the child as trying to spend non-existent
> coins), so both of the transactions can be mined at the same time.

If the recipient is running a full node with incoming connections.
I'm not sure if SPV clients rebroadcast both spend and receive
transactions.


  reply	other threads:[~2015-07-10 17:16 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-10 16:09 Richard Moore
2015-07-10 16:13 ` Jeff Garzik
2015-07-10 16:25   ` Richard Moore
2015-07-10 16:26     ` Dan Bryant
2015-07-10 16:28 ` Tier Nolan
2015-07-10 16:31   ` Jeff Garzik
2015-07-10 17:02     ` Justus Ranvier
2015-07-10 17:16       ` Dan Bryant [this message]
2015-07-10 17:51       ` Alex Morcos
2015-07-10 19:39         ` Tier Nolan
2015-07-10 21:10           ` Luke Dashjr
2015-07-11 20:28             ` Micha Bailey
2015-07-11 21:30               ` Dan Bryant
2015-07-11 22:29                 ` Jeff Garzik
2015-07-12 10:18                   ` Matt Whitlock
2015-07-11 23:19                 ` Tier Nolan
2015-07-10 17:28     ` Tier Nolan

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='CAAUFj11p780PzYu+b_haAU6UDdrsfsDZ6cA_DWrHmQ==RsAE=w@mail.gmail.com' \
    --to=dkbryant@gmail$(echo .)com \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    --cc=justus@openbitcoinprivacyproject$(echo .)org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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