Return-Path: Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 3B1BBC0001 for ; Mon, 22 Feb 2021 06:44:59 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 308A987096 for ; Mon, 22 Feb 2021 06:44:59 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kGWqq4nYQuo4 for ; Mon, 22 Feb 2021 06:44:58 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail.as397444.net (mail.as397444.net [69.59.18.99]) by hemlock.osuosl.org (Postfix) with ESMTPS id 5295487095 for ; Mon, 22 Feb 2021 06:44:58 +0000 (UTC) Received: by mail.as397444.net (Postfix) with ESMTPSA id DA9064AE236; Mon, 22 Feb 2021 06:44:55 +0000 (UTC) X-DKIM-Note: Keys used to sign are likely public at https://as397444.net/dkim/ DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mattcorallo.com; s=1613974863; t=1613976295; bh=uPHMzqZWPOBkSpljrT9GFLfAV7/hKmWyZXTW1Zy3ix4=; h=From:Subject:Date:References:Cc:In-Reply-To:To:From; b=XwXW/jbwlFQpw32xVmmhJdSwCMeRkql+u/ODfStlpfIUZEynJN9W3Gjp2mHEgGn+R spQh47K6Up31mWcOWPV2hnF5ae/5hTnEyE7J+/W2HcyuKugXldCS8d7cl0AMUlWBwx /sW1KAPYE2+YYCJJsgDUoYmqrHobcz7Fe+BVPRFBm2vJtGLu/iFf/0jDu4K8Ut6h6M tczKLMoJSQ4gobqfcO6TxCEhVuWpSi62M41Fwtyu1Bw73HZLyLRLRnf8HaEvTNQmLs hWahAqFnl9a5d3RzblnBR9AJzLNbF0KPNktW3Yz8CrE9c7cJJdUEN8F+VFu2D/2BFY ffr96Y2IVvkHA== Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: Matt Corallo Mime-Version: 1.0 (1.0) Date: Mon, 22 Feb 2021 01:44:55 -0500 Message-Id: <4FF38E1A-677B-478C-B32F-4640DF867810@mattcorallo.com> References: <20210222051624.6eklzfec2bf4lqdk@erisian.com.au> In-Reply-To: <20210222051624.6eklzfec2bf4lqdk@erisian.com.au> To: Anthony Towns Cc: Michael Folkson , Bitcoin Protocol Discussion Subject: Re: [bitcoin-dev] Yesterday's Taproot activation meeting on lockinontimeout (LOT) 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, 22 Feb 2021 06:44:59 -0000 Hmm, indeed, I may have missed that you can skip the headers issues by not p= ersisting them, though there are other follow-on effects that are concerning= and I think still make my point valid. A node feeding you invalid headers (used to be) cause for a ban - is that in= formation still persisted? More importantly, nodes on both sides of the fork= need to find each other. There=E2=80=99s not a great way to do that without= forking the address database, DNS seeds and defining a new protocol magic. Matt > On Feb 22, 2021, at 00:16, Anthony Towns wrote: >=20 > =EF=BB=BFOn Fri, Feb 19, 2021 at 12:48:00PM -0500, Matt Corallo via bitcoi= n-dev wrote: >> It was pointed out to me that this discussion is largely moot as the >> software complexity for Bitcoin Core to ship an option like this is likel= y >> not practical/what people would wish to see. >> Bitcoin Core does not have infrastructure to handle switching consensus >> rules with the same datadir - after running with uasf=3Dtrue for some tim= e, >> valid blocks will be marked as invalid,=20 >=20 > I don't think this is true? With the current proposed bip8 code, > lockinontimeout=3Dtrue will cause headers to be marked as invalid, and > won't process the block further. If a node running lockinontimeout=3Dtrue > accepts the header, then it will apply the same consensus rules as a > lockinontimeout=3Dfalse node. >=20 > I don't think an invalid header will be added to the block index at all, > so a node restart should always cleanly allow it to be reconsidered. >=20 > The test case in >=20 > https://github.com/bitcoin/bitcoin/pull/19573/commits/bd8517135fc839c3332f= ea4d9c8373b94c8c9de8 >=20 > tests that a node that had rejected a chain due to lockinontimeout=3Dtrue > will reorg to that chain after being restarted as a byproduct of the way > it tests different cases (the nodes set a new startheight, but retain > their lockinontimeout settings). >=20 >=20 > (I think with the current bip8 code, if you switch from > lockinontimeout=3Dfalse to lockinontimeout=3Dtrue and the tip of the curre= nt > most work chain is after the timeoutheight and did not lockin, then you > will continue following that chain until a taproot-invalid transaction > is inclued, rather than immediately reorging to a shorter chain that > complies with the lockinontimeout=3Dtrue rules) >=20 > Cheers, > aj >=20