Return-Path: Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 6E72BC002A for ; 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 ; 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 ; 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 ; 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 To: alicexbt , Bitcoin Protocol Discussion 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: References: In-Reply-To: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 on behalf= of alicexbt via bitcoin-dev Sent: Monday, May 22, 2023 7:51 AM To: Bitcoin Protocol Discussion 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
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 o= wn inputs, you still get your outputs but effectively paid fees for no priv= acy gain
  • 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
  • Different input types or amount are added = so you no longer have the same uniformity across the inputs
  • (if you care) An input fro= m a sanctioned address is added, causing you to get "tainted" coi= ns.
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/s= cala/com/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.linuxfoundatio= n.org>
Subject: [bitcoin-dev] Coinjoin with less steps using ALL|ANYONECANP= AY
 
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/2542= 297

Tx: https://mempool.space/testnet/tx/c6dd626591dca7e25bbd516f01b23171eb0f2b6234= 71fcf8e073c87c1179c492

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/listi= nfo/bitcoin-dev
--_000_SJ1P223MB0531D7D62140F0516A25897AA1439SJ1P223MB0531NAMP_--