Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 50F3E163D for ; Mon, 28 Sep 2015 15:38:30 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-ig0-f172.google.com (mail-ig0-f172.google.com [209.85.213.172]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 5040C23F for ; Mon, 28 Sep 2015 15:38:29 +0000 (UTC) Received: by igcrk20 with SMTP id rk20so56074126igc.1 for ; Mon, 28 Sep 2015 08:38:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vinumeris.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=rVmIklXnJ8AAucjE2rob47mB+gGGqNjATwcz6ve8m3c=; b=rHXd+IYmPafcWo2aUUIJBRQXxmLLvbi2F5o6Mxkr7O09M/nBywO2UpCVVeHDJm6BA2 wVyO0zHO3rlapQeq8hatf5ji0ipN7d2sx8tTEsLpxZx0tCk9YS6t+zP6oq5U+o47aqdH j8IaEgavBjjnpb/LyGV/80SyvzRm30NC3K8E0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=rVmIklXnJ8AAucjE2rob47mB+gGGqNjATwcz6ve8m3c=; b=GXqeSeuu1uC8duDyMYZzhoMWgjlFBSbBkb0cfyVflQWDWUnhgO7/RP4lbSgqz+mV6q 5SlqcMyIpWDGnMqV0NtiWbI+XG6SI3P08hDsM2uN0JyG369+sW3bq+9Z1i8D7/sQd4lZ 3+JOaqNlSSDvnkuZogDaVt6aqFaKniWc9DVWCEYhNN35IO50GVmO1hQyUFx2iQVE3GU8 I2S/YamJByOMYFHUoNp7dpyYtJPCRstvXa111ecMIC943gfHroHik3/m87+FOJV0pDe3 ZSlQ203t8sddL6ooGcK+xfy8wyOCgCXkTaBcJK9gFirjmA1WBtm0ZMOKBTk6BxdwsRZB INsw== X-Gm-Message-State: ALoCoQmSm3/WgwpgLtgeFUauVftQL1Ie9/osqhNG93+ryQuxSqnAnuHqG12Ay9vYec1VF7uylXb4 MIME-Version: 1.0 X-Received: by 10.50.30.130 with SMTP id s2mr12793544igh.69.1443454708615; Mon, 28 Sep 2015 08:38:28 -0700 (PDT) Received: by 10.50.226.144 with HTTP; Mon, 28 Sep 2015 08:38:28 -0700 (PDT) In-Reply-To: <20150928150543.GB28939@savin.petertodd.org> References: <20150927185031.GA20599@savin.petertodd.org> <20150928132127.GA4829@savin.petertodd.org> <20150928142953.GC21815@savin.petertodd.org> <20150928144318.GA28939@savin.petertodd.org> <20150928150543.GB28939@savin.petertodd.org> Date: Mon, 28 Sep 2015 17:38:28 +0200 Message-ID: From: Mike Hearn To: Peter Todd Content-Type: multipart/alternative; boundary=047d7bdc0d9c286e0e0520d07d48 X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HTML_MESSAGE,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Bitcoin Dev Subject: Re: [bitcoin-dev] Let's deploy BIP65 CHECKLOCKTIMEVERIFY! 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: Mon, 28 Sep 2015 15:38:30 -0000 --047d7bdc0d9c286e0e0520d07d48 Content-Type: text/plain; charset=UTF-8 > > Can you explain exactly how you think wallets will "know" how to ignore > the invalid chain? > I'm confused - I already said this. For a fork to work, hard or soft, there must be support from a majority of the hash power. Therefore, the usual SPV technique of following the highest work chain results in ignoring the minority chain produced by the hard fork. BIP 101 is SPV friendly because the wallets would simply follow the 75% chain and never even be aware anything has changed. It's backwards compatible with them in this respect: they already know how to ignore the no-bigger-blocks fork that'd be created if some miners didn't upgrade during the grace period. My point about IsStandard is that miners can and do bypass it, without expecting that to carry financial consequences or lower the security of other users. By making it so a block which includes non-standard transactions can end up being seen as invalid, you are increasing the risk of accidents that carry financial consequences. That's incorrect: Miners bypassing IsStandard() risk creating invalid > blocks in the event of a soft-fork. Equally, we design soft-forks to > take advantage of this. > Gah. You repeated what I just said. Yes, I know miners face that risk, my point is that they do NOT face such a risk when there's no soft fork in action and have historically NOT faced that risk at all, hence the widespread practice of bypassing or modifying this function. All this approach does is make changing IsStandard() the same as changing AcceptBlock(), except without the advantage of telling anyone about it. > > So I'll repeat the question that I posed before - given that there are > > clear, explicit downsides, what is the purpose of doing things this way? > > Where is the gain for ordinary Bitcoin users? > > We seem to be in strong disagreement about which option has "clear, > explicit downsides" Obviously. So please enlighten me. How do ordinary Bitcoin users benefit from this rollout strategy? Put simply, what is the point of this whole complex soft fork endeavour? --047d7bdc0d9c286e0e0520d07d48 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Can you explain exactly how you think wallets wi= ll "know" how to ignore
the invalid chain?

I'm confused - I= already said this. For a fork to work, hard or soft, there must be support= from a majority of the hash power.

Therefore, the= usual SPV technique of following the highest work chain results in ignorin= g the minority chain produced by the hard fork.

BI= P 101 is SPV friendly because the wallets would simply follow the 75% chain= and never even be aware anything has changed. It's backwards compatibl= e with them in this respect: they already know how to ignore the no-bigger-= blocks fork that'd be created if some miners didn't upgrade during = the grace period.
=C2=A0
My point about IsStandard is t= hat miners can and do bypass it, without expecting that to carry financial = consequences or lower the security of other users. By making it so a block = which includes non-standard transactions can end up being seen as invalid, = you are increasing the risk of accidents that carry financial consequences.=

That's incorrect: M= iners bypassing IsStandard() risk creating invalid
blocks in the event of a soft-fork. Equally, we design soft-forks to
take advantage of this.

Gah. You repeat= ed what I just said. Yes, I know miners face that risk, my point is that th= ey do NOT face such a risk when there's no soft fork in action and have= historically NOT faced that risk at all, hence the widespread practice of = bypassing or modifying this function.

All this app= roach does is make changing IsStandard() the same as changing AcceptBlock()= , except without the advantage of telling anyone about it.
=C2=A0=
> So I'll repe= at the question that I posed before - given that there are
> clear, explicit downsides, what is the purpose of doing things this wa= y?
> Where is the gain for ordinary Bitcoin users?

We seem to be in strong disagreement about which option has "cl= ear,
explicit downsides"

Obviously. So plea= se enlighten me.

How do ordinary Bitcoin users ben= efit from this rollout strategy? Put simply, what is the point of this whol= e complex soft fork endeavour?=C2=A0
--047d7bdc0d9c286e0e0520d07d48--