summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Carman <benthecarman@live.com>2023-05-22 22:51:49 +0000
committerbitcoindev <bitcoindev@gnusha.org>2023-05-22 22:51:53 +0000
commit7f9c08bf892bf73da37534bc9b7166d9d317dfdc (patch)
tree4e03c29bba329a65a08aad21dc05cd8af1bdea7c
parentbc04740835b2155de464dfe710d398588ed40dae (diff)
downloadpi-bitcoindev-7f9c08bf892bf73da37534bc9b7166d9d317dfdc.tar.gz
pi-bitcoindev-7f9c08bf892bf73da37534bc9b7166d9d317dfdc.zip
Re: [bitcoin-dev] Coinjoin with less steps using ALL|ANYONECANPAY
-rw-r--r--3d/1e50fa42c6b5eff47514124cc77e37f7199366335
1 files changed, 335 insertions, 0 deletions
diff --git a/3d/1e50fa42c6b5eff47514124cc77e37f7199366 b/3d/1e50fa42c6b5eff47514124cc77e37f7199366
new file mode 100644
index 000000000..7cb325ade
--- /dev/null
+++ b/3d/1e50fa42c6b5eff47514124cc77e37f7199366
@@ -0,0 +1,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_--
+