Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 0A5D3B77 for ; Thu, 13 Jul 2017 23:20:57 +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 913CC14E for ; Thu, 13 Jul 2017 23:20:56 +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 D1C2B1F015 for ; Thu, 13 Jul 2017 16:20:55 -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> <0be972b9-328c-394a-1e90-bd7a37642598@osc.co.cr> <4921ce4f-06bc-8ff1-4e70-5bd55d1ff5ca@osc.co.cr> From: Dan Libby Message-ID: <5af10ca3-8b97-f227-c09f-901bbb6176c3@osc.co.cr> Date: Thu, 13 Jul 2017 16:20:45 -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: 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 23:35:40 +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 23:20:57 -0000 Hampus, thanks for the explanation! On 07/13/2017 03:50 PM, Hampus Sjöberg wrote: > Yes. > So you have two choices to be fully secure: > 1. Validate using the new rules of the network (in other words, run a > SegWit node) > 2. Avoid any chain of transaction that contains a SegWit transaction sounds good, though I'm unclear on how exactly to achieve (2) given that any party I have ever transacted with (or otherwise knows an address of mine) can send me coins at any time. So it seems the only possible way to be certain is to run a node that has never published an address to a 3rd party. Is that accurate? Another thing that could be done is to modify my own node so that it actually rejects such tx, but then I have modified consensus rules myself, thus defeating the goal of remaining with status-quo rules, and anyway the rest of the network would accept the tx. I guess the benefit is that I could be certain of the remaining funds I have. I suppose that it would be possible without modifying any rule to construct a "certain balance" and an "uncertain balance". I don't intend to do such modifications! just grasping for understanding. > See > https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#Backward_compatibility > So the witness program is encoded in a new format that old nodes do not > understand. > This means that for old nodes, a number >0 will be put on the stack. > When the script is done, it will be evaluated to true (because of >0) > and be counted as a valid spend. > > https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki also > explains the new witness program more in detail (I left out some details > in my explanation). I read the relevant parts, thanks!