Return-Path: <james.obeirne@gmail.com>
Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])
 by lists.linuxfoundation.org (Postfix) with ESMTP id 6ADCFC000B
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 14 Feb 2022 19:51:40 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp1.osuosl.org (Postfix) with ESMTP id 5358C81763
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 14 Feb 2022 19:51:40 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level: 
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: smtp1.osuosl.org (amavisd-new);
 dkim=pass (2048-bit key) header.d=gmail.com
Received: from smtp1.osuosl.org ([127.0.0.1])
 by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id bRPnu4heNDwj
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 14 Feb 2022 19:51:39 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.8.0
Received: from mail-yb1-xb2e.google.com (mail-yb1-xb2e.google.com
 [IPv6:2607:f8b0:4864:20::b2e])
 by smtp1.osuosl.org (Postfix) with ESMTPS id 6D0D7813BE
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 14 Feb 2022 19:51:39 +0000 (UTC)
Received: by mail-yb1-xb2e.google.com with SMTP id o19so49238389ybc.12
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 14 Feb 2022 11:51:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=UBJPVvre5aDrM4+jPfxWX8DwPyAkDA3vFP4twqr9skw=;
 b=htrmfK6etL/GmBHB/aZwh/Gbw7UAW020/3HhZUCe+owaaEwTxxXD1avEqpJYZpUdIa
 g9SgbLyW3eMaY/bRyBIK6QlRdMK+6JiTkHWOV+vwtVC7XzNh7Age0eISQ+7Tpu3H9LEF
 hC+sODcTA9x3LLUNkBJivwCHlaHr3xMRgFmI4q6kKs/t3LV+vEiydCPZNIEMB4Pv1bQX
 JAdxMklHGOLuxrUr/GurjlmrVtsDE8JvgdidrcHRDa/5ZL+Dld4oRz2rQj8AgRNFUNcB
 IT/9sACm3MmaqDimrpk6xD326xHKk1bnslUAOALQaTxV/Of8aeEITMyjnn3Hj45wRzNi
 MNMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=UBJPVvre5aDrM4+jPfxWX8DwPyAkDA3vFP4twqr9skw=;
 b=7OFtpS4sd8Umy65kxoItAEWEJYJbemLaxIygslHyhEYPRYNwSep7YjyRxBmW68Il4s
 9Os2Igw268fVNj+53J6BsZ6mL1207Hu7L+W6CsmW/ZRLJk28tkHJWKPIKFvjcREbFWkF
 kJbjn3oSO7fRDkMmWA5uii626SI00mZ7pBw5u/ZIKgV3SfZMVxHKCPli5xU+Vp80zBRJ
 /sIxkAgrGcNd8p3YZLsa1cho56LMtybu0Wt3h+k6xPgwPGCJL2Bd8joMPQWHg3ujqYJX
 rFu7NrHHDBGrBhscczlQhlF7l32aXIy/pHWLMHefy2JVcspuKSgyU4ZnI92S6g4wS67C
 7c8A==
X-Gm-Message-State: AOAM5316233sAr1zXf6PBx+GlpkKRPBbdn59EB86wB2VQiW9mB9Gsd/1
 j9OfTugQMUCDHBQA4NVT0AFPYsOwhy3KD9J0lE0qxuScKXueZw==
X-Google-Smtp-Source: ABdhPJyCAsSFEFdDIWhL534e2yzXMuY76XhAkLWu0gdE6G18WUknrk0V0SRv2/liI+stmuZ/UZ8ab93lChGHcfI81Tw=
X-Received: by 2002:a81:4528:: with SMTP id s40mr386953ywa.188.1644868297905; 
 Mon, 14 Feb 2022 11:51:37 -0800 (PST)
MIME-Version: 1.0
References: <CAPfvXfKrnju1fzxOKs3Fx00NOPWHjedF7e4xMSGs8buwc0O2kw@mail.gmail.com>
 <8be86b19-04eb-af12-a54c-e1140ac62e3f@mattcorallo.com>
In-Reply-To: <8be86b19-04eb-af12-a54c-e1140ac62e3f@mattcorallo.com>
From: "James O'Beirne" <james.obeirne@gmail.com>
Date: Mon, 14 Feb 2022 14:51:26 -0500
Message-ID: <CAPfvXfJX3sc_QKkWzPVRR=-P4eJb4SsfDNO4XjUxCgN1EK_Tpw@mail.gmail.com>
To: Matt Corallo <lf-lists@mattcorallo.com>
Content-Type: multipart/alternative; boundary="0000000000009958d205d7ffbe7b"
Cc: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Thoughts on fee bumping
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, 
 <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, 
 <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Feb 2022 19:51:40 -0000

