summaryrefslogtreecommitdiff
path: root/5a/d3258cf00818e0568d80503f1a0f5282788e54
blob: d6ba2f8d78adf4a1057f38a5a2a7d920d3c6de70 (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
Return-Path: <d@ngould.dev>
Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133])
 by lists.linuxfoundation.org (Postfix) with ESMTP id 3C60AC0032
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Sat, 12 Aug 2023 21:20:58 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp2.osuosl.org (Postfix) with ESMTP id 03D7D40156
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Sat, 12 Aug 2023 21:20:58 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 03D7D40156
Authentication-Results: smtp2.osuosl.org;
 dkim=pass (1024-bit key) header.d=ngould.dev header.i=@ngould.dev
 header.a=rsa-sha256 header.s=protonmail header.b=oyE0BnZ9
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level: 
X-Spam-Status: No, score=-2.1 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, RCVD_IN_MSPIKE_H5=0.001,
 RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001]
 autolearn=ham autolearn_force=no
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 kw-EyRUIe0t3
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Sat, 12 Aug 2023 21:20:57 +0000 (UTC)
Received: from mail-4317.proton.ch (mail-4317.proton.ch [185.70.43.17])
 by smtp2.osuosl.org (Postfix) with ESMTPS id CB01140111
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Sat, 12 Aug 2023 21:20:56 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org CB01140111
Date: Sat, 12 Aug 2023 21:20:37 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ngould.dev;
 s=protonmail; t=1691875254; x=1692134454;
 bh=EiyOz+Qy40Ci9Y4zs4PuT7CO+RZ4mQOZ8XLlCabFXaw=;
 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=oyE0BnZ9Q3LZM6t0eGa1d5GA6jX2xQB7ABgGylH0SgdV6h3Z5HjTJNTOpVHy1wCS3
 2bD61h+s2dVSOvSyRBgyjrpN2RYA0q7heE83y5FlBYEoFevJGz4ENBODltMxhbcE2m
 Y+DI86Wx8JW6ZlF7zZFMz1x14WAPWMPnalk2K7cw=
To: Christopher Allen <ChristopherA@lifewithalacrity.com>
From: Dan Gould <d@ngould.dev>
Message-ID: <ACC80254-1AE2-4B6E-8D5C-A3C3FACCA6EA@ngould.dev>
In-Reply-To: <CACrqygAPKUUYxWbV0XwrRN9U1sNEGCkv+iWwA8MiLLjN_+dASQ@mail.gmail.com>
References: <mailman.130337.1691684480.956.bitcoin-dev@lists.linuxfoundation.org>
 <50A19B79-46A1-4F21-AA53-74356F4B0CBA@ngould.dev>
 <P1bXSK5FgAsqtckOyZmQ4U6XyKJavBuDC92FgE_R4osiQJIIEDndFRPBFJsU6vO0fhioctnDV9MKp1sYoCfSwswUbFfkglxHEvYaNMo67fI=@proton.me>
 <CACrqygAPKUUYxWbV0XwrRN9U1sNEGCkv+iWwA8MiLLjN_+dASQ@mail.gmail.com>
Feedback-ID: 13175031:user:proton
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Mailman-Approved-At: Sun, 13 Aug 2023 01:18:09 +0000
Cc: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] BIP for Serverless Payjoin
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: Sat, 12 Aug 2023 21:20:58 -0000

Blockchain Commons UR seems to be the most elegant choice since QRs are com=
monplace. This suggestion, along with Adam=E2=80=99s to reconsider DH over =
symmetric crypto would let us encode a pub key directly in the `pj=3D` endp=
oint rather than with a separate  am somewhat concerned that some payjoin i=
mplementations are written in JavaScript and would benefit most from a v2 u=
pgrade in order to support receiving, but no JavaScript ur library exists y=
et. Perhaps one could be bound from the rust implementation.

I have updated the draft to include these suggestions and posted it to the =
bips repo: https://github.com/bitcoin/bips/pull/1483

The biggest change is that symmetric crypto is replaced with a Noise IK-bas=
ed cryptosystem using Secp256k1/Sha256/ChaChaPoly1305 to address the proble=
ms waxwing helped uncover.

I hope also to hear more input on the transport protocol. I know many devel=
opers are interested in Nostr for its censorship resistant properties and w=
ould like to see that discussion play out within the BIP process to reach r=
ough consensus before deployment. This hope is a key reason I=E2=80=99ve wr=
itten here first instead of developing and deploying a complete reference i=
mplementation.

Thanks list,

Dan

> On Aug 11, 2023, at 9:05 PM, Christopher Allen <ChristopherA@lifewithalac=
rity.com> wrote:
>=20
>=20
>=20
> On Fri, Aug 11, 2023 at 3:29 PM symphonicbtc via bitcoin-dev <bitcoin-dev=
@lists.linuxfoundation.org> wrote:
> Quick little nit I noticed as well, are you sure base64 encoding is the b=
est choice for the psk in the URI? You may find that having to urlencode th=
e special characters in base64 it impacts readability and adds a layer of c=
omplexity if a human wanted to extract the psk from the URI for some reason=
. I suggest using something like [base64url](https://datatracker.ietf.org/d=
oc/html/rfc4648#section-5) which modifies base64 slightly to be more suited=
 to this purpose.
>=20
> Yes, the URI version of base64 is better.
> However, If you plan to display these via QRs, either will double the den=
sity of the QR as QR libraries treat them as binary data (like hex of hex d=
ata). Thus you may want to use UR encoding, which is what over a dozen bitc=
oin wallets use to encode PSBTs. URs are very efficient with QRs, and have =
the optional benefit that if the data carried becomes too large, they can b=
e animated. The have other advantages.=20
>=20
> * A top level link about URs:=20
> https://github.com/BlockchainCommons/crypto-commons/blob/master/Docs/READ=
ME.md#uniform-resources-urs
>=20
> * About the base64 encoding with QRs problem:=20
> https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020=
-003-uri-binary-compatibility.md
>=20
> * The base UR tech spec:=20
> https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020=
-005-ur.md
>=20
> * List of bitcoin wallets using UR for PSBTs:=20
> https://github.com/blockchaincommons/gordian-developer-community#urs
>=20
> * List of UR libraries:=20
> https://github.com/BlockchainCommons/crypto-commons#bc-ur
>=20
> Let me know if you=E2=80=99re interested.
>=20
> =E2=80=94 Christopher Allen