Return-Path: Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 00ABAC002D for ; Sun, 23 Oct 2022 07:00:26 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id C2D73813F9 for ; Sun, 23 Oct 2022 07:00:25 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org C2D73813F9 Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key) header.d=protonmail.com header.i=@protonmail.com header.a=rsa-sha256 header.s=protonmail3 header.b=hK1XWHYc X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.102 X-Spam-Level: X-Spam-Status: No, score=-2.102 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, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GeHPnraqjKkc for ; Sun, 23 Oct 2022 07:00:24 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 49450813F5 Received: from mail-4319.protonmail.ch (mail-4319.protonmail.ch [185.70.43.19]) by smtp1.osuosl.org (Postfix) with ESMTPS id 49450813F5 for ; Sun, 23 Oct 2022 07:00:23 +0000 (UTC) Date: Sun, 23 Oct 2022 07:00:07 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1666508421; x=1666767621; bh=9jL8814YnUW2Bf+Yb+QYq0PrOBU4N23fTe9PTSicxXA=; 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; b=hK1XWHYcUQVHkilPBiYkgyiqg3PEDe+npih69tRS3ELSuh2gQSFpDFuC4sMBl1luK 5sL7rsBZn6ZyqMktSx283GaBuj95nmX/AG5yCyU4V3yz8gTqxDSMB7G4+9JejAhkt/ qptLMqptIXTZwZwuLNGfZvNQLzl3aOJgOn1CjaLaXcelIE88TZBOTWDlCOihYYEYYN KwopXJYrP6BpxHRJL6YbNEvOeEAVbfos2HuS5WeRp5YpQY/vt62OQ12Td3AXxK2duk qi7vrFcdapLFE8msPGOoXsOwn6McvyVVzcxmJMBBVJ2TpnC01flTbXbiUgfJr5IfIx igkarYCB0RRhg== To: alicexbt From: woltx Message-ID: In-Reply-To: References: Feedback-ID: 48616983:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Sun, 23 Oct 2022 10:07:25 +0000 Cc: "bitcoin-dev@lists.linuxfoundation.org" Subject: Re: [bitcoin-dev] Silent Payment v4 (coinjoin support added) 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: Sun, 23 Oct 2022 07:00:26 -0000 Hi /dev/fd0 I haven't accessed ML for a while. 1) All inputs being used sounds good although I do not understand how it wo= uld benefit coinjoin. Using all inputs, it becomes possible to use SP addresses in coinjoins as l= ong as all participants agree. More information: https://gist.github.com/RubenSomsen/c43b79517e7cb701ebf77eec6dbb46b8#varian= t-using-all-inputs 2) Not sure about the concerns expressed by Andrew Poelstra in the pull req= uest related to rogue-key attacks. I think Andrew Poelstra is referring to a multi-party scheme. This is not the case with the Silent Payments scheme, which only relies on = transaction data, which is publicly available on the blockchain. 3) I could not understand the warning in the output for `getsilentaddress` = RPC when used with a label. This warning was suggested by Aur=C3=A8le Oul=C3=A8s in https://github.com/= bitcoin/bitcoin/pull/24897#issuecomment-1276160738 and the reason was a dis= cussion in PR about users thinking that each address would come from a diff= erent key and not the same key. Sent with Proton Mail secure email. ------- Original Message ------- On Wednesday, October 12th, 2022 at 6:04 AM, alicexbt wrote: > Hi woltx, >=20 > Thanks for working on silent payments improving it in each version. >=20 > 1) All inputs being used sounds good although I do not understand how it = would benefit coinjoin. > 2) New RPC command name is better. >=20 > > I opened a new PR (#1143) to add a function to convert from x-only to c= ompressed public key with even y. >=20 >=20 > Not sure about the concerns expressed by Andrew Poelstra in the pull requ= est related to rogue-key attacks. >=20 > > Tutorial updated: https://gist.github.com/w0xlt/c81277ae8677b6c0d3dd073= 893210875 > > "warnings": "This address is not a new identity. It is a re-use of an e= xisting identity with a different label." >=20 >=20 > I could not understand the warning in the output for `getsilentaddress` R= PC when used with a label. >=20 > /dev/fd0 >=20 > Sent with Proton Mail secure email. >=20 >=20 > ------- Original Message ------- > On Tuesday, October 11th, 2022 at 12:32 PM, woltx via bitcoin-dev bitcoin= -dev@lists.linuxfoundation.org wrote: >=20 >=20 >=20 > > Silent Payment v4 (coinjoin support added) > > Changes: > >=20 > > . Silent payments now use all inputs to create transactions. Previously= , they only used the first input. This change increases privacy and makes s= ilent payments compatible with coinjoin. > >=20 > > . `getspaddress` RPC renamed to `getsilentaddress` for clarity > >=20 > > . Added support for silent payment in PSBT via `walletcreatefundedpsbt`= RPC. > >=20 > > . Added a new index scheme (which stores the sum of input public keys f= or each transaction). The previous index `bitcoin/signet/indexes/silentpaym= entindex` should be removed as it is no longer compatible with this new ver= sion. > >=20 > > For reviewers: > >=20 > > Now, silent payments use the scheme `hash(i1*X + i2*X + i3*X + ...)*G += X =3D=3D hash(x*(I1+I2+I3+...))*G + X`, as described here: https://gist.gi= thub.com/RubenSomsen/c43b79517e7cb701ebf77eec6dbb46b8#variant-using-all-inp= uts > >=20 > > As inputs can be Taproot, this introduced a new issue as `bitcoin-core/= secp256k1` does not support x-only public key sum (perhaps due to missing p= refix byte). > >=20 > > I opened a new PR (#1143) to add a function to convert from x-only to c= ompressed public key with even y. This is the solution being used by the cu= rrent silent payment implementation. > >=20 > > Tutorial updated: https://gist.github.com/w0xlt/c81277ae8677b6c0d3dd073= 893210875