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: <bitcoin-dev@wuille.net>
Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])
by lists.linuxfoundation.org (Postfix) with ESMTP id 09CFCC0893
for <bitcoin-dev@lists.linuxfoundation.org>;
Mon, 21 Dec 2020 22:57:27 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
by fraxinus.osuosl.org (Postfix) with ESMTP id EC456868A9
for <bitcoin-dev@lists.linuxfoundation.org>;
Mon, 21 Dec 2020 22:57:26 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
Received: from fraxinus.osuosl.org ([127.0.0.1])
by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id dXy6nODRlnfM
for <bitcoin-dev@lists.linuxfoundation.org>;
Mon, 21 Dec 2020 22:57:25 +0000 (UTC)
X-Greylist: from auto-whitelisted by SQLgrey-1.7.6
Received: from mail-40136.protonmail.ch (mail-40136.protonmail.ch
[185.70.40.136])
by fraxinus.osuosl.org (Postfix) with ESMTPS id 249B6868A2
for <bitcoin-dev@lists.linuxfoundation.org>;
Mon, 21 Dec 2020 22:57:25 +0000 (UTC)
Date: Mon, 21 Dec 2020 22:57:15 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wuille.net;
s=protonmail2; t=1608591442;
bh=iKvMl/gvWbQOTFBmCCgyNBhbrU8oLGmQFgKLy6Xg3G0=;
h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From;
b=IX/HADSdDJNxUatUyy60NMJ3UZPADCv4ho7CrOLGCFftP1SYuknkh+IRQCgFqKPpR
gUSdzgaa819/ukzhl49nu/8AX6+2vn2qT+y+v11i0ajkQ/TAi9BuvbBVxM1y2KqhaT
KcrSWq35dZ+HFk3TAlpiIbmWAEK6wlS0wLk3VHBLbAobaJ3pcv0jUGZqW5OfKQ8zhq
axoSsbaIOzNP8ojqoJ63oxiw58ZbhEr76oWlmGSHjQmSURYfWY9/AOBpbOPQblbhSe
PlgqIMZHXXFOGzyig7DBIWq/pJevb4ZquKiS3PceyuP3DF6Zg1Jo1LzOhCLi8VD/N7
y5RCUf90Z9/2w==
To: Karl-Johan Alm <karljohan-alm@garage.co.jp>,
Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
From: Pieter Wuille <bitcoin-dev@wuille.net>
Reply-To: Pieter Wuille <bitcoin-dev@wuille.net>
Message-ID: <Xpjf4qIbUPHa_K-yS1GRlsG4rVXBR9OHgzsxjgABhw0hg7jPFn4l4wwgVH_1iRVR5jFDK2cUb0qsbA1FQKiQZRTFPh77MGibgaVUaVbB_Ng=@wuille.net>
In-Reply-To: <CALJw2w4bFp8qcxNzz7hn_ZeGG8WWTPu-mRv6A4cPt66EHimyeg@mail.gmail.com>
References: <20201218152720.GW106279@boulet>
<CALJw2w4bFp8qcxNzz7hn_ZeGG8WWTPu-mRv6A4cPt66EHimyeg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Subject: Re: [bitcoin-dev] BIP-0322 (generic signmessage) improvements
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, 21 Dec 2020 22:57:27 -0000
On Sunday, December 20, 2020 9:37 PM, Karl-Johan Alm via bitcoin-dev <bitco=
in-dev@lists.linuxfoundation.org> wrote:
> Thanks a lot for taking the time to brush up the BIP. For what it's
> worth, I am all for these changes, and I see them as clear
> improvements all around.
>
> IIRC Pieter was the one who originally suggested the two-checks
> approach (invalid, inconclusive, valid) which is being modified here,
> so would be good if you chimed in (or not -- which I'll assume means
> you don't mind).
I agree with the idea of permitting incomplete validators to return inconcl=
usive as well. That doesn't really reduce the functionality (given that "in=
conclusive" was already a potential result), and it obviously makes it much=
more accessible to a variety of software.
This suggestion breaks the original use of inconclusive though: the ability=
to detect that future features are used in the signature. The idea was to =
use divergence between "consensus valid" and "standardness valid" as a prox=
y for future extensions to be detected (e.g. OP_NOPn, future witness versio=
ns, ...). I think it's undesirable that these things now become uncondition=
ally invalid (until the BIP is updated, but once that happens old validator=
s will give a different result than new ones).
Since the BIP no longer relies on a nebulous concept of standardness, and i=
nstead specifically defines which standardness features are to be considere=
d, this seems easy to fix: whenever validation fails due to any of those, r=
equire reporting inconclusive instead of invalid (unless of course somethin=
g actually invalid also happens). In practice I guess you'd implement that =
(in capable validators) by still doing validation twice, once with all feat=
ures enabled that distinguish between valid/invalid, and if valid, again bu=
t now with the features enabled that distinguish between valid and (invalid=
or inconclusive).
Cheers,
--
Pieter
|