Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id D3E1530E1 for ; Thu, 1 Aug 2019 17:57:36 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail4.protonmail.ch (mail4.protonmail.ch [185.70.40.27]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 637EC821 for ; Thu, 1 Aug 2019 17:57:36 +0000 (UTC) Date: Thu, 01 Aug 2019 17:57:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=achow101.com; s=protonmail; t=1564682254; bh=+rM1v9irS0RxEHdRI6+DOkqdPkb8wXaUnRxzc1p31zY=; h=Date:To:From:Reply-To:Subject:In-Reply-To:References:Feedback-ID: From; b=oWAoZCLeg194Y9YW1iPvSNvX3KTzie2llvPtwtsWDcJHjmuSEv/C47cHyjX7f72OM g4YPV8VmtJMXRC6JNDwjUQqlkPsva9MiBQ3Nh/Dlux7vfgsGdcaf2myx1cqTjo5Y5Q InnsgJ9JrTN8VbOnLVmNZ/y2oo3UoDjXFg/Kr/KA= To: bitcoin-dev@lists.linuxfoundation.org From: Andrew Chow Reply-To: Andrew Chow Message-ID: In-Reply-To: References: Feedback-ID: VjS95yl5HLFwBfNLRqi61OdL1ERZPmvMbZRH2ZcBR7SKVUVYPgv7VJsV9uoyC4vIfjYnW8hPXGuLTycZbh49Zw==:Ext:ProtonMail MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Fri, 02 Aug 2019 03:47:31 +0000 Subject: Re: [bitcoin-dev] Proposed Extensions to BIP 174 for Future Extensibility X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Aug 2019 17:57:36 -0000 It seems like the consensus is that we should use Compact Size Unsigned Integers for the field types, so we will do that. The types will be minimally encoded CSUints. For the proprietary types, I will use Dimitry's and Andrew Poelstra's (https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-March/016713.= html) suggestion. There will be one proprietary type, 0xFC. This will be followed by a variable length string that is a vendor specific prefix that serves as a unique identifier to help with preventing usage of proprietary types outside of private contexts. This will then be followed by the actual type for the data, as defined by the user of the proprietary type. The prefix will just be a string, prefixed with a compact size unsigned integer. If no prefix is wanted, then a single 0x00 byte can be used. For public software, there is no need to handle these proprietary types at all so they do not need to check the string or the data type. It is not necessary to enforce the above rules about proprietary types except that they use the proprietary type value. Andrew Chow