public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: ZmnSCPxj <ZmnSCPxj@protonmail•com>
To: Prayank <prayank@tutanota•de>
Cc: Bitcoin Dev <bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] Fee estimates and RBF
Date: Tue, 18 May 2021 13:10:12 +0000	[thread overview]
Message-ID: <0e_yUTTdaV57Dxzome846NEUsmp2MmrY19-7OWHGyNw0g5IKwkfTR3jN4xLLYNgy_PMya1BkutZLmfZEdsYyARFHM3zp5qZ_eH1DvefS8uw=@protonmail.com> (raw)
In-Reply-To: <M_eKbLz--N-2@tutanota.de>

Good morning Prayank,

>  But it will involve lot of exception handling.


Yes, that is precisely the problem here.

If you select a fixed feerate and then just broadcast-and-forget, you have no real exceptions you have to handle --- but that means not using RBF at all.


Testing the handling of reorgs in particular is important, as a reorg might use an older version of an RBFed transaction rather than a newer version.
This also implies that further follow-up transactions might need to be recreated in such a case.

As this is financial code, we need a lot of testing, and code that has a lot of branches due to having to handle a lot of possible exceptions and so forth is a headache to completely cover in testing.


C-lightning supposedly supports RBF, in the sense that every transaction it makes always signals RBF, but I am almost certain there are edge cases where it might mishandle a replaced transaction and lose track of onchain funds, and it is difficult to support both "we can spend unconfirmed change outputs" (a very common feature of nearly every onchain wallet) with "we can change the feerate of unconfirmed transactions" (which changes the txid and therefore the UTXO id of the change output spent by use of the previous feature).

Regards,
ZmnSCPxj


  reply	other threads:[~2021-05-18 13:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-14 10:05 Prayank
2021-05-18 13:10 ` ZmnSCPxj [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-04-30 20:28 Prayank
2021-05-01  0:11 ` Jeremy
2021-05-01 16:59   ` Prayank
2021-05-03  4:02 ` ZmnSCPxj
2021-05-06  1:57   ` Prayank

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='0e_yUTTdaV57Dxzome846NEUsmp2MmrY19-7OWHGyNw0g5IKwkfTR3jN4xLLYNgy_PMya1BkutZLmfZEdsYyARFHM3zp5qZ_eH1DvefS8uw=@protonmail.com' \
    --to=zmnscpxj@protonmail$(echo .)com \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    --cc=prayank@tutanota$(echo .)de \
    /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