summaryrefslogtreecommitdiff
path: root/8d/fe6e01739eb54ccea3ea3789a0262d5635721a
blob: c930e7726fcadf26bae815c64cf3e8c173615fe4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
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&amp;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--