summaryrefslogtreecommitdiff
path: root/3d/1e50fa42c6b5eff47514124cc77e37f7199366
blob: 7cb325ade0891eec90d339e4b74ba444fbcf9bf5 (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
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
Return-Path: <benthecarman@live.com>
Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133])
 by lists.linuxfoundation.org (Postfix) with ESMTP id 6E72BC002A
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 22 May 2023 22:51:53 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp2.osuosl.org (Postfix) with ESMTP id 340CA40395
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 22 May 2023 22:51:53 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 340CA40395
Authentication-Results: smtp2.osuosl.org; dkim=pass (2048-bit key,
 unprotected) header.d=live.com header.i=@live.com header.a=rsa-sha256
 header.s=selector1 header.b=gQjJkTbK
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -0.101
X-Spam-Level: 
X-Spam-Status: No, score=-0.101 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,
 HTML_MESSAGE=0.001, PDS_OTHER_BAD_TLD=1.999, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001] autolearn=no autolearn_force=no
Received: from smtp2.osuosl.org ([127.0.0.1])
 by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id FJ0FtOusU8ZQ
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 22 May 2023 22:51:52 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.8.0
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 0C39740144
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12acsn20806.outbound.protection.outlook.com
 [IPv6:2a01:111:f400:fe5a::806])
 by smtp2.osuosl.org (Postfix) with ESMTPS id 0C39740144
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 22 May 2023 22:51:51 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kkUSfumxT5lMIsPqNpdpe4abvH7k3VhlI4FNpCL2aniWj3HIdsiCPQmsVx6o3BqSLvK5rQ040YZ15EWa/zYltDxQodFQt2uTur5ZjK+HhGfmLZO+ryZAlJU7JxVSF/OnK3HFo5ZVN7Zdj5ucFmO8127U/LxRyNCeF0ZzWtWDLeHVjG9WhrVp6twaVZM69xO6I+PeRiqq5hfASRmd3I6vRSFOTqdMQBCwjZ5UFozOwdNa78zvfdvt7S4C0rDnDYYPtYV9w8bC2ua2F9BgNXpQ+B/UXC4QEak1YY7xbndT0C9rYUV9PTeiBjYJlqTF2ESJ9choWn4wFvhbeXKLyo4TLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I+xOqUSN3slmvlkc0zv8FAoW0k608ozBoqGzI/A2yvk=;
 b=G/1xzb7IE8nt/e2VOqhZCRSYBDpmtIHC6L8h9Ua6e7cLSyJLamB+RxOlUVC/aE69BrPGSfauZOoh9yw1ep2plpdbh/DI3N2wd6mP+qBc6kUtccAOTtGsKJ4+t2FhEbCNiJqd7c4vRwmzIiA46qVZYg2utCYPU/QA6LNJ2+3nxkD7UvlWstb4dlhhBsX1ZB5buMqtUolB8kba9q5Aqd6T/eCICfNT+M2JqOskNYqw3kzXB8RE0o3kCBgOTTHBcxSyq/gI2nsNh21T/70jl0kLhtW5l8rbH8Poc2eob6WYqmLevkmQ11UDM45UCWI+TbviX5ygMT3C7c7gROolTtqNQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; 
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I+xOqUSN3slmvlkc0zv8FAoW0k608ozBoqGzI/A2yvk=;
 b=gQjJkTbKcD4crbrjdpIQn0OhlOejqnkjNzVdndS9Afb+sVdP1tSW5ep7De3xFaoWYU9znqhiiSDB5WPnH+wOGhezPX1Crb7b5VOftD5IEPkT3LnRyzI9uL1o2EYZzNyQ03KrGa32dZLWbpME1bntBT3xRVTnMdq8UnYme81lEXm3IJGuuZFqAmqHba3deC8UrUzSFE4P2+bEtVvBCzlHesF6b7yETqKDRcj6P0qvEplk8kwVY2cAlNHeej3H7GIm6YQCac9l5raXWmfbg5A2tCGT2g6tn2eh1CBZZXGDlfBTVZLZWMXrqmRcFFm4aZAWKXLFopqFXdN7DokG0f/i1w==
