Return-Path: <prayank@tutanota.de> Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 26366C001A for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 28 Feb 2022 14:56:15 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 070DC8142E for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 28 Feb 2022 14:56:15 +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: smtp1.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=tutanota.de 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 LGnqcpuMJB1o for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 28 Feb 2022 14:56:13 +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 smtp1.osuosl.org (Postfix) with ESMTPS id 7F88081443 for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 28 Feb 2022 14:56:13 +0000 (UTC) Received: from w3.tutanota.de (unknown [192.168.1.164]) by w1.tutanota.de (Postfix) with ESMTP id 3DB4BFBF564 for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 28 Feb 2022 14:56:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1646060171; s=s1; d=tutanota.de; h=From:From:To:To:Subject:Subject:Content-Description:Content-ID:Content-Type:Content-Type:Content-Transfer-Encoding:Cc:Date:Date:In-Reply-To:MIME-Version:MIME-Version:Message-ID:Message-ID:Reply-To:References:Sender; bh=lUB2kJKAi6wCfNvxDT+Bno/5Ve3kf2YzsKoFEPB2xDU=; b=mNKqgzvBgikiNG+e/BDxd2eiTITCzMwjVrNwi+rrlACjwG2j08k/cEqcL6XlUBD8 hbc841GzW9pv4VSP5NBiedjJXnVRIUr1wcO1HtDKwh7ihWRPsecN0anCLKdnYF0cDCh IAlEb7z+bdLzGPRMCuX+xNEVz2LIQv8UF4w018VJSNbbPwv+8cO0VPgBeERbsiy+ZgZ lv9a5Rxqh5BQNTZzT+jf+H4l2v68+apiFE4SrCLs13v3RcyAt5b+T8sAjvIIwTIw5Gk IHXDb9OfUwqHwgdKCkoPS1fZzqq4eDc2IvP/zWHpVAZE94ZHcEz7v2fvODjVQUzSVdM lYJ4QjYK6g== Date: Mon, 28 Feb 2022 15:56:11 +0100 (CET) From: Prayank <prayank@tutanota.de> To: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org> Message-ID: <Mx-pDcD--7-2@tutanota.de> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_429697_1794254631.1646060171234" X-Mailman-Approved-At: Mon, 28 Feb 2022 16:02:59 +0000 Subject: [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 <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, 28 Feb 2022 14:56:15 -0000 ------=_Part_429697_1794254631.1646060171234 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hello World, There was some discussion about BIP 47 on twitter recently: https://twitter.com/BitcoinQ_A/status/1356177927285714946 BIP 47 improves privacy however there are a few reasons why its less used: 1.Some developers consider it spams Bitcoin without improving anything: https://twitter.com/LukeDashjr/status/1280475865827151878 2.Paynym (a centralized directory managed by Samourai) and Samourai wallet is the only implementation used for BIP 47 right now. Centralized payment code directory isn't good for privacy and security. There can be few other important issues which I missed in this email. I have few ideas to solve these 2 problems with the use of TXT records and domains. Since buying domain, managing DNS etc. is mostly centralized I won't share the example using normal DNS. Below proof of concept uses GNS (GNU Name Service): ``` Payment code for Alice: PM8TJggVVXFKAmfkjnA1CQcrSbGScUKRsVohpfMpSM56f6jg5uQTPJvNS1wKDGV17d9NWLqoVzsJ8qURqpUECmSFLcUuC4g3aMtoXp2fChY1ZEqzG16f Start GNUnet: gnunet-arm -s Create identity: gnunet-identity -C alice Check public key: gnunet-identity -d alice - 000G005XCTRJ0DJGPVPNY66GAY52C61KA8A7CA92PKT51PHNVWY9JF8WB4 - ECDSA Add payment code as TXT record which expires in 90 days: gnunet-namestore -z alice -a -e "90 d" -p -t TXT -n pay -V "PM8TJTLJbPRGxSbc8EJi42Wrr6QbNSaSSVJ5Y3E4pbCYiTHUskHg13935Ubb7q8tx9GVbh2UuRnBc3WSyJHhUrw8KhprKnn9eDznYGieTzFcwQRya4GA" Check payment code: gnunet-gns -t TXT -u pay.alice pay.alice: Got `TXT' record: PM8TJTLJbPRGxSbc8EJi42Wrr6QbNSaSSVJ5Y3E4pbCYiTHUskHg13935Ubb7q8tx9GVbh2UuRnBc3WSyJHhUrw8KhprKnn9eDznYGieTzFcwQRya4GA ``` Similarly notification transaction can be replaced with `gnunet-publish`. Nostr is still a work in progress and I think it could also be used for such things in future. Everything looks achievable and involves basic things but we still see people posting their bitcoin address on social media to get donations. Related: Q&A: https://bitcoin.stackexchange.com/questions/106971/how-to-accept-donation-correctly/ New proposal: https://gist.github.com/Kixunil/0ddb3a9cdec33342b97431e438252c0a -- Prayank A3B1 E430 2298 178F ------=_Part_429697_1794254631.1646060171234 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <html> <head> <meta http-equiv=3D"content-type" content=3D"text/html; charset=3DUTF-8= "> </head> <body> <div>Hello World,<br></div><div dir=3D"auto"><br></div><div dir=3D"auto">Th= ere was some discussion about BIP 47 on twitter recently: https://twitter.c= om/BitcoinQ_A/status/1356177927285714946</div><div><br></div><div dir=3D"au= to">BIP 47 improves privacy however there are a few reasons why its less us= ed:<br></div><div dir=3D"auto"><br></div><div dir=3D"auto">1.Some developer= s consider it spams Bitcoin without improving anything: https://twitter.com= /LukeDashjr/status/1280475865827151878<br></div><div dir=3D"auto"><br></div= ><div dir=3D"auto">2.Paynym (a centralized directory managed by Samourai) a= nd Samourai wallet is the only implementation used for BIP 47 right now. Ce= ntralized payment code directory isn't good for privacy and security.<br></= div><div dir=3D"auto"><br></div><div dir=3D"auto">There can be few other im= portant issues which I missed in this email. I have few ideas to solve thes= e 2 problems with the use of TXT records and domains. Since buying domain, = managing DNS etc. is mostly centralized I won't share the example using nor= mal DNS. Below proof of concept uses GNS (GNU Name Service):<br></div><div = dir=3D"auto"><br></div><div dir=3D"auto">```<br></div><div dir=3D"auto"><br= ></div><div dir=3D"auto">Payment code for Alice: PM8TJggVVXFKAmfkjnA1CQcrSb= GScUKRsVohpfMpSM56f6jg5uQTPJvNS1wKDGV17d9NWLqoVzsJ8qURqpUECmSFLcUuC4g3aMtoX= p2fChY1ZEqzG16f<br></div><div dir=3D"auto"><br></div><div dir=3D"auto">Star= t GNUnet: <br></div><div dir=3D"auto"><br></div><div dir=3D"auto">gnunet-ar= m -s<br></div><div dir=3D"auto"><br></div><div dir=3D"auto">Create identity= :<br></div><div dir=3D"auto"><br></div><div dir=3D"auto">gnunet-identity -C= alice<br></div><div dir=3D"auto"><br></div><div dir=3D"auto">Check public = key:<br></div><div dir=3D"auto"><br></div><div dir=3D"auto">gnunet-identity= -d<br></div><div dir=3D"auto"><br></div><div dir=3D"auto">alice - 000G005X= CTRJ0DJGPVPNY66GAY52C61KA8A7CA92PKT51PHNVWY9JF8WB4 - ECDSA<br></div><div di= r=3D"auto"><br></div><div dir=3D"auto">Add payment code as TXT record which= expires in 90 days:<br></div><div dir=3D"auto"><br></div><div dir=3D"auto"= >gnunet-namestore -z alice -a -e "90 d" -p -t TXT -n pay -V "PM8TJTLJbPRGxS= bc8EJi42Wrr6QbNSaSSVJ5Y3E4pbCYiTHUskHg13935Ubb7q8tx9GVbh2UuRnBc3WSyJHhUrw8K= hprKnn9eDznYGieTzFcwQRya4GA"<br></div><div dir=3D"auto"><br></div><div dir= =3D"auto">Check payment code:<br></div><div dir=3D"auto"><br></div><div dir= =3D"auto">gnunet-gns -t TXT -u pay.alice<br></div><div dir=3D"auto"><br></d= iv><div dir=3D"auto">pay.alice:<br></div><div dir=3D"auto">Got `TXT' record= : PM8TJTLJbPRGxSbc8EJi42Wrr6QbNSaSSVJ5Y3E4pbCYiTHUskHg13935Ubb7q8tx9GVbh2Uu= RnBc3WSyJHhUrw8KhprKnn9eDznYGieTzFcwQRya4GA<br></div><div dir=3D"auto"><br>= </div><div dir=3D"auto">```<br></div><div dir=3D"auto"><br></div><div dir= =3D"auto">Similarly notification transaction can be replaced with `gnunet-p= ublish`. Nostr is still a work in progress and I think it could also be use= d for such things in future. Everything looks achievable and involves basic= things but we still see people posting their bitcoin address on social med= ia to get donations.<br></div><div dir=3D"auto"><br></div><div dir=3D"auto"= >Related:<br></div><div dir=3D"auto"><br></div><div dir=3D"auto">Q&A: h= ttps://bitcoin.stackexchange.com/questions/106971/how-to-accept-donation-co= rrectly/<br></div><div dir=3D"auto">New proposal: https://gist.github.com/K= ixunil/0ddb3a9cdec33342b97431e438252c0a<br></div><div><br></div><div dir=3D= "auto"><br></div><div dir=3D"auto">-- <br></div><div>Prayank<br></div><div>= <br></div><div dir=3D"auto">A3B1 E430 2298 178F<br></div> </body> </html> ------=_Part_429697_1794254631.1646060171234--