summaryrefslogtreecommitdiff
path: root/d2/df151ea27ee0266ae59fdd92af0a41450af8c6
blob: eda7165cc69119603e3be1334171b2176917ae27 (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
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.