Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 9FF926C for ; Thu, 13 Jul 2017 16:13:15 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail.osc.co.cr (unknown [168.235.79.83]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id DEDF91CE for ; Thu, 13 Jul 2017 16:13:14 +0000 (UTC) Received: from [192.168.2.3] (miner1 [71.94.45.245]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: danda) by mail.osc.co.cr (Postfix) with ESMTPSA id 41A801F015 for ; Thu, 13 Jul 2017 09:13:14 -0700 (PDT) To: Bitcoin Protocol Discussion References: <0119661e-a11a-6d4b-c9ec-fd510bd4f144@gmail.com> <1c1d06a9-2e9f-5b2d-42b7-d908ada4b09e@gmail.com> <001b20f2-1f33-3484-8ad2-1420ae1a2df5@gmail.com> <03cf3326-ae84-96f9-5eee-158054341eff@osc.co.cr> <20170713014826.GA12388@erisian.com.au> From: Dan Libby Message-ID: <4a4d74b0-c55b-239d-5563-9c964ecd61b6@osc.co.cr> Date: Thu, 13 Jul 2017 09:13:04 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170713014826.GA12388@erisian.com.au> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,RDNS_NONE autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Thu, 13 Jul 2017 16:16:05 +0000 Subject: Re: [bitcoin-dev] how to disable segwit in my build? 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, 13 Jul 2017 16:13:15 -0000 On 07/12/2017 06:48 PM, Anthony Towns via bitcoin-dev wrote: > I think that terminology isn't quite precise. I think your options are: > > - if you're a miner or run a mining pool, you can *signal* (or not > signal) support for segwit activation; you do this by controlling > the block version I wish to NOT signal for segwit if mining. > - if you're running a node, you can choose to *enforce* (or not > enforce) the additional consensus rules associated with segwit I wish to NOT enforce segwit consensus rules. > > I think it's the latter you're talking about. "Activation" is different: > it's the collective action of the bitcoin ecosystem to start enforcing > the segwit consensus rules after a sufficient majority of miners are > signalling support. That's not something you as an individual can control. good point, thanks for clarifying. > If you want to disable enforcement of segwit rules, even if a majority of > mining power signal activation, you can change the code and recompile to > do so, for example by changing the nTimeout setting for DEPLOYMENT_SEGWIT > from 1510704000 (Nov 15 2017) to 1493596800 (May 1 2017, already expired). > This is probably a bad idea, in that it will cause you to risk accepting > blocks that nobody else in the network will accept, opening you up > to higher risk of double spends, and may cause you to be unable to > peer with segwit enabled nodes after segwit is activated if your node > is rejecting blocks with witness data because you think segwit is not > enabled while they think it is enabled. To avoid that you would also need > to stop setting the NODE_WITNESS p2p bit, which you might be able to do > by setting the nTimeout above to 0 instead of just a date in the past? I > believe a timeout of 0 gets treated as automatically FAILED. There might > be other complexities too though. I've set the nTimeout to 0 already. I will look into the NODE_WITNESS p2p bit. I think that logically, if coded correctly, my node would have no more risks than any other legacy (pre-segwit) node on the network... > >> I'm not looking for reasons NOT to do it, only HOW to do it without >> unwanted side-effects. > > The unwanted side-effects are precisely the reasons not to do it. If you > don't understand what they are, you won't be able to avoid them. :) fair enough. But these are the same risks as running any pre-segwit node, correct? For example bitcoin-core 0.13.0, or any version of btcd to date... -- Dan Libby Open Source Consulting S.A. Santa Ana, Costa Rica http://osc.co.cr phone: 011 506 2204 7018 Fax: 011 506 2223 7359