Return-Path: Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 6A645C000B for ; Wed, 2 Mar 2022 04:46:01 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 442DA4010C for ; Wed, 2 Mar 2022 04:46:01 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.099 X-Spam-Level: X-Spam-Status: No, score=-2.099 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, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: smtp2.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=tutanota.de 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 zjyjlsjD1jOf for ; Wed, 2 Mar 2022 04:46:00 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 Received: from w1.tutanota.de (w1.tutanota.de [81.3.6.162]) by smtp2.osuosl.org (Postfix) with ESMTPS id 0CE2F400A4 for ; Wed, 2 Mar 2022 04:45:59 +0000 (UTC) Received: from w3.tutanota.de (unknown [192.168.1.164]) by w1.tutanota.de (Postfix) with ESMTP id 358E8FBF85F; Wed, 2 Mar 2022 04:45:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1646196358; s=s1; d=tutanota.de; h=From:From:To:To:Subject:Subject:Content-Description:Content-ID:Content-Type:Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:In-Reply-To:MIME-Version:MIME-Version:Message-ID:Message-ID:Reply-To:References:Sender; bh=37UO4H52jDce6nk1U2n7zApT0uSj1h2Cg4J+MbtMT10=; b=1jQnaY/zIKFWGZ82Q1qDAcIDLcVUFOnObc7IFQ7hR+tjb1AXUo9bsjBGNf2cm6GI s4tVfANr9yY0cotYYTPIwOCgPsNH34jrU3FXDYDIzn47G2bvhXt/IsJBiNTwnCLzFjd pqAVZuRd9e8IFer5blZQMx4JvckNSJa14BcNvukYXqefmkVswtkRAQIrGmY8fnG4mVW 29RkLnWSaaUi5sIhCYxAK6PttHUI7QURDK+eI9Z33CN2YFuL8x/kpmpJA7HFavrY+Jq arjGKm6XnaF9rRY5uByiT3QHmtyYffSV5VHw3NxD+f7v7NWKlzXiy8bxUm5kA/z9ZvO j/FcepVZYQ== Date: Wed, 2 Mar 2022 05:45:58 +0100 (CET) From: Prayank To: dizzle@pointbiz.com Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_71095_1499491547.1646196358193" X-Mailman-Approved-At: Wed, 09 Mar 2022 21:27:48 +0000 Cc: Bitcoin Dev Subject: Re: [bitcoin-dev] Decentralized BIP 47 payment code directory 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: Wed, 02 Mar 2022 04:46:01 -0000 ------=_Part_71095_1499491547.1646196358193 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi Peter, > Regarding to BIP47 there's a newer version (v3 and v4) proposed here: https://github.com/OpenBitcoinPrivacyProject/rfc/blob/master/obpp-05.mediawiki > Now the notification from Alice to Bob is a transaction from Alice to Alice as a bare 1 of 3 multisig. The other 2 pubkeys represent Alice's payment code and Bob's payment identifier. Eliminating the toxic change issue. Thanks for sharing the link. Removing toxic change sounds good and certainly an improvement. > An xpub doesn't accomplish this because if you have your xpub in a crowdfunding platform the platform or anyone who hacks it can identify your payments. With the payment code you can associate yourself publicly with your payment code and no one (who is not the sender) will know if you received funds as your payment code is not visible in the blockchain. Crowdfunding platform can also be self hosted like BTCPay server. In this case XPUB is not shared with anyone as long as machine running BTCPay is secure. Problem with this setup is users need to setup BTCPay, running all the time and manage gap limit. No such thing is required in using BIP 47 payment codes. There is also a [rust library][1] to use BIP 47 and I found the link on twitter yesterday. I think this can be helpful for application developers to implement BIP 47 payment codes in different bitcoin projects. [1]: https://github.com/rust-bitcoin/rust-bip47 -- Prayank A3B1 E430 2298 178F ------=_Part_71095_1499491547.1646196358193 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit
Hi Peter,

> Regarding to BIP47 there's a newer version (v3 and v4) proposed here: https://github.com/OpenBitcoinPrivacyProject/rfc/blob/master/obpp-05.mediawiki

> Now the notification from Alice to Bob is a transaction from Alice to Alice as a bare 1 of 3 multisig. The other 2 pubkeys represent Alice's payment code and Bob's payment identifier. Eliminating the toxic change issue.

Thanks for sharing the link. Removing toxic change sounds good and certainly an improvement.

> An xpub doesn't accomplish this because if you have your xpub in a crowdfunding platform the platform or anyone who hacks it can identify your payments. With the payment code you can associate yourself publicly with your payment code and no one (who is not the sender) will know if you received funds as your payment code is not visible in the blockchain.

Crowdfunding platform can also be self hosted like BTCPay server. In this case XPUB is not shared with anyone as long as machine running BTCPay is secure. Problem with this setup is users need to setup BTCPay, running all the time and manage gap limit. No such thing is required in using BIP 47 payment codes.

There is also a [rust library][1] to use BIP 47 and I found the link on twitter yesterday. I think this can be helpful for application developers to implement BIP 47 payment codes in different bitcoin projects.

[1]: https://github.com/rust-bitcoin/rust-bip47


--
Prayank

A3B1 E430 2298 178F
------=_Part_71095_1499491547.1646196358193--