summaryrefslogtreecommitdiff
path: root/ac/f1fc2b3ffd201d9330fa20b9805876bda79e4e
blob: 8d780736545ba4bba1d3370669f7a33614464808 (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: <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