summaryrefslogtreecommitdiff
path: root/be/95c99dcbfeeea9457bb8ad48c31583e5e40a9a
blob: 6277c15c4375689b3c5fdf24f3ea093ea6a72a9e (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
Return-Path: <thomasv@electrum.org>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 370FB482
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 21 Jul 2015 14:58:45 +0000 (UTC)
X-Greylist: from auto-whitelisted by SQLgrey-1.7.6
Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net
	[217.70.183.197])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id BE555165
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 21 Jul 2015 14:58:44 +0000 (UTC)
Received: from mfilter47-d.gandi.net (mfilter47-d.gandi.net [217.70.178.178])
	by relay5-d.mail.gandi.net (Postfix) with ESMTP id ACA4741C064
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 21 Jul 2015 16:58:42 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mfilter47-d.gandi.net
Received: from relay5-d.mail.gandi.net ([IPv6:::ffff:217.70.183.197])
	by mfilter47-d.gandi.net (mfilter47-d.gandi.net [::ffff:10.0.15.180])
	(amavisd-new, port 10024) with ESMTP id FaL38MeDfj7P
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 21 Jul 2015 16:58:41 +0200 (CEST)
X-Originating-IP: 85.180.203.77
Received: from [192.168.1.3] (x55b4cb4d.dyn.telefonica.de [85.180.203.77])
	(Authenticated sender: thomasv@electrum.org)
	by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 5084D41C08A
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 21 Jul 2015 16:58:40 +0200 (CEST)
Message-ID: <55AE5E1F.4050609@electrum.org>
Date: Tue, 21 Jul 2015 16:58:39 +0200
From: Thomas Voegtlin <thomasv@electrum.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:31.0) Gecko/20100101 Thunderbird/31.7.0
MIME-Version: 1.0
To: bitcoin-dev@lists.linuxfoundation.org
References: <CA+w+GKRRfT=8xALsVMqEUAZWzd87Lf4HqFPuDigatY+nHzafQQ@mail.gmail.com>
In-Reply-To: <CA+w+GKRRfT=8xALsVMqEUAZWzd87Lf4HqFPuDigatY+nHzafQQ@mail.gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW
	autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
Subject: Re: [bitcoin-dev] QR code alternatives (was: Proposal: extend bip70
	with OpenAlias)
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Development 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: Tue, 21 Jul 2015 14:58:45 -0000



Le 20/07/2015 16:40, Mike Hearn a =C3=A9crit :
>=20
> If we accept a single payment address i.e. no clever tricks around merg=
e
> avoidance, such a QR code could look like this:
>=20
> bitcoin:1aBcD1234....?x=3Dserialized_payment_request
>=20
> However this requires text mode and wastes bytes at the front for the U=
RI
> type.
>=20

It is possible to be both backward-compatible and to avoid wasting space
in URIs, if we simply assume that the payment request is a single
standard output + amount (that scenario will probably cover 99% of the
cases, and the few other cases may not need QR codes). We generate a
serialized bip70 PR from the parameters found in the URI, sign that
string, and add the signature to the URI.

Example:

bitcoin:1H14AiSc4PqkK9VTmeutZU3edSy3HS5HL8?amount=3D1&message=3Dhere%20is=
%20a%20test&time=3D1437489571&exp=3D604800&name=3Decdsa.net&sig=3D3Quot6m=
2RsR43NgV8VQQx3Ngf5u8wZY18mu523x3ViLrA3WLwSoQum2Znw3gRsTgfADpHuEiyyjnpxCL=
KWrkR4RQM

'time' is the timestamp of the request
'exp' is the duration of validity, 1 week here
(it saves a few bits to express it that way)

'name' is the domain name of the signer
'sig' is the signature

The QR code derived from that URI is perfectly scannable with a phone.