summaryrefslogtreecommitdiff
path: root/32/1b15c1bea50a6ae933b201b28bc09ec7e77b7a
blob: 75a8c4b214df19db148df3a8a7555e5e52e2095e (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
237
238
239
240
241
242
243
244
245
246
247
248
249
Delivery-date: Sun, 21 Jul 2024 11:04:36 -0700
Received: from mail-qk1-f185.google.com ([209.85.222.185])
	by mail.fairlystable.org with esmtps  (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
	(Exim 4.94.2)
	(envelope-from <bitcoindev+bncBDZ3NVEJ5UFBBLE36W2AMGQEKT7JQGQ@googlegroups.com>)
	id 1sVavD-000294-UE
	for bitcoindev@gnusha.org; Sun, 21 Jul 2024 11:04:36 -0700
Received: by mail-qk1-f185.google.com with SMTP id af79cd13be357-7a199a3eebfsf377437785a.2
        for <bitcoindev@gnusha.org>; Sun, 21 Jul 2024 11:04:35 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1721585070; cv=pass;
        d=google.com; s=arc-20160816;
        b=rES5YC1aTb0N8ogjE0oB2VqjtucU2VIb/gr6g9Ds3Yg9dlyyhb3hTlZXqsz/U6jeOQ
         fD9qEGOyw1f7HQJ2iNWrqSptSX5LdKnsrBmIDob/gdPCXRSGPfuOkvJ85NaEQckVZv3C
         tpuoeWQ/JSjH2any3k4UP3CoTqH3PqTzFkibGxlCd6C9daCOP+8RZ80alZFsqQXB1pmQ
         ahWOHafXphE8QpbN9KroEaU+/m98HkeMezDSBBEqkGL4m401sICke5vjDC5r6sVL67WV
         XOg6jV4UdGzan/Ww/e9Cd6dhX802bDzPeHvzI5C2L/HLH/73tNxCZbgSIno9xDlLWc3C
         /TAw==
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
         :message-id:references:in-reply-to:subject:cc:to:from:date
         :mime-version:sender:dkim-signature;
        bh=oWsTk3RKffKl/SFxypwQEFPz8NJBN0GYLjOR3O0Vu6s=;
        fh=UVebBCZlnoj0ph4dH8fK/isiWBw9egf2QLTfdbvS9nQ=;
        b=fZhmHdDS0DxEOhJGjl+FAXg2nUO81TyMAKP2tHTEjUEyr4Bq3hOpxhiIkqYsmbuUIj
         F/nWgoiYrozHcvFSdUruBaSCVe45csPHNL1Hj6Sme86XBeE4dE985o+zDjHjUI4kqJtL
         3/DoyiEDX1Vq0tbnsmWit3BIvOZT5ZryLw0x/GEpPEKaz7IqJhesbz02lwIqx0Bnumtw
         Mv5Dn1llzRInnU6tOSR8qmtDw5mvtxEojfGg1sc/zy0taH6x/9foblp1MClKckcbdy6L
         dxLGalOF0gfrPROZzePyhuFh3WddVl6We5z3DFZyvW0hoY1kThV1jCCsSB0UBg+bIuUx
         NhiQ==;
        darn=gnusha.org
ARC-Authentication-Results: i=2; gmr-mx.google.com;
       spf=pass (google.com: domain of dave@dtrt.org designates 2607:fe70:0:3::d as permitted sender) smtp.mailfrom=dave@dtrt.org
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=googlegroups.com; s=20230601; t=1721585070; x=1722189870; 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:message-id:references
         :in-reply-to:subject:cc:to:from:date:mime-version:sender:from:to:cc
         :subject:date:message-id:reply-to;
        bh=oWsTk3RKffKl/SFxypwQEFPz8NJBN0GYLjOR3O0Vu6s=;
        b=up2ED82ar4sUq2LBlyirf3wFN51n2vYUHAqrEqz7fR8dDWVFLJ7QcqI4BdxfEdE0a7
         pRZsW0MgQQ/C092hFhepDrRE/9knIJDqidyDSGHzGrYBtznto4PqDiwkukMORJ9O3S+k
         JcuNeqZhogVaOyuWB/ezCFdjNw8lm6aGfEZDEbiHNqLII1ItIhkPStBpqrlJDxQ3H+Te
         7EzasM+ZwhKTfHHB5rk0lDvrF4QeGvifJV7j7TFueXVwZCAy4/iTRc5CP034h746oiVG
         PQv6ro55ChtIFLwbnF1btbQOtEulV5Di92KgDIh8t3xVEf5XYvFp0mCQM85rEkpAyDPg
         xNFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1721585070; x=1722189870;
        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:message-id:references
         :in-reply-to:subject:cc:to:from:date:mime-version:x-beenthere
         :x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :reply-to;
        bh=oWsTk3RKffKl/SFxypwQEFPz8NJBN0GYLjOR3O0Vu6s=;
        b=t08qx0OodZYG3hNJHJPZyuI2FmZprOIUq3pdWNWcW6oR55IMSihPl/E4PTpWysoDfT
         iOGprTzmmyNAC51Z3BtMg0MXEPbxlNZPbcj1fhLVaXlxp1WSXEETJdlieEkhmyZDyZcN
         JJiratuW1/s8dSwACqp0HvjSGvUD3VpkESgA02pvcY/83S3vn0LdRvdHzN+/9Ui6L5hU
         rgCbCSHmVWkGwFsJYw3pc24x2C18eGqLTEJMPyyIjpQstP5ISO2C/uAdzv4sCXjwwu17
         kGemaQE9ZDYNhVrkqlGos+oue0iCX9BngPZz3sa2jzJvu4FImB+/Bhz8QJU/jynBJI3G
         ia2A==
Sender: bitcoindev@googlegroups.com
X-Forwarded-Encrypted: i=2; AJvYcCVHp87wkD3EpeD5cXh5LNW9O1Nxone31f0AQqHGeDCQRh4XWMbtNMyQAMMEt1rlrmr/yuor1rVBtw6M9iBFFjvnMcX9SUk=
X-Gm-Message-State: AOJu0YyimvBCtbTT03Q/qx0r/LL0Wdo99IyVStY04iFPelMEUuAVnwP0
	MBNdNIM8+2OScP9s+gsOuj2HFL/y+ksJdremp5ye4s19ACwb/pJD
X-Google-Smtp-Source: AGHT+IEfJCA1wgNp74K1yOfmYyZ2Qxg9UEhGKy9C5+tXAbsvICoBJmcMwHhwaSRkCeCE22+/pbPo9w==
X-Received: by 2002:a05:6214:d0e:b0:6b5:4b10:7849 with SMTP id 6a1803df08f44-6b9610d4277mr68401796d6.1.1721585069499;
        Sun, 21 Jul 2024 11:04:29 -0700 (PDT)
X-BeenThere: bitcoindev@googlegroups.com
Received: by 2002:a05:6214:acf:b0:6b7:8baa:dce3 with SMTP id
 6a1803df08f44-6b79b899cfdls101443926d6.2.-pod-prod-00-us; Sun, 21 Jul 2024
 11:04:28 -0700 (PDT)
X-Received: by 2002:a05:620a:3181:b0:7a1:417a:9d16 with SMTP id af79cd13be357-7a1a1950277mr19310985a.5.1721585068088;
        Sun, 21 Jul 2024 11:04:28 -0700 (PDT)
Received: by 2002:a05:620a:22da:b0:79c:bd3:58c5 with SMTP id af79cd13be357-7a18f14f124ms85a;
        Sun, 21 Jul 2024 08:35:36 -0700 (PDT)
X-Received: by 2002:a05:6102:4a8a:b0:48f:40be:3a9e with SMTP id ada2fe7eead31-4928ba389c0mr4560978137.21.1721576135558;
        Sun, 21 Jul 2024 08:35:35 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1721576135; cv=none;
        d=google.com; s=arc-20160816;
        b=fg8Lj1mAAc+HdA23sck+zmaV4hfEr5uGCscNlUPp6Qni+KxIXpHlD/I5GDqJbIn1w+
         XbCopHNPG1XuO3RsBNR67/ablGLZ6wzwXYWBVB2jvy86T6e20MLOXr6TBoIADPDp0TRI
         E+XI9BfxNXcbCw/OGlB+Xq5H37tnAdP3MOd6zqH+EhTXzFFsIc0pt09uImTfnmr9YgaL
         1wWV8gW/bNyafIAUNp5ZpGF+0IetVaAVMWmkdpiOloUpeptQ63X93H5AKyd2dR0yMmf7
         7ufx/fYvH+oevNDoD3R80e2mW1amVO78QguyhqwFHgleeUGguaDe0k8g+e9EIC2W4I0D
         EGZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=content-transfer-encoding:message-id:references:in-reply-to:subject
         :cc:to:from:date:mime-version;
        bh=/jjNuIAPeH5iR75fqavLIgj5Oo34ruCdwyZ1PhZsADI=;
        fh=psWP3UCtCzzPEOUoUzVM9ZZK8adYsTeWDAKCd6L5Zok=;
        b=jyLp5hDes7bufEoogylKu25aDwU8TEZI2WoqqI/+C2aBY5UUG4VSjfziSbebzW2uLy
         YNLEoBG9F00Zkv59l6uPzfxU8Ia8zYyxQPESZBmsmxWrT6ji3DRz+OgVdTY7RUmoh0ik
         Wevdffe3Q6TXfvhsnefOc/fFLgTfAqvLKN+EPVUfy/bCcdcSiq7jKpWZjlsFDK4JZ+cS
         6wR7DufBYPBxzvQsp9UHFODxCVPsbsXh7sAztmd+ut6zQQuOZPMjATfqTFRXndiizDXD
         MoZAOpmVsTNamUZX3T7q1qxPPT5tHp4QLCjOal4Dk+lm50aDLXcYwc0L0369MWS6S7DX
         6rwQ==;
        dara=google.com
ARC-Authentication-Results: i=1; gmr-mx.google.com;
       spf=pass (google.com: domain of dave@dtrt.org designates 2607:fe70:0:3::d as permitted sender) smtp.mailfrom=dave@dtrt.org
Received: from smtpauth.rollernet.us (smtpauth.rollernet.us. [2607:fe70:0:3::d])
        by gmr-mx.google.com with ESMTPS id a1e0cc1a2514c-826df49c219si234711241.1.2024.07.21.08.35.34
        for <bitcoindev@googlegroups.com>
        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
        Sun, 21 Jul 2024 08:35:35 -0700 (PDT)
Received-SPF: pass (google.com: domain of dave@dtrt.org designates 2607:fe70:0:3::d as permitted sender) client-ip=2607:fe70:0:3::d;
Received: from smtpauth.rollernet.us (localhost [127.0.0.1])
	by smtpauth.rollernet.us (Postfix) with ESMTP id 897A62800864;
	Sun, 21 Jul 2024 08:35:32 -0700 (PDT)
Received: from webmail.rollernet.us (webmail.rollernet.us [IPv6:2607:fe70:0:14::a])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
	(Client did not present a certificate)
	by smtpauth.rollernet.us (Postfix) with ESMTPSA;
	Sun, 21 Jul 2024 08:35:31 -0700 (PDT)
MIME-Version: 1.0
Date: Sun, 21 Jul 2024 05:35:31 -1000
From: "David A. Harding" <dave@dtrt.org>
To: Peter Todd <pete@petertodd.org>
Cc: bitcoindev@googlegroups.com
Subject: Re: [bitcoindev] A "Free" Relay Attack Taking Advantage of The Lack
 of Full-RBF In Core
In-Reply-To: <ZpvRvRybauFFnhQV@petertodd.org>
References: <Zpk7EYgmlgPP3Y9D@petertodd.org>
 <c6593662694f9d4a4fe999dd432f87ff@dtrt.org> <ZpvRvRybauFFnhQV@petertodd.org>
Message-ID: <d57a02a84e756dbda03161c9034b9231@dtrt.org>
X-Sender: dave@dtrt.org
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: quoted-printable
X-Rollernet-Abuse: Contact abuse@rollernet.us to report. Abuse policy: http://www.rollernet.us/policy
X-Rollernet-Submit: Submit ID 490d.669d2ac3.e94f5.0
X-Original-Sender: dave@dtrt.org
X-Original-Authentication-Results: gmr-mx.google.com;       spf=pass
 (google.com: domain of dave@dtrt.org designates 2607:fe70:0:3::d as permitted
 sender) smtp.mailfrom=dave@dtrt.org
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.8 (/)

On 2024-07-20 05:03, Peter Todd wrote:
> What other "free" relay attacks can you think of that were fixed?

The two you mention were the two I had in mind.

> Did you actually read my One-Shot RBFR proposal?

Yes.  It didn't provide any examples of RBFr free relay and I wanted to
see whether a basic RBFr free relay attack would use significantly more,
significantly less, or about the same amount of bandwidth per dollar
spent as other free relay attacks.  My conclusion is that it's about the
same.

> Weak blocks are not a solution to any of the "free" relay attacks I've
> disclosed and your source does not claim that they are a "free" relay
> solution.

It does not explicitly say that, but it does say: "bonus use-cases:
=E2=80=9CForcible insertion=E2=80=9D of transactions that are incentive-com=
patible but
violate anti-DoS rules".

For example, in some of the scenarios you describe, the attacker sends
an appealing transaction to miners and then sends less appealing
versions of that transaction to relay nodes.  If the appealing
transaction enters the top mempool and gets included in a weak block,
relay nodes will stop relaying less appealing variations minutes to
hours before they otherwise would.

Weak blocks also provide a decentralized DoS-resistant mechanism for
voluntarily communicating all sorts of information from miners to other
miners and relay nodes.  That makes them an excellent tool for resolving
any attack that depends on miners and relay nodes having a divergent set
of transactions.

> 1) Have you've read my One Shot RBFR proposal? In particular, my
> analysis of DoS attacks *including* existing DoS attacks like
> simultaneous broadcast.
>=20
> 2) Do you agree or disagree with me that these existing DoS attacks
> are real?

