Return-Path: Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 55F8DC0893 for ; Wed, 23 Dec 2020 15:55:52 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 1E80985C32 for ; Wed, 23 Dec 2020 15:55:52 +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 3ZV_-cSZkG-P for ; Wed, 23 Dec 2020 15:55:50 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail.wpsoftware.net (wpsoftware.net [96.53.77.134]) by fraxinus.osuosl.org (Postfix) with ESMTP id 7D1CE85E6F for ; Wed, 23 Dec 2020 15:55:44 +0000 (UTC) Received: from boulet (boulot.lan [192.168.0.193]) by mail.wpsoftware.net (Postfix) with ESMTPSA id 886AE400DB; Wed, 23 Dec 2020 15:55:43 +0000 (UTC) Date: Wed, 23 Dec 2020 15:55:42 +0000 From: Andrew Poelstra To: Pieter Wuille , Bitcoin Protocol Discussion Message-ID: <20201223155542.GN106279@boulet> References: <20201218152720.GW106279@boulet> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="YqYfhc9BoyB5fAQz" Content-Disposition: inline In-Reply-To: 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: Wed, 23 Dec 2020 15:55:52 -0000 --YqYfhc9BoyB5fAQz Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Dec 22, 2020 at 12:22:37AM +0000, Pieter Wuille via bitcoin-dev wro= te: >=20 > Re-reading your proposed text, I'm wondering if the "consensus-only valid= ation" extension is intended to replace the inconclusive-due-to-consensus-a= nd-standardness-differ state. If so, I don't think it does, and regardless = it doesn't seem very useful. >=20 > What I'm suggestion could be specified this way: > * If validator understands the script: > * If signature is consensus valid (as far as the validator knows): > * If signature is not known to trigger standardness rules intended fo= r future extension (well-defined set of rules listed in BIP, and revisable)= : return valid > * Otherwise: return inconclusive > * Otherwise: return invalid > * Otherwise: return inconclusive >=20 > Or in other words: every signature has a well-defined result (valid, inva= lid, inconclusive) + validators may choose to report inconclusive for anyth= ing they don't understand. >=20 > This has the property that as long as new consensus rules only change thi= ngs that were covered under for-future-extension standardness rules, no two= validators will ever claim valid and invalid for the same signature. Only = valid+inconclusive or invalid+inconclusive. > I've updated my PR at https://github.com/bitcoin/bips/pull/1048 Differences: 1. I compacted all the validation states into three: valid at time/age T/S,= invalid, and inconclusive. 2. "Inconclusive" means either an "upgradeable rule" failed, e.g. use of a = NOP or a bad network version, or the validator just didn't understand the scripts. 3. I removed the "Extensions" sections now everything is in the main protoc= ol. 4. I removed the "to_sign" transaction from the wire serialization, since a= fter all this, it can always be inferred from the message and address. (This does= mean, however, that there is no way to sign for scriptPubKeys that don't have = addresses, e.g. bare public keys or multisigs. I don't think it's worth complicated= the protocol for such obscure things.) --=20 Andrew Poelstra Director of Research, Blockstream Email: apoelstra at wpsoftware.net Web: https://www.wpsoftware.net/andrew The sun is always shining in space -Justin Lewis-Webster --YqYfhc9BoyB5fAQz Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEkPnKPD7Je+ki35VexYjWPOQbl8EFAl/jaHwACgkQxYjWPOQb l8HpGQf/b97fbDKSwU8y0VVXe4UQOx/Eg7+6uKZLzWD3FldN0vBxmrPmYWrAW/rZ et7+nws6TA8qe4S/FQRKOJ7uKfUce87VfAjeB1usnjk1khxcCGpeYzSywlAO7NyG mNcz+vBOoOHhTcN7o6oLdxM4mowLsX0nbYeC8E4lHaqv2OFhQ85roE2tNLCJM25G ONZctQDsdGXm6QFVGwJzGgifAK/wMwn/1YTSfqWpWwYBxZojdCUrTJX6Op7Pxb51 yV0ynXgzLU9HL+0h+mFS8BRfoIcTZ/33Pvp2HRTfszVP21vZ1bb8ufkQ/y8DfRYM zMoiPgFKxHuKVnwh5Bsgwlp4uXqnqQ== =MItC -----END PGP SIGNATURE----- --YqYfhc9BoyB5fAQz--