Characterizing orphan transaction in the Bitcoin network

Characterizing orphan transaction in the Bitcoin network
2020-02-03  3:41 ` Matt Corallo
  
From: Anas @ 2020-01-31 23:07 UTC (permalink / raw)
  To: bitcoin-dev

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

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

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

 permalink raw reply	[|nested]
2020-01-31 23:07 [bitcoin-dev] Characterizing orphan transaction in the Bitcoin network Anas

  
From: Matt Corallo @ 2020-02-03  3:41 UTC ( / )
  To: Anas, Bitcoin Protocol Discussion



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