Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 889864A6 for ; Wed, 13 Mar 2019 03:23:55 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from azure.erisian.com.au (cerulean.erisian.com.au [139.162.42.226]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 235FB829 for ; Wed, 13 Mar 2019 03:23:55 +0000 (UTC) Received: from aj@azure.erisian.com.au (helo=sapphire.erisian.com.au) by azure.erisian.com.au with esmtpsa (Exim 4.89 #1 (Debian)) id 1h3uUg-0005qw-G9; Wed, 13 Mar 2019 13:23:52 +1000 Received: by sapphire.erisian.com.au (sSMTP sendmail emulation); Wed, 13 Mar 2019 13:23:46 +1000 Date: Wed, 13 Mar 2019 13:23:46 +1000 From: Anthony Towns To: Bitcoin Protocol Discussion Message-ID: <20190313032346.ep472iuhayfzk5e5@erisian.com.au> References: <939C132D-8599-4258-8F14-62E992BA9F51@mattcorallo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <939C132D-8599-4258-8F14-62E992BA9F51@mattcorallo.com> User-Agent: NeoMutt/20170113 (1.7.2) X-Spam-Score: -1.9 X-Spam-Score-int: -18 X-Spam-Bar: - X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,UNPARSEABLE_RELAY 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: Wed, 13 Mar 2019 06:46:42 +0000 Subject: Re: [bitcoin-dev] Signet 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: Wed, 13 Mar 2019 03:23:55 -0000 On Fri, Mar 08, 2019 at 03:20:49PM -0500, Matt Corallo via bitcoin-dev wrote: > To make testing easier, it may make sense to keep the existing block header > format (and PoW) and instead apply the signature rules to some field in the > coinbase transaction. Maybe make the signature be an optional addition to the header, so that you can have a "light node" that doesn't download/verify sigs and a full node that does? (So signatures just sign the traditional 80-byte header, and aren't included in the block's tx merkle root, and the prevHash reflects the hash of the previous block's 80-byte header, without the signature) I think you could do that by adding a p2p service bit to say "send me signatures if you have them / I can send you signatures", which changes the p2p encoding of the header from (ver, prev, mrkl, time, bits, nonce) to (ver, prev, mrkl, time, 0, nonce, bits, sig), and change header processing to ignore headers from nodes that don't have the service bit set? If you did this, it might be a good idea to enforce including the previous block's header signature in the current block's coinbase. Cheers, aj