public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Matt Corallo <lf-lists@mattcorallo.com>
To: Anas <maimtiaz@bu.edu>,
	Bitcoin Protocol Discussion
	<bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Characterizing orphan transaction in the Bitcoin network
Date: Sun, 2 Feb 2020 19:41:21 -0800	[thread overview]
Message-ID: <AE891071-666A-466F-A8F2-4A15A6C0D700@mattcorallo.com> (raw)
In-Reply-To: <CAPc0aKFuE9RVHj0i3k_C+Lc3dyqk6m4+zvq=JG+51TUgUMFz5w@mail.gmail.com>

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

The orphan pool has nontrivial denial of service properties around transaction validation. In general, I think the goal has been to reduce/remove it, not the other way around. In any case, this is likely the wrong forum for software-level discussion of Bitcoin Core. For that, you probably want to open an issue on github.com/bitcoin/bitcoin.

Matt

> On Feb 1, 2020, at 14:12, Anas via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
> 
> 
> Hi all,
> 
> This paper - https://arxiv.org/pdf/1912.11541.pdf - characterizes orphan transactions in the Bitcoin network and shows that increasing the size of the orphan pool reduces network overhead with almost no additional performance overhead. What are your thoughts?
> 
> Abstract: 
>> Orphan transactions are those whose parental income-sources are missing at the time that they are processed. These transactions are not propagated to other nodes until all of their missing parents are received, and they thus end up languishing in a local buffer until evicted or their parents are found. Although there has been little work in the literature on characterizing the nature and impact of such orphans, it is intuitive that they may affect throughput on the Bitcoin network. This work thus seeks to methodically research such effects through a measurement campaign of orphan transactions on live Bitcoin nodes. Our data show that, surprisingly, orphan transactions tend to have fewer parents on average than non-orphan transactions. Moreover, the salient features of their missing parents are a lower fee and larger size than their non-orphan counterparts, resulting in a lower transaction fee per byte. Finally, we note that the network overhead incurred by these orphan transactions can be significant, exceeding 17% when using the default orphan memory pool size (100 transactions). However, this overhead can be made negligible, without significant computational or memory demands, if the pool size is merely increased to 1000 transactions.
> 
> Regards,
> Anas
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

[-- Attachment #2: Type: text/html, Size: 3384 bytes --]

      reply	other threads:[~2020-02-03  3:41 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-31 23:07 [bitcoin-dev] Characterizing orphan transaction in the Bitcoin network Anas
2020-02-03  3:41 ` Matt Corallo [this message]

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=AE891071-666A-466F-A8F2-4A15A6C0D700@mattcorallo.com \
    --to=lf-lists@mattcorallo.com \
    --cc=bitcoin-dev@lists.linuxfoundation.org \
    --cc=maimtiaz@bu.edu \
    /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