Yes, I've read your proposal, and I agree those attacks are plausible.
In my mind, the major difference between those free relay attacks
and RBFR free relay attacks is how solvable they are.

I think it's easy to sketch a significant mitigation to all free relay
attacks (including RBFR):

- Reduce the maximum size of both relayable transactions and in-mempool
   packages, e.g. from 100,000 vbytes to 1,000 vbytes.

- Reduce the maximum size of the mempool, e.g. from 300 MB to 10 MB.

- Increase the default mempool feerate floor, e.g. from e.g. from 1
   sat/vb to 100 sat/vb.

That would break relay of many existing presigned transactions,
potentially leading to money loss, and would break other existing
usecases, not to mention introduce other problems.  However, I think
it's sufficient to prove that a mitigation to free relay is possible
without rendering the network unusable.

Of course, an ideal solution wouldn't require placing any additional
constraints on mempool policy.  For the case of free relay due to
divergent mempool policies, maybe it's something that could be done with
transaction set reconciliation (~erlay), functions for allowing
independent nodes to come to consistent conclusions about the best
revenue set of transactions (~cluster mempool), P2P relay of non-obvious
cluster linearizations[1], and miners voluntarily committing to their
mempool contents in candidate blocks and P2P relaying those commitments
in weak blocks.

Innovations like that don't work for RBFR.  If mempool policy is kept
the same, free relay attacks with RBFR remain equally effective no
matter what mechanisms we implement to improve preconsensus consistency.

If pure RBFR is added and clever protocol developers find ways to
largely fix other free relay attacks, then devs will either need to
significantly restrict mempool policy anyway or will need to restrict or
remove RBFR to make Bitcoin Core safe.  Given that, it seems to me like
a very reasonable decision not to add pure RBFR and to wait until better
tools like cluster mempool become available before evaluating
significant changes to RBF policy (like one-shot RBFR).

Thanks,

-Dave

[1]=20
https://github.com/bitcoinops/bitcoinops.github.io/pull/1421#discussion_r14=
15834695

--=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/d57a02a84e756dbda03161c9034b9231%40dtrt.org.