Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id D4510104D for ; Tue, 29 Sep 2015 12:03:02 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-io0-f173.google.com (mail-io0-f173.google.com [209.85.223.173]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id CA5C3142 for ; Tue, 29 Sep 2015 12:03:00 +0000 (UTC) Received: by ioii196 with SMTP id i196so7503974ioi.3 for ; Tue, 29 Sep 2015 05:03:00 -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=3UqiK2QYvOTPCCcO6kTDXSyiBCkF9DO/ZdywQb4POOI=; b=LFGERhIfGZwL3aglM2cKaIqg75uchOTWgH3jJfNWCUx77HNmFSWosycxvvp8HeYDqU rWaU7eihU79fbA9wAXMAKjgUADGK6KlJrtIUObObTYbJfaVbnQLH67bUm30X2me7AU6u hhYUVuPuc6q0MbxlnMyJfe1ZJ6Afcg1meSQ9Q= 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=3UqiK2QYvOTPCCcO6kTDXSyiBCkF9DO/ZdywQb4POOI=; b=BOcRtSR9HP49/7uOJitzcI8VabkoGa/nX0avdD4OKMS7g0fy2JAwDI3D7EaA8yZ1wF c9WBWt1KAxEM54a/jna8vQkkRoRVpo4CjfZVwfE9enY2ygAPQrlDzUhZF6zpOwHcpp76 1QYYhNTj0W13fwpxy032Bx5XWMfN1qTFaKTdxdQHlVhsyur0iSH4Ldd4M7zf/AbdF8Ak dnfzb01w4CdGDQ0GPnrLhuTLFPyWyoGQc5W7PoZ5h34HAJqNKp8qPXW2mcKpBpXO29YN iwHKMS0VaDdj8Sj6p3iIDnT0wBaUIZcVln/BTYrpCHTvZwADj3GYPti/GyKEqjahXJZx wFdw== X-Gm-Message-State: ALoCoQkp/gXX27XQAWeq80QQpEiyLXxn9/anV3ssFwqXiel/RZ4+FTrs8quLh9Ys0MAO0yx5hQgL MIME-Version: 1.0 X-Received: by 10.107.165.140 with SMTP id o134mr23286790ioe.29.1443528180058; Tue, 29 Sep 2015 05:03:00 -0700 (PDT) Received: by 10.50.226.144 with HTTP; Tue, 29 Sep 2015 05:02:59 -0700 (PDT) In-Reply-To: References: <20150927185031.GA20599@savin.petertodd.org> <4965E9A0-0FF1-4A3F-9165-A21AF976E229@gmail.com> Date: Tue, 29 Sep 2015 14:02:59 +0200 Message-ID: From: Mike Hearn To: Eric Lombrozo Content-Type: multipart/alternative; boundary=001a1141fb906567310520e19859 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: Mike Hearn via 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: Tue, 29 Sep 2015 12:03:02 -0000 --001a1141fb906567310520e19859 Content-Type: text/plain; charset=UTF-8 > > Other than the fact that doing this as a soft fork requires an extra > OP_DROP, how would doing this as a hard fork make any difference to SPV > clients? If, as others have suggested, all clients warn the user on > unrecognized nVersion > All clients do *not* do this. Why would they? What action would they take? Try and simulate a hard fork in some complicated roundabout manner? Why not just do the real thing and keep things simple? > and make unknown noops nonstandard > They are already non-standard. That change was made last time I brought up the problems with soft forks. It brought soft forks that use OP_NOPs a bit closer to the ideal of a hard fork, but didn't go all the way. I pointed that out above in my reply to Peter's mail. So to answer your question, no, it wouldn't satisfy my concerns. My logic is this: Hard forks - simple, well understood, SPV friendly, old full nodes do not calculate incorrect ledgers whilst telling their users (via UI, RPC) that they are fully synced. Emphasis on simple: simple is good. Soft forks - to get the benefits of a hard fork back requires lots of extra code, silently makes IsStandard() effectively a part of the consensus rules when in the past it hasn't been, SPV unfriendly. Benefits? As far as I can tell, there are none. If someone could elucidate *what* the benefits actually are, that would be a good next step. So far everyone who tried to answer this question gave a circular answer of the form "soft forks are good because they are soft forks". --001a1141fb906567310520e19859 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Other than the fact that doing this as a so= ft fork requires an extra OP_DROP, how would doing this as a hard fork make= any difference to SPV clients? If, as others have suggested, all clients w= arn the user on unrecognized nVersion

All clients do not do this. Why would they? What action would they = take? Try and simulate a hard fork in some complicated roundabout manner? W= hy not just do the real thing and keep things simple?
=C2=A0
and make unknown noops nonstandard

They are already non-standard. That cha= nge was made last time I brought up the problems with soft forks. It brough= t soft forks that use OP_NOPs a bit closer to the ideal of a hard fork, but= didn't go all the way. I pointed that out above in my reply to Peter&#= 39;s mail.

So to answer your question, no, it woul= dn't satisfy my concerns. My logic is this:

Ha= rd forks - simple, well understood, SPV friendly, old full nodes do not cal= culate incorrect ledgers whilst telling their users (via UI, RPC) that they= are fully synced. Emphasis on simple: simple is good.

=
Soft forks - to get the benefits of a hard fork back requires lots of = extra code, silently makes IsStandard() effectively a part of the consensus= rules when in the past it hasn't been, SPV unfriendly. Benefits? As fa= r as I can tell, there are none.

If someone could = elucidate what=C2=A0the benefits actually are, that would be a good = next step. So far everyone who tried to answer this question gave a circula= r answer of the form "soft forks are good because they are soft forks&= quot;.
--001a1141fb906567310520e19859--