Return-Path: Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 70BFBC0052 for ; Thu, 22 Oct 2020 03:10:54 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 68C9F86277 for ; Thu, 22 Oct 2020 03:10:54 +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 FCm5PF8Ch_Tg for ; Thu, 22 Oct 2020 03:10:53 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from ozlabs.org (ozlabs.org [203.11.71.1]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 8AFE686226 for ; Thu, 22 Oct 2020 03:10:52 +0000 (UTC) Received: by ozlabs.org (Postfix, from userid 1011) id 4CGsnM5wVPz9sSn; Thu, 22 Oct 2020 14:10:47 +1100 (AEDT) From: Rusty Russell To: ZmnSCPxj , Bitcoin Protocol Discussion In-Reply-To: References: <87imblmutl.fsf@rustcorp.com.au> <20201008145938.vrmm33f6sugdc7qm@ganymede> <87r1q0e06p.fsf@rustcorp.com.au> <877drn2g6q.fsf@rustcorp.com.au> Date: Wed, 21 Oct 2020 15:09:32 +1030 Message-ID: <87zh4gxke3.fsf@rustcorp.com.au> MIME-Version: 1.0 Content-Type: text/plain Cc: John Barboza Subject: Re: [bitcoin-dev] Progress on bech32 for future Segwit Versions (BIP-173) 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: Thu, 22 Oct 2020 03:10:54 -0000 ZmnSCPxj writes: > I believe this is actually my code, which was later refactored by John Barboza when we were standardizing the `param` system. Ah, sorry! > This was intended only as a simple precaution against creating non-standard transaction, and not an assumption that future versions should be invalid. > The intent is that further `else if` branches would be added for newer witness versions and whatever length restrictions they may have, as the `/* Insert other witness versions here. */` comment implies. Yes, I mentioned it here because I've found this to be a common misconception; the *idea* was that application's segwit code would not have to be reworked for future upgrades, but that information propagated poorly. (Just as well, because of overly strict standardness rules, the overflow bug, and now the proposed validation changes, turns out this lack of forward compat is a feature!) Thanks! Rusty.