Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 070EB127F for ; Sun, 3 Jan 2016 03:51:40 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from smtp13.openmailbox.org (smtp13.openmailbox.org [62.4.1.47]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 5AE2711A for ; Sun, 3 Jan 2016 03:51:39 +0000 (UTC) Received: by mail2.openmailbox.org (Postfix, from userid 1004) id AF4A62AC281F; Sun, 3 Jan 2016 04:51:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=openmailbox.org; s=openmailbox; t=1451793096; bh=+heZvLkZ1on+UxcOuPY2FAoohj0eDz1AnLZiXMf4GyI=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=adUkE+wmYgGVftQn9pK/HKF3Wb88STVpG+t2P41jjPx0LFI7S1toGFoxWEHsO7NZF cb+7QW4y+J5z5kHWDsuFGMarS+/pkFCMUZEOlUzHhIZDdqg8jovzpEaRIxDTy7FTpQ HKmS5HL1QVriQhI4sChb+0p8Hz+5ruWAWa1mXDOA= X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RP_MATCHES_RCVD autolearn=ham version=3.3.1 Received: from www.openmailbox.org (openmailbox-b1 [10.91.69.218]) by mail2.openmailbox.org (Postfix) with ESMTP id 64D122AC1494; Sun, 3 Jan 2016 04:51:26 +0100 (CET) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Sun, 03 Jan 2016 11:51:26 +0800 From: joe2015@openmailbox.org To: Marco Falke In-Reply-To: References: <6fc10e581a81abb76be5cd49275ebf48@openmailbox.org> <814e1ba765445a4c3b7364c471299393@openmailbox.org> Message-ID: <3b3d9102043577785d1b1679704eabfd@openmailbox.org> X-Sender: joe2015@openmailbox.org User-Agent: Roundcube Webmail/1.0.6 X-Mailman-Approved-At: Sun, 03 Jan 2016 14:17:42 +0000 Cc: bitcoin-dev@lists.linuxfoundation.org Subject: Re: [bitcoin-dev] An implementation of BIP102 as a softfork. X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Development Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 03:51:40 -0000 On 2016-01-03 02:46, Marco Falke wrote: > 2015-12-30 17:27 GMT+01:00 : >> On 2015-12-30 18:33, Marco Falke wrote: >>> >>> This is an interesting approach but I don't see how this is a soft >>> fork. (Just because something is not a hard fork, doesn't make it a >>> soft fork by definition) >>> Softforks don't require any nodes to upgrade. [1] >>> Nonetheless, as I understand your approach, it requires nodes to >>> upgrade. Otherwise they are missing all transactions but the coinbase >>> transactions. Thus, they cannot update their utxoset and are easily >>> susceptible to double spends... >>> >>> Am I missing something obvious? >>> >>> -- Marco >>> >>> >>> [1] https://en.bitcoin.it/wiki/Softfork#Implications >> >> >> It just depends how you define "softfork". In my original write-up I >> called >> it a "generalized" softfork, Peter suggested a "firm" fork, and there >> are >> some suggestions for other names. Ultimately what you call it is not >> very >> important. >> >> --joe. > > joe, indeed it is not important how you call it, but please, let's not > call it "soft fork". This kind of fork (whatever it is called) has all the traditional properties of a softfork except meaningful backwards compatibility for non-upgraded clients. So I think it is reasonable to call it a softfork with some qualification. > Besides my initial question about the coinbase > tx, I was also wondering how non-updated nodes would verify the > collected fees without the actual txs at hand. (They only have the > coinbase tx, don't they?) Yes this appears to be an oversight in my proof-of-concept implementation. The unintended consequence being that all transactions would have to be zero-fee... The simplest fix would be make the new rules add the fees implicitly. There are other solutions. > Moreover, I can't see the benefits over a hard fork. A hard fork is > much cleaner in regard to code changes. As one of the intends of > "generalized soft forks" is to force user to update, at least a hard > fork doesn't lie about the fact. Am I missing any obvious advantages > of a "generalized soft fork" over a "clean" hard fork? A "firm soft fork" also does not lie about that fact -- you must upgrade. I don't see it dishonest if it was never claimed otherwise. I agree that hardforks can be "cleaner". However the obvious disadvantage of a hardfork is the risk of the network splitting between upgraded and non-upgraded clients. This is not a problem if there is 100% consensus behind the hardfork, but I am not sure if 100% is realistically achievable for contentious issues such as the blocksize limit. If 100% consensus is never achieved, then the options are: 1. Never upgrade and keep the blocksize limit unchanged forever. 2. Use a firm softfork to resolve the deadlock. 3. Hardfork anyway and split the network. My argument is simply that 2 is better than 3 and possibly 1. --joe