Return-Path: Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 09CFCC0893 for ; 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 ; 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 ; 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 ; 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 , Bitcoin Protocol Discussion From: Pieter Wuille Reply-To: Pieter Wuille Message-ID: In-Reply-To: References: <20201218152720.GW106279@boulet> 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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