Return-Path: Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by lists.linuxfoundation.org (Postfix) with ESMTP id ACF0AC002A for ; Tue, 23 May 2023 12:34:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 9415260F62 for ; Tue, 23 May 2023 12:34:27 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 9415260F62 Authentication-Results: smtp3.osuosl.org; dkim=pass (2048-bit key) header.d=protonmail.com header.i=@protonmail.com header.a=rsa-sha256 header.s=protonmail3 header.b=kIKftkJJ X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -0.103 X-Spam-Level: X-Spam-Status: No, score=-0.103 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, PDS_OTHER_BAD_TLD=1.999, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MxxiIWY33gGU for ; Tue, 23 May 2023 12:34:24 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org CB35F60FE7 Received: from mail-40137.protonmail.ch (mail-40137.protonmail.ch [185.70.40.137]) by smtp3.osuosl.org (Postfix) with ESMTPS id CB35F60FE7 for ; Tue, 23 May 2023 12:34:19 +0000 (UTC) Date: Tue, 23 May 2023 12:34:03 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1684845256; x=1685104456; bh=8azS5k+bgymsy/qUnQGlWFjyU+LRQACJw+4XKUxRQRA=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=kIKftkJJsJlJ2STnW4BDmFP/DsUuVpXWnyjHzxIO2c/inPyrslnfBpjjivkz85zI1 hJCRur+s2LJ/Cvmmti75it+LlcM2p8gZBRw2btHXQFxmt4ByPu6XDsBLym9wToK9O7 RBrxZjEsIYEa0HVMtkMfPXZ0aOpgyDcVT7MbaL7VWPbId9Gwznxu9l2WzAarxmCipS X/S3711SGMTDFphtc0kI0HEWh4h2OCvXVxAOj8ANJReGtvXSWtWUcQkRg5aHXRcnhX vnF+3RlDLLSGnSMlCB7bCZISEW8dQjgnVJn+1Xcy+s0OIiHqbWAM4jGRE65cr6ld9m xcONGxNIm1Uzg== To: Ben Carman From: alicexbt Message-ID: In-Reply-To: References: Feedback-ID: 40602938:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Tue, 23 May 2023 13:04:22 +0000 Cc: Bitcoin Protocol Discussion 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: Tue, 23 May 2023 12:34:29 -0000 Hi Ben, Thanks for the feedback. > - Coordinator adds its own inputs, you still get your outputs but effec= tively paid fees for no privacy gain What will be the incentive for a coordinator to add its inputs in coinjoin?= Is this possible without ALL|ANYONECANPAY as well? Even if there is an inc= entive its unlikely to work in joinstr as there is no centralized coordinat= or. Multiple common relays are used to coordinate a coinjoin round. > - 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 > This is the code in ln-vortex that verifies the psbt on the client side i= f you are curious >=20 > https://github.com/ln-vortex/ln-vortex/blob/master/client/src/main/scala/= com/lnvortex/client/VortexClient.scala#L616 These 2 are important things and could be managed with client side validati= on by keeping min-max amounts for inputs in a round and disallow different = types of inputs. Thanks for sharing the code that validates PSBT. Joinstr will also use NIP38/48 channels for coinjoin rounds so that only pa= rticipants in a coinjoin round are aware of details. /dev/fd0 floppy disk guy Sent with Proton Mail secure email. ------- Original Message ------- On Tuesday, May 23rd, 2023 at 4:21 AM, Ben Carman w= rote: > The problem with using ALL|ANYONECANPAY is that you cannot verify beforeh= and that the other inputs are the inputs you want added to the transaction. >=20 > Some examples of bad things that could happen: >=20 >=20 > - 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. > =20 >=20 > This is the code in ln-vortex that verifies the psbt on the client side i= f you are curious >=20 > https://github.com/ln-vortex/ln-vortex/blob/master/client/src/main/scala/= com/lnvortex/client/VortexClient.scala#L616 >=20 >=20 > Best, >=20 > benthecarman >=20 >=20 >=20 > From: bitcoin-dev on beha= lf 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 >=20 > Hi Bitcoin Developers, >=20 > I recently experimented with different sighash flags, PSBTs and realized = ALL|ANYONECANPAY could be used to reduce some steps in coinjoin. >=20 > Steps: >=20 > - Register outputs. > - One user creates a signed PSBT with 1 input, all registered outputs and= ALL|ANYONECANPAY sighash flag. Other participants keep adding their inputs= to PSBT. > - Finalize and broadcast the transaction. >=20 > Proof of Concept (Aice and Bob):=C2=A0https://gitlab.com/-/snippets/25422= 97 >=20 > Tx: https://mempool.space/testnet/tx/c6dd626591dca7e25bbd516f01b23171eb0f= 2b623471fcf8e073c87c1179c492 >=20 > I plan to use this in joinstr if there are no major drawbacks and it can = even be implemented by other coinjoin implementations. >=20 > /dev/fd0 > floppy disk guy >=20 > Sent with Proton Mail secure email. > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev