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
|
Return-Path: <ZmnSCPxj@protonmail.com>
Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])
by lists.linuxfoundation.org (Postfix) with ESMTP id 0C5FBC0032
for <bitcoin-dev@lists.linuxfoundation.org>;
Tue, 17 Oct 2023 17:04:16 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
by smtp4.osuosl.org (Postfix) with ESMTP id DB6BB41E90
for <bitcoin-dev@lists.linuxfoundation.org>;
Tue, 17 Oct 2023 17:04:15 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org DB6BB41E90
Authentication-Results: smtp4.osuosl.org;
dkim=pass (2048-bit key) header.d=protonmail.com header.i=@protonmail.com
header.a=rsa-sha256 header.s=protonmail3 header.b=HT5hDYwl
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -1.599
X-Spam-Level:
X-Spam-Status: No, score=-1.599 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,
FROM_LOCAL_NOVOWEL=0.5, RCVD_IN_MSPIKE_H5=0.001,
RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001]
autolearn=ham autolearn_force=no
Received: from smtp4.osuosl.org ([127.0.0.1])
by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id OGSBLp6E0f2T
for <bitcoin-dev@lists.linuxfoundation.org>;
Tue, 17 Oct 2023 17:04:14 +0000 (UTC)
Received: from mail-40135.protonmail.ch (mail-40135.protonmail.ch
[185.70.40.135])
by smtp4.osuosl.org (Postfix) with ESMTPS id 3B8D541E8D
for <bitcoin-dev@lists.linuxfoundation.org>;
Tue, 17 Oct 2023 17:04:14 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 3B8D541E8D
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
s=protonmail3; t=1697562251; x=1697821451;
bh=2Cet29r+6tTbOPt2Mg6DDlWjGT+KVmp2thBvF7MSiu4=;
h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
Message-ID:BIMI-Selector;
b=HT5hDYwlgEYA/jClIQlN7KzwZnbDlqbnsE79Um4NN9T37he/LLto4FUYHkVaZW8ba
1GxbBbOL3ur7r2cH/jcqmzM09tT8vTev+nOJYUo3Fd00aZGwrz4B8jUp5Wb21WGYRE
5BWPTcw+A/KsYJqEGkppl0OjyQtNFh/XE2fpr5+pxYjCQzznuxTa3pE8oBByPZh8ye
Li2hWSICt87NW2DdRMnD9HsAnaSai6mcxCwZfs3corvGX2/5gVxlrPfhvR42VLBnRO
7vLEMlknhHs9n9Z5YYmgrhkrXpLQip9OaZDb/3FNgfiMrB2zDO50sVqVwjRcscUDRs
hjUPmQfhXUzOw==
Date: Tue, 17 Oct 2023 17:04:06 +0000
To: Bastien TEINTURIER <bastien@acinq.fr>
From: ZmnSCPxj <ZmnSCPxj@protonmail.com>
Message-ID: <Ckp3N2cHGyyFyTp8IkjqYwnXsef1KxzhFs9vHQvFCpdWKUCrCfpxLBAgIXsKEtTNQqvfdyywt7weJd2pVz8UKn6egfRy46-xd17pnltcQyU=@protonmail.com>
In-Reply-To: <CACdvm3MuKmzQ1EFMJDc0ahhrG6xpD6Rr9Vh=ZTpVHa12ZALB0w@mail.gmail.com>
References: <CACdvm3MuKmzQ1EFMJDc0ahhrG6xpD6Rr9Vh=ZTpVHa12ZALB0w@mail.gmail.com>
Feedback-ID: 2872618:user:proton
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Cc: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>,
"lightning-dev\\\\\\\\@lists.linuxfoundation.org"
<lightning-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Batch exchange withdrawal to lightning requires
covenants
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: Tue, 17 Oct 2023 17:04:16 -0000
Good morning Bastien,
I have not gotten around to posting it yet, but I have a write-up in my com=
puter with the title:
> Batched Splicing Considered Risky
The core of the risk is that if:
* I have no funds right now in a channel (e.g. the LSP allowed me to have 0=
reserve, or this is a newly-singlefunded channel from the LSP to me).
* I have an old state (e.g. for a newly-singlefunded channel, it could have=
been `update_fee`d, so that the initial transaction is old state).
Then if I participate in a batched splice, I can disrupt the batched splice=
by broadcasting the old state and somehow convincing miners to confirm it =
before the batched splice.
Thus, it is important for *any* batched splicing mechanism to have a backou=
t, where if the batched splice transaction can no longer be confirmed due t=
o some participant disrupting it by posting an old commitment transaction, =
either a subset of the splice is re-created or the channels revert back to =
pre-splice state (with knowledge that the post-splice state can no longer b=
e confirmed).
I know that current splicing tech is to run both the pre-splice and post-sp=
lice state simultaneously until the splicing transaction is confirmed.
However we need to *also* check if the splicing transaction *cannot* be con=
firmed --- by checking if the other inputs to the splice transaction were a=
lready consumed by transactions that have deeply confirmed, and in that cas=
e, to drop the post-splice state and revert to the pre-splice state.
I do not know if existing splice implementations actually perform such a ch=
eck.
Unless all splice implementations do this, then any kind of batched splicin=
g is risky.
Regards,
ZmnSCPxj
|