summaryrefslogtreecommitdiff
path: root/1b/8b430b22257a5ac3aa0444d1fb4fee45a5351a
blob: f9818e948a0cd4096906cf35b16525898d689246 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
Return-Path: <rich@gotenna.com>
Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])
 by lists.linuxfoundation.org (Postfix) with ESMTP id 917B5C004C
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri,  7 Aug 2020 15:41:28 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by hemlock.osuosl.org (Postfix) with ESMTP id 808CA885C1
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri,  7 Aug 2020 15:41:28 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
Received: from hemlock.osuosl.org ([127.0.0.1])
 by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id GGUvFUEfTy6v
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri,  7 Aug 2020 15:41:27 +0000 (UTC)
X-Greylist: delayed 00:06:29 by SQLgrey-1.7.6
Received: from mail-oi1-f225.google.com (mail-oi1-f225.google.com
 [209.85.167.225])
 by hemlock.osuosl.org (Postfix) with ESMTPS id A761188557
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri,  7 Aug 2020 15:41:27 +0000 (UTC)
Received: by mail-oi1-f225.google.com with SMTP id u24so2274011oiv.7
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri, 07 Aug 2020 08:41:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gotenna-com.20150623.gappssmtp.com; s=20150623;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=RfJEJdlQ8X36XzkCs0VICsNybYhvlQ058aY+VL1R66Q=;
 b=ENxuxCVVHWugx7f1UY98Wv4VxNL14hgVi1ZtMXmRzckF2+NCG9p9r8Hya2JpAUxCA1
 Wjw1sdooOBlCCgocnZkGKPPHuCIeJ0lZC/p2mPZDujO9Dvsi8VEEPBDrQNa+d1SqWFac
 n6C3qlGvrekSCqNb6z5kLjGJj/iNpzJnEXDiCX0uhnKKOb4OTeEKsO6hqb0bGrGudDa1
 Ww9UUA6R7ahBzb+96X/8fza+/z0cG9gZifld7JTQZciHLMh2oehA/qv5wKWhl97p83UD
 ztrSYSgJxyOVUgUFp2m7+hmkCZUm7GpZiSeTiJNY7LFgwuFMJgz53rJ4Rnkt4R7DG8rQ
 rpxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=RfJEJdlQ8X36XzkCs0VICsNybYhvlQ058aY+VL1R66Q=;
 b=qLXz78Q/9IS9nkBIbLSyCWGt405705QjKNqSrQ0hVDrJT1vB2yizxHrbHmlkAVAVtF
 vwPOyDArhyBf+DylXvi3J/RaiDwSPbLhx5odfuzY5KJBJMM+wtwPnSdkvq3sJRnmVtKu
 9FyxNhomCiKEOqH1LOPkjo4ju2GMIR+dwKnc/T/ZAO3F6p+xY0n2DZPP0SMTun4G3KBA
 audxbjl+r8V1TwSctBYrJZ1eUmwkPfC0rTu0C1IjoY/iXOOq+5S0AwsXfsLoRscaeATV
 S2WhgGt+ZvT7MVdzDl9gF2WJPho4ji5aly+42ZNWvfUNfSdl2M5NmIrmRbviYgORczeR
 a5tg==
X-Gm-Message-State: AOAM532f2h9EeQd10EYsr8BhWX6bPN05eeZ87fwkZZnPvR2s4CyFoa+T
 xkTVmxlG3/vJKEIdbr7ikdHhrQ7Jb5tB2qD4bAJBWx8t6Qzoog==
X-Google-Smtp-Source: ABdhPJzl43NLzmA+8i4ssneFaBKZpgymfPTJyheIAk/D4AfBcs075FbSe2QkGMYe89rC5Qx0/dRmVPGAMBHo
X-Received: by 2002:aca:f38b:: with SMTP id r133mr11957290oih.81.1596814497697; 
 Fri, 07 Aug 2020 08:34:57 -0700 (PDT)
