Received: from sog-mx-4.v43.ch3.sourceforge.com ([172.29.43.194] helo=mx.sourceforge.net) by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1YpR8X-0008IO-C9 for bitcoin-development@lists.sourceforge.net; Tue, 05 May 2015 00:55:01 +0000 Received-SPF: pass (sog-mx-4.v43.ch3.sourceforge.com: domain of gmail.com designates 74.125.82.46 as permitted sender) client-ip=74.125.82.46; envelope-from=btcdrak@gmail.com; helo=mail-wg0-f46.google.com; Received: from mail-wg0-f46.google.com ([74.125.82.46]) by sog-mx-4.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1YpR8W-0004CJ-BF for bitcoin-development@lists.sourceforge.net; Tue, 05 May 2015 00:55:01 +0000 Received: by wgyo15 with SMTP id o15so166655968wgy.2 for ; Mon, 04 May 2015 17:54:54 -0700 (PDT) X-Received: by 10.180.206.229 with SMTP id lr5mr618280wic.86.1430787294342; Mon, 04 May 2015 17:54:54 -0700 (PDT) MIME-Version: 1.0 Received: by 10.27.136.196 with HTTP; Mon, 4 May 2015 17:54:33 -0700 (PDT) In-Reply-To: <20150504050715.GA18856@savin.petertodd.org> References: <20150504050715.GA18856@savin.petertodd.org> From: Btc Drak Date: Tue, 5 May 2015 01:54:33 +0100 Message-ID: To: Peter Todd Content-Type: multipart/alternative; boundary=001a11c38a226db28405154b205b X-Spam-Score: 1.0 (+) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. 1.0 HK_RANDOM_FROM From username looks random -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain 0.6 HK_RANDOM_ENVFROM Envelope sender username looks random 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (btcdrak[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.0 HTML_MESSAGE BODY: HTML included in message -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1YpR8W-0004CJ-BF Cc: Bitcoin Dev Subject: Re: [Bitcoin-development] CLTV opcode allocation; long-term plans? X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 May 2015 00:55:01 -0000 --001a11c38a226db28405154b205b Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, May 4, 2015 at 6:07 AM, Peter Todd wrote: > Matt Corallo brought up=C2=B9 the issue of OP_NOP scarcity on the mempool > only CLTV pull-req=C2=B2: > > "I like merging this, but doing both CLTV things in one swoop would b= e > really nice. Certainly if we're gonna use one of the precious few > OP_NOPs we have we might as well make it more flexible." > > [snip] > That said, if people have strong feelings about this, I would be willing > to make OP_CLTV work as follows: > > 1 OP_CLTV > > Where the 1 selects absolute mode, and all others act as OP_NOP's. A > future relative CLTV could then be a future soft-fork implemented as > follows: > > 2 OP_CLTV > > On the bad side it'd be two or three days of work to rewrite all the > existing tests and example code and update the BIP, and (slightly) gets > us away from the well-tested existing implementation. It also may > complicate the codebase compared to sticking with just doing a Script > v2.0, with the additional execution environment data required for v2.0 > scripts cleanly separated out. But all in all, the above isn't too big > of a deal. Adding a parameter to OP_CLTV makes it much more flexible and is the most economic use of precious NOPs. The extra time required is ok and it would be good to make this change to the PR in time for the feature freeze. Drak --001a11c38a226db28405154b205b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On M= on, May 4, 2015 at 6:07 AM, Peter Todd <pete@petertodd.org>= wrote:
Matt Corallo brought up=C2=B9 the issue of OP_N= OP scarcity on the mempool
only CLTV pull-req=C2=B2:

=C2=A0 =C2=A0 "I like merging this, but doing both CLTV things in one = swoop would be
=C2=A0 =C2=A0 really nice. Certainly if we're gonna use one of the prec= ious few
=C2=A0 =C2=A0 OP_NOPs we have we might as well make it more flexible."=

[snip]=C2=A0
That said, if = people have strong feelings about this, I would be willing
to make OP_CLTV work as follows:

=C2=A0 =C2=A0 <nLockTime> 1 OP_CLTV

Where the 1 selects absolute mode, and all others act as OP_NOP's. A future relative CLTV could then be a future soft-fork implemented as
follows:

=C2=A0 =C2=A0 <relative nLockTime> 2 OP_CLTV

On the bad side it'd be two or three days of work to rewrite all the existing tests and example code and update the BIP, and (slightly) gets
us away from the well-tested existing implementation. It also may
complicate the codebase compared to sticking with just doing a Script
v2.0, with the additional execution environment data required for v2.0
scripts cleanly separated out. But all in all, the above isn't too big<= br> of a deal.

Adding a parameter to OP_CLTV ma= kes it much more flexible and is the most economic use of precious NOPs.
The extra time required=C2=A0is ok and it would=C2=A0be g= ood to make this change to the PR in time for the feature freeze.
=

Drak
--001a11c38a226db28405154b205b--