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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
|
Delivery-date: Fri, 22 Mar 2024 17:39:34 -0700
Received: from mail-oo1-f55.google.com ([209.85.161.55])
by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
(Exim 4.94.2)
(envelope-from <bitcoindev+bncBCYMD7OS6ECBBPWJ7CXQMGQET7AJ6OI@googlegroups.com>)
id 1rnpQ5-0001As-S5
for bitcoindev@gnusha.org; Fri, 22 Mar 2024 17:39:34 -0700
Received: by mail-oo1-f55.google.com with SMTP id 006d021491bc7-5a482b7c715sf2255728eaf.3
for <bitcoindev@gnusha.org>; Fri, 22 Mar 2024 17:39:33 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1711154367; cv=pass;
d=google.com; s=arc-20160816;
b=A6Svpd+H+5v/VLidHSrzj1oxZGatysxyym3MOycrDcS7klge2J5KxhBnx3hQGJre1b
ncsb14UImFp6ZXlG0u0Xnqnu73DycAzCq9ze/ggDQyUJ2v3yu3Dc2fTpw5zzxRRL6rPR
OHI6b9a3gFr0z6evJhMEi34Nx6wOxVYkcElBRkVbrxywvitdHI9b0g/BFyRdXWGOeAfo
SfQ6mj9OEeB5eS4RcB6NgKe6C9oiSIokZ/vUjFo075kS+5XbtvAFluV9leB0dA5Ot8SR
kqfKcrKyKk/7OANTtT3H7gES+lFcNZ0ERlL2KHgp37G3UX7ywPwWRUaaYkUE2VxrY3vW
sT4Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:content-transfer-encoding:cc:to
:subject:message-id:date:from:in-reply-to:references:mime-version
:sender:dkim-signature:dkim-signature;
bh=12fEpuFjmYIZocVtMoeWurtq3laRllm47qz4bwRkEJo=;
fh=tNagOCzUcbceOSy/r7BO3NnwTwRCeq02PHkAESdjO5E=;
b=KWXGmgcAPQuEfQh6IhL74JJS8GMBbTyjkoE44EjZVA1mKkPMTDrBlg5/REpNHxy6iL
BIeUIp8IO+yET8XB2cmoRzaazQyqJovCgiZX0EMUBsTdVWj7Jhe2bftJgcYlwpfUM3Vm
ONDrsFgc5+L6w+78qGkn85JZpsUF4+VqLn7nmqwvhdnnoYj1bAfSGs3qQMq2mCloxipe
9+IF/HhjeW+AygCVe7jq8vSJV3xipzovFQhKMFXuMrHmzVmXowF6avoYVjnElIii6FG+
5HAiID6QnywmHaVgTaywAX2nR6bbaQGoLTOSghvFMi8Ms74y0gC2Tq8rkbi+u2cjYatR
tOiA==;
darn=gnusha.org
ARC-Authentication-Results: i=2; gmr-mx.google.com;
dkim=pass header.i=@gmail.com header.s=20230601 header.b=bIojgVqo;
spf=pass (google.com: domain of bnagaev@gmail.com designates 2607:f8b0:4864:20::12e as permitted sender) smtp.mailfrom=bnagaev@gmail.com;
dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=googlegroups.com; s=20230601; t=1711154367; x=1711759167; darn=gnusha.org;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:x-original-authentication-results
:x-original-sender:content-transfer-encoding:cc:to:subject
:message-id:date:from:in-reply-to:references:mime-version:sender
:from:to:cc:subject:date:message-id:reply-to;
bh=12fEpuFjmYIZocVtMoeWurtq3laRllm47qz4bwRkEJo=;
b=FMR/TLFlmcJlt+f5+nxPdBxp4Ub08/fU0IABdly+G4+rsbQu0m5nol0IYL2rWYbIfG
g1r6jLh4TFeobeWABA+uF5pCix9jNmOkum0LJMQ+ssn2qBrour6htddBOElskTX9O1TN
r8E68t7gaO7BUirYLXNBGmnuhd68oNv41RA71tERpo3YST8jfMcYtaDTVNG0oLFryYYc
Y4zMFwfK4nodsuSxwY7083HqnewYi/Qzv3PR4i0qQcliCpyNNbn9OdEAXP2zlGV92ZOs
M5Hb8osm9ro+39yIQMifTfpBZHYqhHwBsGLhBAyBbofT5plRb+XfgVMJoer/2EUgElUN
pQ+Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1711154367; x=1711759167; darn=gnusha.org;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:x-original-authentication-results
:x-original-sender:content-transfer-encoding:cc:to:subject
:message-id:date:from:in-reply-to:references:mime-version:from:to:cc
:subject:date:message-id:reply-to;
bh=12fEpuFjmYIZocVtMoeWurtq3laRllm47qz4bwRkEJo=;
b=hH6tJ2L1Y9ARCCda8Yi61x4uvmTohp6nC+IkPGHnTq1FNfgFXnhkBoba1YQvZEWDUK
0OvaoSSpPdPqTYCM4eSAT13BlOxojR040Ek5E3Sl6tjci2FzMcmy/XgV5cbzZl3/TEbT
23bCQSVa87msiTm0z26vTcFxrUbMrfyTyTZKT7AFyOncnah/K0HgBBl5r4qUCcnF+nkc
bdLCXo9rk/aqrqtHWQySLHPZRpkqlwSk1/NqHNfW4TJ+YUnhfbCaCsJdiYZvGP++JPi+
0wzi0wtmWJIoB7eux+9qKEz95n2RGprLlj2oLuiIhkuIOVUIX6UagJJYwugyz2f4CNKt
YuEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1711154367; x=1711759167;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:x-original-authentication-results
:x-original-sender:content-transfer-encoding:cc:to:subject
:message-id:date:from:in-reply-to:references:mime-version
:x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date
:message-id:reply-to;
bh=12fEpuFjmYIZocVtMoeWurtq3laRllm47qz4bwRkEJo=;
b=AmlJCHYGP9rkGQxH8BKjmZ2lqFEokAteR6UToeGbjOjzikL9xL8Dy/nHLDIdPAkzvn
azQqFJuAwhTQuStCmyVvwEC8vcbu5gqV7b7MAQF4X0dxu0A55vVUx3HU+tZEq538tGdu
t9OG7EqeHfQaOQwqe2u7g0BXBtPHD9/bFjl4e3iv/bMRHXbjy2pdI2vXcRGNl3rlRvCS
ksMHVfC0AgwRvNsNB9E7/ZjwH0/4ZfCpqJxNLhMtG6306ni6Pyxjk3UjZo20XTgOdL2G
Xbxb+o1FDsTUGI2FOHiHZN6ITKgJO3NCYPVu+HLf1HZrYyGae24miOUt618PkNdQNobe
QOcw==
Sender: bitcoindev@googlegroups.com
X-Forwarded-Encrypted: i=2; AJvYcCWBOm6DxLJ52LpJoVvc6fTru35BZtPVJEVLPdr38IJYy4L39Qz+fzbTOS2TFiMePcogKscqqMkAfc2EiNdfE/MMqeIxd5M=
X-Gm-Message-State: AOJu0YxgZup6eZX/Zb/AvC5Z7JrFRm3Ml5foKlKK1h5jGXmWQOHdh7KZ
iHMFn6Aa2RGQ5h7/4yWFecdpyDDT19/Sv3ChLyRsEo+7tNLIyo3b
X-Google-Smtp-Source: AGHT+IFITVNw9TWGvxuxILhzadjsJbMcpnNP0j1xwSsd66DtkRtlq9AUL8F3dP4oNr/ZfzNN+rgEQA==
X-Received: by 2002:a05:6820:3087:b0:5a1:bb9d:56a7 with SMTP id eu7-20020a056820308700b005a1bb9d56a7mr1308233oob.8.1711154367368;
Fri, 22 Mar 2024 17:39:27 -0700 (PDT)
X-BeenThere: bitcoindev@googlegroups.com
Received: by 2002:a05:622a:19aa:b0:431:2587:2b2d with SMTP id
u42-20020a05622a19aa00b0043125872b2dls1184276qtc.1.-pod-prod-09-us; Fri, 22
Mar 2024 17:39:26 -0700 (PDT)
X-Received: by 2002:a05:622a:2989:b0:431:3463:84d5 with SMTP id hd9-20020a05622a298900b00431346384d5mr80212qtb.9.1711154366487;
Fri, 22 Mar 2024 17:39:26 -0700 (PDT)
Received: by 2002:a05:620a:468e:b0:78a:3a27:faa with SMTP id af79cd13be357-78a3a271024ms85a;
Fri, 22 Mar 2024 17:30:39 -0700 (PDT)
X-Received: by 2002:a05:6102:1627:b0:476:a58f:736c with SMTP id cu39-20020a056102162700b00476a58f736cmr1450731vsb.4.1711153838417;
Fri, 22 Mar 2024 17:30:38 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1711153838; cv=none;
d=google.com; s=arc-20160816;
b=VmY/9G/BIkeWm7XLZRa6ugIKWHa0G1aYRGYSZVzfGeVnZzeCdRyRs/NxBDJ7vcfgHo
To3y2Bi3K2i2HUZMfueA0tWpgW8yqPRzsAotM/DHqq0+NBW/HFkesitJvAvbLxdIFHjI
ysrlbN5Gie+3tYutl//5SKTiBX82Z3rzqU1ASfnSv9Sw12JxAA7HMCLSCWEWlSqUcHiX
9obj+bVIMwbQJLUPN6K0UtcryIOq7Rexn7OvQ7J0XmxHSX8nX/IXJO1dpY8xWO7hVsDV
kdJOT6JmIZLsEzd/ABB3h/aRiUFRb5NhXnBBH5WtXqTr+nkXmqL2sP5gq5iVnsNMWVB3
FUdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:dkim-signature;
bh=+qi2dRrXaa2SZVF2ZUbWVUOAsvmtHiQ7NY1BQR27WvY=;
fh=psWP3UCtCzzPEOUoUzVM9ZZK8adYsTeWDAKCd6L5Zok=;
b=SLCO2G8o7liqbA6db6hE6v8JH7kbtzuL9sUtj/fGjSYStZe1hAerGolnSY0v0WXmcj
QT8d7oHEgNM9AWyDxA4g0+4hfVxjizjc/Zqz7B4oPkiehLixkXEfga7Ix/GuaU9ACO84
ZrtzDuDtcB19LOVSXTiYSgf9WPKSIO4osxllmgj10fE26xc74BOdUGymBjc36nh/jTPF
ifjR5fpTvkUOUaD1PCkN3vV0P841bvct6/wTl2m2Of5adEDYXZA6Od8UYnjUDq39bZ1n
B4028wSPtabpuDWMRjgEtKs03ge+0OB5Xy6h1ps4aIq7GUcZ6QluPp2g6g5OShW+1uMA
ZJrQ==;
dara=google.com
ARC-Authentication-Results: i=1; gmr-mx.google.com;
dkim=pass header.i=@gmail.com header.s=20230601 header.b=bIojgVqo;
spf=pass (google.com: domain of bnagaev@gmail.com designates 2607:f8b0:4864:20::12e as permitted sender) smtp.mailfrom=bnagaev@gmail.com;
dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com
Received: from mail-il1-x12e.google.com (mail-il1-x12e.google.com. [2607:f8b0:4864:20::12e])
by gmr-mx.google.com with ESMTPS id q5-20020ab07585000000b007e06f112964si300229uap.2.2024.03.22.17.30.38
for <bitcoindev@googlegroups.com>
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Fri, 22 Mar 2024 17:30:38 -0700 (PDT)
Received-SPF: pass (google.com: domain of bnagaev@gmail.com designates 2607:f8b0:4864:20::12e as permitted sender) client-ip=2607:f8b0:4864:20::12e;
Received: by mail-il1-x12e.google.com with SMTP id e9e14a558f8ab-368602c9ed0so13569025ab.2
for <bitcoindev@googlegroups.com>; Fri, 22 Mar 2024 17:30:38 -0700 (PDT)
X-Received: by 2002:a92:cf43:0:b0:368:4808:69a7 with SMTP id
c3-20020a92cf43000000b00368480869a7mr880275ilr.16.1711153837688; Fri, 22 Mar
2024 17:30:37 -0700 (PDT)
MIME-Version: 1.0
References: <Zfg/6IZyA/iInyMx@petertodd.org> <CAFC_Vt7BE866DJGQ9EqA+DroEkDH+4U_72-RpCUfyrLHmtnZ1Q@mail.gmail.com>
<ZfmXNiscjatFOOCX@petertodd.org>
In-Reply-To: <ZfmXNiscjatFOOCX@petertodd.org>
From: Nagaev Boris <bnagaev@gmail.com>
Date: Fri, 22 Mar 2024 21:29:59 -0300
Message-ID: <CAFC_Vt5kHtRj+ypoxGKZUD1-NdSnbC9m=zwWnjVSTcROp7aLow@mail.gmail.com>
Subject: Re: [bitcoindev] A Free-Relay Attack Exploiting RBF Rule #6
To: Peter Todd <pete@petertodd.org>
Cc: bitcoindev@googlegroups.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Original-Sender: bnagaev@gmail.com
X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass
header.i=@gmail.com header.s=20230601 header.b=bIojgVqo; spf=pass
(google.com: domain of bnagaev@gmail.com designates 2607:f8b0:4864:20::12e as
permitted sender) smtp.mailfrom=bnagaev@gmail.com; dmarc=pass (p=NONE
sp=QUARANTINE dis=NONE) header.from=gmail.com
Precedence: list
Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com
List-ID: <bitcoindev.googlegroups.com>
X-Google-Group-Id: 786775582512
List-Post: <https://groups.google.com/group/bitcoindev/post>, <mailto:bitcoindev@googlegroups.com>
List-Help: <https://groups.google.com/support/>, <mailto:bitcoindev+help@googlegroups.com>
List-Archive: <https://groups.google.com/group/bitcoindev
List-Subscribe: <https://groups.google.com/group/bitcoindev/subscribe>, <mailto:bitcoindev+subscribe@googlegroups.com>
List-Unsubscribe: <mailto:googlegroups-manage+786775582512+unsubscribe@googlegroups.com>,
<https://groups.google.com/group/bitcoindev/subscribe>
X-Spam-Score: -0.5 (/)
On Tue, Mar 19, 2024 at 10:46=E2=80=AFAM Peter Todd <pete@petertodd.org> wr=
ote:
>
> On Tue, Mar 19, 2024 at 09:37:59AM -0300, Nagaev Boris wrote:
> > Hi Peter,
> >
> > On Mon, Mar 18, 2024 at 10:24=E2=80=AFAM Peter Todd <pete@petertodd.org=
> wrote:
> > > Rule #6 creates a path dependency: the order in which replacement tra=
nsactions
> > > are received determines which transactions are ultimately accepted.
> >
> > I'd like to share my thoughts regarding RBFR rules and propose somethin=
g.
> >
> > The proposed RBFR rule is also path-dependent. Two transactions can
> > conflict with each other, but their fee rates can be too close for one
> > of them to eliminate the other from nodes' mempools. The first
> > transaction a node sees is kept in its mempool.
>
> It's not really fair to say that "the proposed RBFR rule is also
> path-dependent". What you're describing is a property of Bitcoin Core's m=
empool
> in general, for all transaction acceptance rules. We've *always* had the
> property that two essentially identical transactions, differing only in a
> trivial way, will be accepted on a first seen basis. Achieving consensus
> requires bandwidth, and since you can generate an essentially infinite nu=
mber
> of almost identical transactions, you'll always be able to find cases wit=
h path
> dependency.
>
> > Is it possible to have a rule that is completely path-independent? The
> > eviction rules are path-independent iff, for each pair of conflicting
> > transactions A and B, it is always known which of them should be
> > preferred over the other, and this relation is transitive. Having such
> > a property would be very beneficial in preventing any attacks on the
> > mempool. This property of the mempool can also be seen as the eventual
> > consistency of all the mempools of the nodes. A good property, isn't
> > it?
>
> I'd suggest that you should argue concretely *why* this is a good propert=
y. The
> RBF Rule #6 issue isn't strong evidence, as it's only related to a specif=
ic
> type of meaningful path dependency, where fees/size differ meaningfully. =
You're
> talking about all forms of path dependency, including trivial differences=
where
> fees/size are the same and only a txid differs due to a trivial change.
I rethought it and I think I'm wrong. The proposed solution of
delaying and skipping won't fix the replacement attack, because the
preimage could be a skipped transaction, so the attacked node could
miss it.
For my proposal to work it should be changed to guarantee that any
transaction is spread to all the nodes eventually, i.e. no skipping.
This means broadcasting all transactions eventually. But this is
impossible to implement without creating DoS vectors either in
bandwidth or in memory (the later - in case transactions to be
broadcasted are accumulated in a buffer by a node).
--
Best regards,
Boris Nagaev
--=20
You received this message because you are subscribed to the Google Groups "=
Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to bitcoindev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/=
bitcoindev/CAFC_Vt5kHtRj%2BypoxGKZUD1-NdSnbC9m%3DzwWnjVSTcROp7aLow%40mail.g=
mail.com.
|