Received: from SJ1P223MB0531.NAMP223.PROD.OUTLOOK.COM (2603:10b6:a03:45a::15)
 by PH7P223MB0550.NAMP223.PROD.OUTLOOK.COM (2603:10b6:510:1b1::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Mon, 22 May
 2023 22:51:49 +0000
Received: from SJ1P223MB0531.NAMP223.PROD.OUTLOOK.COM
 ([fe80::ffdd:1c42:3f26:f37]) by SJ1P223MB0531.NAMP223.PROD.OUTLOOK.COM
 ([fe80::ffdd:1c42:3f26:f37%7]) with mapi id 15.20.6411.028; Mon, 22 May 2023
 22:51:49 +0000
From: Ben Carman <benthecarman@live.com>
To: alicexbt <alicexbt@protonmail.com>, Bitcoin Protocol Discussion
 <bitcoin-dev@lists.linuxfoundation.org>
Thread-Topic: [bitcoin-dev] Coinjoin with less steps using ALL|ANYONECANPAY
Thread-Index: AQHZjPp53ZE/04cEQkaHZbfUzW/g2a9m4xE3
Date: Mon, 22 May 2023 22:51:49 +0000
Message-ID: <SJ1P223MB0531D7D62140F0516A25897AA1439@SJ1P223MB0531.NAMP223.PROD.OUTLOOK.COM>
References: <EWAXAmgFlZ8XQJOYO8VTH7Zj0tTAftwy-ylaGvf3Giealz1FFb97CbcxjP0q-Zu85XoAzOG0ivdYIKa_kG77ooHqBvCP7YOZOkb6yHmX75s=@protonmail.com>
In-Reply-To: <EWAXAmgFlZ8XQJOYO8VTH7Zj0tTAftwy-ylaGvf3Giealz1FFb97CbcxjP0q-Zu85XoAzOG0ivdYIKa_kG77ooHqBvCP7YOZOkb6yHmX75s=@protonmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
msip_labels: 
x-ms-exchange-messagesentrepresentingtype: 1
x-tmn: [Zrb+KowVenXri4xP1jlA6rhIDJtvILGs/WUW3ghL7ks=]
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ1P223MB0531:EE_|PH7P223MB0550:EE_
x-ms-office365-filtering-correlation-id: c3341e10-8820-4411-bc16-08db5b1720fc
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: TPPYa9RMO047t/6e/XEq1oGBdWP8LKdVysRtMUYVE5yl8Oa/MlhUYwahjMcak5kHVmAnEV9GcSlRa3a+jftWGS8QQPT1FTybo9z9gArOoKx6leKui6GpunKSOrgKW96NJjdESGJhC2fPQdKfCR2oWXvIhmnnp6MnNwCGa0MXuhr1ZY5RSbFMLseILTunPFjxOgrZ7tlt7Bpzsfr53wGkRdI5vzQJ086VOlKv9vleMNHUGVs8s+hp0iQr6dj8yirWpPS4EOFe6aXC8b61ydWIfh72YjQeRsaO53L3X6JTRP7ayRvsr/Mt2v6SUv/JrjqQ0DX4XiE7Aoo3wJem/wcMr3jDVJ0qDmIAQoQNRYLq6J5/nFD1EhqNNsE95EkOKffGpit2Bt/7+k6w5IFElY9ZWkCpS2+jEq5TF+hxdh7wrykxJ5Bg6o0I2/tVXVZif8JT6r9OckJI7ibuiPk6qQL1u3SuxqrQL8u6CQElWsxn6ETF2bWs4R2tKfR2wFrEaHA1gmEe7i6TnpKr04QPDZZnNVYrck1i7DCsCE4RsR6ADKvEtPMe4F99Jk314iqFDr0e0qirzAIZp+WQPbqsH5Q4Ftt5Ivty+ol+HuPq3NNwMBIAp1sFLhloWOQy0AmbD+IH
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?+Fq8wiCSgyN4KZM7Dxcu4ykAfCt3BJlYxFBPSSBysOTMi5p4jMssfVX8ce?=
 =?iso-8859-1?Q?0JsQRCar6Z/dziaCkNUtojLCelKBbUyum9dPtxXdlbuquMukEdgmuUoQdc?=
 =?iso-8859-1?Q?FekjLUk67chWoxQBhRH/EdXg1RLdizb+EFupEjJx+P5UTsyDujnisjmXjR?=
 =?iso-8859-1?Q?sHLezVoiaGYIqcnJshEevn53QdWVcEDt2H/laEN4SMAnTdRu/ALbBvgXjc?=
 =?iso-8859-1?Q?QQvVvODupNJdQ8O74q9Q6YwisR3nTto10f9iNiX4W08PI408M0i0oDD6ap?=
 =?iso-8859-1?Q?l8SN+bPKeT5H2gSD5f52IcVIVHxhquXBZZ+HBPuvCVv5exh1EouWtKWgJQ?=
 =?iso-8859-1?Q?K+YL4fgIpc9e6GgN9hwGFA+5iE5uD4lRH1HEkxLRcLScR26eP2s3TKJFXU?=
 =?iso-8859-1?Q?6FmAcC44PcJ1kzqYp1ALzrUq7ggG04oAT5Bo7A/E/imXQJU4TxXYVVP8ZJ?=
 =?iso-8859-1?Q?6wCQpOh+wSGXkt6jtOkKT9U8Fbxj0edfixor25Ij+IyGZL/13mW6ZeJQZb?=
 =?iso-8859-1?Q?eCS6dugr7jp02ATzGnPQX0gqxew5U74u1uBZJHYiNo1G2zPMUTNYI9j5rO?=
 =?iso-8859-1?Q?V7HpQZOraXo+mKkbWyeIstw5xufevdi/bh4eDSqR00YUDDM/QBUGz00naD?=
 =?iso-8859-1?Q?94+2MaCfOT5FDzs1y0Mqlu1upbeGhYm1YtfaLUofrHkSy3NEzaeX6dpxpS?=
 =?iso-8859-1?Q?AnOZLoC14tDSn+7gh+mPZJqNRj5WgobY1YKXNS40bq138Gs/PM8Ck3LMh8?=
 =?iso-8859-1?Q?QKdcE6zVNJdTMjF7gWBNAMOWb4LvKCuwdv62iMZ4BP69JrzCvNbfDbQhhL?=
 =?iso-8859-1?Q?4Gxz3cKki4br22irUD5uWhzlB9hvUnHyEBH0zHW/YKswkzyGPH82g/uzLE?=
 =?iso-8859-1?Q?enWNLVcUeIB/RToju/HuVhYx9HXrHF5zlNhudHS24X8DUKWnOoMdPz9FJt?=
 =?iso-8859-1?Q?6mxb9ujZqaoSJKehrsPBkuDvLWLOw74TI2Owo051ed5PaYiTHT71sInCDe?=
 =?iso-8859-1?Q?1l57QfB9kJJStbtANCcvsyB2GghBfbCLLWKicC5nmKr7Pqmyl8ooU0SNsc?=
 =?iso-8859-1?Q?LEoK5EuGqcBsWOIlb78zvPrv0VpyqLRj3rDuXUkVlVywMNv0u+rL+KiyUZ?=
 =?iso-8859-1?Q?3t2XYuSF3eoDwdc5wVSoF1pbYNtRKI51DV8S+4fmovZ7MZvuPxwuO1OHWj?=
 =?iso-8859-1?Q?wulfhCdnovPgY4AAXtqRA6qajdh9ikQW5n8wbHeRZ6u+3ovM65dlh7h9jP?=
 =?iso-8859-1?Q?7kftupQR4hWOtipzkpWA=3D=3D?=
Content-Type: multipart/alternative;
 boundary="_000_SJ1P223MB0531D7D62140F0516A25897AA1439SJ1P223MB0531NAMP_"
MIME-Version: 1.0
X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.templateTenant
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ1P223MB0531.NAMP223.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: c3341e10-8820-4411-bc16-08db5b1720fc
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 May 2023 22:51:49.8528 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7P223MB0550
X-Mailman-Approved-At: Mon, 22 May 2023 22:53:07 +0000
Subject: Re: [bitcoin-dev] Coinjoin with less steps using ALL|ANYONECANPAY
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: Mon, 22 May 2023 22:51:53 -0000

--_000_SJ1P223MB0531D7D62140F0516A25897AA1439SJ1P223MB0531NAMP_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

The problem with using ALL|ANYONECANPAY is that you cannot verify beforehan=
d that the other inputs are the inputs you want added to the transaction.

Some examples of bad things that could happen:


  *   Coordinator adds its own inputs, you still get your outputs but effec=
tively paid fees for no privacy gain
  *   The inputs added could be paying at a lower fee rate than expected, c=
ausing the tx to take longer than what you paid for
  *   Different input types or amount are added so you no longer have the s=
ame uniformity across the inputs
  *   (if you care) An input from a sanctioned address is added, causing yo=
u to get "tainted" coins.

This is the code in ln-vortex that verifies the psbt on the client side if =
you are curious

https://github.com/ln-vortex/ln-vortex/blob/master/client/src/main/scala/co=
m/lnvortex/client/VortexClient.scala#L616


Best,

benthecarman

________________________________
From: bitcoin-dev <bitcoin-dev-bounces@lists.linuxfoundation.org> on behalf=
 of alicexbt via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org>
Sent: Monday, May 22, 2023 7:51 AM
To: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Subject: [bitcoin-dev] Coinjoin with less steps using ALL|ANYONECANPAY

Hi Bitcoin Developers,

I recently experimented with different sighash flags, PSBTs and realized AL=
L|ANYONECANPAY could be used to reduce some steps in coinjoin.

Steps:

- Register outputs.
- One user creates a signed PSBT with 1 input, all registered outputs and A=
LL|ANYONECANPAY sighash flag. Other participants keep adding their inputs t=
o PSBT.
- Finalize and broadcast the transaction.

Proof of Concept (Aice and Bob): https://gitlab.com/-/snippets/2542297

Tx: https://mempool.space/testnet/tx/c6dd626591dca7e25bbd516f01b23171eb0f2b=
623471fcf8e073c87c1179c492

I plan to use this in joinstr if there are no major drawbacks and it can ev=
en be implemented by other coinjoin implementations.

/dev/fd0
floppy disk guy

Sent with Proton Mail secure email.
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

--_000_SJ1P223MB0531D7D62140F0516A25897AA1439SJ1P223MB0531NAMP_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);" class=3D"elementToProof ContentPasted0">
The problem with using ALL|ANYONECANPAY is that you cannot verify beforehan=
d that the other inputs are the inputs you want added to the transaction.</=
div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);" class=3D"elementToProof ContentPasted0">
<br>
</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);" class=3D"elementToProof ContentPasted0">
Some examples of bad things that could happen:</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);" class=3D"elementToProof ContentPasted0">
<br>
</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);" class=3D"elementToProof ContentPasted0">
<ul data-editing-info=3D"{&quot;orderedStyleType&quot;:1,&quot;unorderedSty=
leType&quot;:2}">
<li style=3D"list-style-type: &quot;- &quot;;"><span>Coordinator adds its o=
wn inputs, you still get your outputs but effectively paid fees for no priv=
acy gain</span></li><li style=3D"list-style-type: &quot;- &quot;;"><span>Th=
e inputs added could be paying at a lower fee rate than expected, causing t=
he tx to take longer than what you paid for</span></li><li style=3D"list-st=
yle-type: &quot;- &quot;;"><span>Different input types or amount are added =
so you no longer have the same uniformity across the inputs</span></li><li =
style=3D"list-style-type: &quot;- &quot;;"><span>(if you care) An input fro=
m a sanctioned address is added, causing you to get &quot;tainted&quot; coi=
ns.<br>
</span></li></ul>
</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);" class=3D"elementToProof ContentPasted0 ContentPasted=
1">
This is the code in ln-vortex that verifies the psbt on the client side if =
you are curious<br>
<br>
<a href=3D"https://github.com/ln-vortex/ln-vortex/blob/master/client/src/ma=
in/scala/com/lnvortex/client/VortexClient.scala#L616" id=3D"LPNoLPOWALinkPr=
eview">https://github.com/ln-vortex/ln-vortex/blob/master/client/src/main/s=
cala/com/lnvortex/client/VortexClient.scala#L616</a>
<div class=3D"_Entity _EType_OWALinkPreview _EId_OWALinkPreview _EReadonly_=
1"></div>
<br>
</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);" class=3D"elementToProof ContentPasted0 ContentPasted=
1">
<br>
</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);" class=3D"elementToProof ContentPasted0 ContentPasted=
1">
Best,</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);" class=3D"elementToProof ContentPasted0 ContentPasted=
1">
<br>
</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);" class=3D"elementToProof ContentPasted0 ContentPasted=
1">
benthecarman<br>
</div>
<div id=3D"appendonsend"></div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);">
<br>
</div>
<hr tabindex=3D"-1" style=3D"display:inline-block; width:98%">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font style=3D"font-size: 11pt; color=
: rgb(0, 0, 0);" face=3D"Calibri, sans-serif"><b>From:</b> bitcoin-dev &lt;=
bitcoin-dev-bounces@lists.linuxfoundation.org&gt; on behalf of alicexbt via=
 bitcoin-dev &lt;bitcoin-dev@lists.linuxfoundation.org&gt;<br>