--0000000000009958d205d7ffbe7b
Content-Type: text/plain; charset="UTF-8"

> This entirely misses the network cost. Yes, sure, we can send
> "diffs", but if you send enough diffs eventually you send a lot of data.

The whole point of that section of the email was to consider the
network cost. There are many cases for which transmitting a
supplementary 1-in-1-out transaction (i.e. a sponsorship txn) is going
to be more efficient from a bandwidth standpoint than rebroadcasting a
potentially large txn during RBF.

> > In an ideal design, special structural foresight would not be
> > needed in order for a txn's feerate to be improved after broadcast.
> >
> > Anchor outputs specified solely for CPFP, which amount to many
> > bytes of wasted chainspace, are a hack. > It's probably
> > uncontroversial at this
>
> This has nothing to do with fee bumping, though, this is only solved
> with covenants or something in that direction, not different relay
> policy.

My post isn't only about relay policy; it's that txn
sponsors allows for fee-bumping in cases where RBF isn't possible and
CPFP would be wasteful, e.g. for a tree of precomputed vault
transactions or - maybe more generally - certain kinds of
covenants.

> How does this not also fail your above criteria of not wasting block
> space?

In certain cases (e.g. vault structures), using sponsorship txns to
bump fees as-needed is more blockspace-efficient than including
mostly-unused CPFP "anchor" outputs that pay to fee-management wallets.
I'm betting there are other similar cases where CPFP anchors are
included but not necessarily used, and amount to wasted blockspace.

> Further, this doesn't solve pinning attacks at all. In lightning we
> want to be able to *replace* something in the mempool (or see it
> confirm soon, but that assumes we know exactly what transaction is in
> "the" mempool). Just being able to sponsor something doesn't help if
> you don't know what that thing is.

When would you be trying to bump the fee on a transaction without
knowing what it is? Seeing a specific transaction "stuck" in the
mempool seems to be a prerequisite to bumping fees. I'm not sure what
you're getting at here.

--0000000000009958d205d7ffbe7b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">&gt; This entirely misses the network cost. Yes, sure, we =
can send<br>&gt; &quot;diffs&quot;, but if you send enough diffs eventually=
 you send a lot of data.<br><br>The whole point of that section of the emai=
l was to consider the<br>network cost. There are many cases for which trans=
mitting a<br>supplementary 1-in-1-out transaction (i.e. a sponsorship txn) =
is going<br>to be more efficient from a bandwidth standpoint than rebroadca=
sting a<br>potentially large txn during RBF. <br><br>&gt; &gt; In an ideal =
design, special structural foresight would not be<br>&gt; &gt; needed in or=
der for a txn&#39;s feerate to be improved after broadcast.<br>&gt; &gt; <b=
r>&gt; &gt; Anchor outputs specified solely for CPFP, which amount to many<=
br>&gt; &gt; bytes of wasted chainspace, are a hack. &gt; It&#39;s probably=
<br>&gt; &gt; uncontroversial at this<br>&gt;<br>&gt; This has nothing to d=
o with fee bumping, though, this is only solved<br>&gt; with covenants or s=
omething in that direction, not different relay<br>&gt; policy.<br><br>My p=
ost isn&#39;t only about relay policy; it&#39;s that txn<br>sponsors allows=
 for fee-bumping in cases where RBF isn&#39;t possible and<br>CPFP would be=
 wasteful, e.g. for a tree of precomputed vault<br><div>transactions or - m=
aybe more generally - certain kinds of</div><div>covenants.</div><br>&gt; H=
ow does this not also fail your above criteria of not wasting block<br>&gt;=
 space?<br><br>In certain cases (e.g. vault structures), using sponsorship =
txns to<br>bump fees as-needed is more blockspace-efficient than including<=
br>mostly-unused CPFP &quot;anchor&quot; outputs that pay to fee-management=
 wallets.<br>I&#39;m betting there are other similar cases where CPFP ancho=
rs are<br>included but not necessarily used, and amount to wasted blockspac=
e.<br><br>&gt; Further, this doesn&#39;t solve pinning attacks at all. In l=
ightning we<br>&gt; want to be able to *replace* something in the mempool (=
or see it<br>&gt; confirm soon, but that assumes we know exactly what trans=
action is in<br>&gt; &quot;the&quot; mempool). Just being able to sponsor s=
omething doesn&#39;t help if<br>&gt; you don&#39;t know what that thing is.=
<br><br>When would you be trying to bump the fee on a transaction without<b=
r>knowing what it is? Seeing a specific transaction &quot;stuck&quot; in th=
e<br>mempool seems to be a prerequisite to bumping fees. I&#39;m not sure w=
hat<br>you&#39;re getting at here.<br></div>

--0000000000009958d205d7ffbe7b--