Received: from us2.smtp.exclaimer.net (us2.smtp.exclaimer.net. [104.209.35.28])
 by smtp-relay.gmail.com with ESMTPS id l61sm880860otc.14.2020.08.07.08.34.56
 for <bitcoin-dev@lists.linuxfoundation.org>
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Fri, 07 Aug 2020 08:34:57 -0700 (PDT)
X-Relaying-Domain: gotenna.com
Received: from mail-ej1-f71.google.com (209.85.218.71) by
 us2.smtp.exclaimer.net (104.209.35.28) with Exclaimer Signature Manager
 ESMTP Proxy us2.smtp.exclaimer.net (tlsversion=TLS12,
 tlscipher=TLS_ECDHE_WITH_AES256_SHA1); Fri, 7 Aug 2020 15:34:56 +0000
X-ExclaimerHostedSignatures-MessageProcessed: true
X-ExclaimerProxyLatency: 15901472
X-ExclaimerImprintLatency: 437587
X-ExclaimerImprintAction: 3d2673e0da654bcc88b809743a559374
Received: by mail-ej1-f71.google.com with SMTP id t9so1037369ejx.22
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri, 07 Aug 2020 08:34:55 -0700 (PDT)
X-Received: by 2002:a17:906:eca4:: with SMTP id
 qh4mr9658128ejb.255.1596814494062; 
 Fri, 07 Aug 2020 08:34:54 -0700 (PDT)
X-Received: by 2002:a17:906:eca4:: with SMTP id
 qh4mr9658113ejb.255.1596814493858; 
 Fri, 07 Aug 2020 08:34:53 -0700 (PDT)
MIME-Version: 1.0
References: <i9rsIn-lslFVgi9AZzyuLvD8sPJqibqSF0loi80tg0cQcGKW9Ccfvo-KSIQjhI7NvWCz8Bm5vTdiC1-TbWAf7s4QCabh6Kca4I6iBftpLQ0=@protonmail.com>
 <735E5B6A-785E-408B-8658-FA36200923C7@mattcorallo.com>
 <KSfad5I1vkw0QoInOkoVtxk9Sw6ypolsQu6TwMd_Y9CzaQsLTElk14434R3Rc2gwC88oAfiH3cITp4do0gtSKknUUBfrmbRKGeYW0ldeevU=@protonmail.com>
 <94bb2092-6d53-0e46-45ac-a1f8e04dafba@mattcorallo.com>
In-Reply-To: <94bb2092-6d53-0e46-45ac-a1f8e04dafba@mattcorallo.com>
From: Richard Myers <rich@gotenna.com>
Date: Fri, 7 Aug 2020 17:34:43 +0200
Message-ID: <CACJVCgLtt=SBLeA=JWPhzU7EdbJUy2AfPTGbs-pRn0fuwGmZsQ@mail.gmail.com>
To: Matt Corallo <lf-lists@mattcorallo.com>, 
 Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary="000000000000add92d05ac4b5806"
X-Mailman-Approved-At: Fri, 07 Aug 2020 15:47:01 +0000
Subject: Re: [bitcoin-dev] BIP 118 and SIGHASH_ANYPREVOUT
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: Fri, 07 Aug 2020 15:41:28 -0000

--000000000000add92d05ac4b5806
Content-Type: text/plain; charset="UTF-8"

When you say that a special relay network might be more "smart about
replacement" in the context of ANYPREVOUT*, do you mean these nodes could
RBF parts of a package like this:


Given:
 - Package A = UpdateTx_A(n=1): txin: AnchorTx, txout: SettlementTx_A(n=1)
-> HtlcTxs(n=1)_A -> .chain of  transactions that pin UpdateTx_A(n=1) with
high total fee, etc.


And a new package with higher fee rate versions of ANYPREVOUT* transactions
in the package, but otherwise lower total fee:

 - Package B = UpdateTx_B(n=1): txin: AnchorTx, txout: SettlementTx_B(n=1)
-> HtlcTxs(n=1)_B -> low total fee package