<b>Sent:</b> Monday, May 22, 2023 7:51 AM<br>
<b>To:</b> Bitcoin Protocol Discussion &lt;bitcoin-dev@lists.linuxfoundatio=
n.org&gt;<br>
<b>Subject:</b> [bitcoin-dev] Coinjoin with less steps using ALL|ANYONECANP=
AY</font>
<div>&nbsp;</div>
</div>
<div class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size:11pt"=
>
<div class=3D"PlainText">Hi Bitcoin Developers,<br>
<br>
I recently experimented with different sighash flags, PSBTs and realized AL=
L|ANYONECANPAY could be used to reduce some steps in coinjoin.<br>
<br>
Steps:<br>
<br>
- Register outputs.<br>
- One user creates a signed PSBT with 1 input, all registered outputs and A=
LL|ANYONECANPAY sighash flag. Other participants keep adding their inputs t=
o PSBT.<br>
- Finalize and broadcast the transaction.<br>
<br>
Proof of Concept (Aice and Bob):&nbsp;<a href=3D"https://gitlab.com/-/snipp=
ets/2542297" data-auth=3D"NotApplicable">https://gitlab.com/-/snippets/2542=
297</a><br>
<br>
Tx: <a href=3D"https://mempool.space/testnet/tx/c6dd626591dca7e25bbd516f01b=
23171eb0f2b623471fcf8e073c87c1179c492" data-auth=3D"NotApplicable">
https://mempool.space/testnet/tx/c6dd626591dca7e25bbd516f01b23171eb0f2b6234=
71fcf8e073c87c1179c492</a><br>
<br>
I plan to use this in joinstr if there are no major drawbacks and it can ev=
en be implemented by other coinjoin implementations.
<br>
<br>
/dev/fd0<br>
floppy disk guy<br>
<br>
Sent with Proton Mail secure email.<br>
_______________________________________________<br>
bitcoin-dev mailing list<br>
bitcoin-dev@lists.linuxfoundation.org<br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
data-auth=3D"NotApplicable">https://lists.linuxfoundation.org/mailman/listi=
nfo/bitcoin-dev</a><br>
</div>
</span></font></div>
</body>
</html>

--_000_SJ1P223MB0531D7D62140F0516A25897AA1439SJ1P223MB0531NAMP_--