Relay just the higher up-front fee-rate transactions from package B which
get spent by the high absolute fee child transactions from package A:

 - Package A' = UpdateTx_B(n=1): txin: AnchorTx, txout: SettlementTx_B(n=1)
-> HtlcTxs(n=1)_A -> ...chain of up to 25 txs that pin UpdateTx(n=1) with
high total fee, etc.

On Thu, Aug 6, 2020 at 5:59 PM Matt Corallo via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:

> In general, SIGHASH_NOINPUT makes these issues much, much simpler to
> address, but only if we assume that nodes can
> somehow be "smart" about replacement when they see a SIGHASH_NOINPUT spend
> which can spend an output that something else
> in the mempool already spends (potentially a different input than the
> relaying node thinks the transaction should
> spend). While ideally we'd be able to shove that (significant) complexity
> into the Bitcoin P2P network, that may not be
> feasible, but we could imagine a relay network of lightning nodes doing
> that calculation and then passing the
> transactions to their local full nodes.

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

<div dir=3D"ltr"><div>When you say that a special relay network might be mo=
re &quot;smart about replacement&quot; in the context of ANYPREVOUT*, do yo=
u mean these nodes could RBF parts of a package like this:</div><div><block=
quote style=3D"margin:0px 0px 0px 40px;border:none;padding:0px"><div><br></=
div></blockquote>Given:</div><div>=C2=A0- Package A =3D UpdateTx_A(n=3D1): =
txin: AnchorTx, txout: SettlementTx_A(n=3D1) -&gt; HtlcTxs(n=3D1)_A -&gt; .=
chain of=C2=A0 transactions that pin UpdateTx_A(n=3D1) with high total fee,=
 etc.<blockquote style=3D"margin:0px 0px 0px 40px;border:none;padding:0px">=
<div></div></blockquote></div><div><br></div>And a new package with higher =
fee rate versions of ANYPREVOUT* transactions in the package, but otherwise=
 lower total fee:<div><br></div><div>=C2=A0- Package B =3D UpdateTx_B(n=3D1=
): txin: AnchorTx, txout: SettlementTx_B(n=3D1) -&gt;=C2=A0HtlcTxs(n=3D1)_B=
 -&gt; low total fee package<div><div><blockquote style=3D"margin:0px 0px 0=
px 40px;border:none;padding:0px"><br></blockquote></div><div>Relay just=C2=
=A0the higher up-front fee-rate transactions from package B which get spent=
 by the high absolute fee child transactions from package A:</div></div><di=
v><br></div><div>=C2=A0- Package A&#39; =3D=C2=A0UpdateTx_B(n=3D1): txin: A=
nchorTx, txout: SettlementTx_B(n=3D1) -&gt; HtlcTxs(n=3D1)_A -&gt; ...chain=
 of up to 25 txs that pin UpdateTx(n=3D1) with high total fee, etc.</div><d=
iv><div><br></div><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmai=
l_attr">On Thu, Aug 6, 2020 at 5:59 PM Matt Corallo via bitcoin-dev &lt;<a =
href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">bit=
coin-dev@lists.linuxfoundation.org</a>&gt; wrote:</div><blockquote class=3D=
"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(2=
04,204,204);padding-left:1ex">
In general, SIGHASH_NOINPUT makes these issues much, much simpler to addres=
s, but only if we assume that nodes can<br>
somehow be &quot;smart&quot; about replacement when they see a SIGHASH_NOIN=
PUT spend which can spend an output that something else<br>
in the mempool already spends (potentially a different input than the relay=
ing node thinks the transaction should<br>
spend). While ideally we&#39;d be able to shove that (significant) complexi=
ty into the Bitcoin P2P network, that may not be<br>
feasible, but we could imagine a relay network of lightning nodes doing tha=
t calculation and then passing the<br>
transactions to their local full nodes.=C2=A0</blockquote><div><br></div></=
div><div dir=3D"ltr"></div></div></div></div>

--000000000000add92d05ac4b5806--