Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1YpiN2-00004u-Ol for bitcoin-development@lists.sourceforge.net; Tue, 05 May 2015 19:19:08 +0000 Received: from mail-wi0-f177.google.com ([209.85.212.177]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1YpiN0-0003Th-Tn for bitcoin-development@lists.sourceforge.net; Tue, 05 May 2015 19:19:08 +0000 Received: by widdi4 with SMTP id di4so159256944wid.0 for ; Tue, 05 May 2015 12:19:00 -0700 (PDT) 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 :content-transfer-encoding; bh=vyhd8AKX9X1t+tl1jlsG5CgxX5QPxIYnaxd9axeijxY=; b=OEfRgoFFsuhvWKE+8Z/SrYl0umG7Z/BhzTUh9Pw0zl7UsRWPL3E/RMvPd/RZg3cueD 0N0/KjQ9LT86X1Ae5Hjoi9WE9lMGfewmtDXgbUf5Y1HxAuYRbhTVWjU7+FhD7ifA1i4b XWRkrV5ih8fV5yrC4rC1q12JOUIExldiemwusYbaBJPt9P1ASF9mVTOJAyvOo11DxNFU Us8u0kHoW2QK1pmp6AJ8/czMf9W9CJfmQIKOnTIBnpSm+N1OuoLS3fVjbsnpDFGrIgab Aa/SbHEEpkTVhx2s9pcIIXlac8UVxWfYwXQaaRAv0Lhzxv5yNcHIJNuAQnKMGXpZGPTv l1zA== X-Gm-Message-State: ALoCoQkFEjhddi88ak6vAeB14bLp8BVk+/TqqdFQLrLKlXrtehhrp/YSSwceo1Rnw2b+JTT//guv MIME-Version: 1.0 X-Received: by 10.194.121.135 with SMTP id lk7mr11338453wjb.26.1430853540773; Tue, 05 May 2015 12:19:00 -0700 (PDT) Received: by 10.194.124.2 with HTTP; Tue, 5 May 2015 12:19:00 -0700 (PDT) In-Reply-To: References: <20141001130826.GM28710@savin.petertodd.org> <55075795.20904@bluematt.me> <20150421075912.GA25282@savin.petertodd.org> <5546D653.4070404@bluematt.me> Date: Tue, 5 May 2015 21:19:00 +0200 Message-ID: From: =?UTF-8?B?Sm9yZ2UgVGltw7Nu?= To: Btc Drak , Mark Friedenbach Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. X-Headers-End: 1YpiN0-0003Th-Tn Cc: Bitcoin Dev Subject: Re: [Bitcoin-development] Relative CHECKLOCKTIMEVERIFY (was CLTV proposal) 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 19:19:08 -0000 Well, apparently the timestamp can be make compatible with Mark's nSequence-based RCLTV by adding an additional check at the block level but I was only explaining the concept using heights (which is the most interesting part IMO). I'm also not sure I understood the details and I don't want to confuse people again, so I'll wait for someone else to explain that part. ACLTV can work with timestamps too unless I'm missing something. It's just more complexity and I was never convinced that there's enough use cases relying on timestamps to justify them. But the timestamp discussion is quite orthogonal to the nSequence-based RCLTV proposal itself. On Tue, May 5, 2015 at 2:41 AM, Btc Drak wrote: > On Mon, May 4, 2015 at 12:24 PM, Jorge Tim=C3=B3n wrot= e: >> >> What I was describing was an attempt to fix a similar proposal by Mark >> Friedenbach, but it didn't needed fixing: I was simply >> misunderstanding it. >> Mark's RCLTV is completely reorg safe, so there's no need for the 100 >> block restriction. It also keeps the script validation independent >> from the utxo. >> Here's is how it works: >> >> The operator takes a relative_height parameter and it checks that the >> nSequence of the input is lower than that parameter. >> >> Additionally, a new check at the transaction level: >> >> for (unsigned int i =3D 0; i < tx.vin.size(); i++) { >> // ... >> if (coins->nHeight + tx.vin[i].nSequence < nSpendHeight) >> return state.Invalid(false, REJECT_INVALID, >> "bad-txns-non-final-input"); >> // ... >> } >> >> Well, this is assuming that we're only using it with heights and not >> timestamps. >> Mark, feel free to elaborate further. > > > Does dropping timestamp refer just to RCLTV or absolutely CLTV also? For > absolute CLTV I think it's important to have timestamps so that trust fun= d > use cases are practical (e.g. spendable on 18th birthday), because the ex= act > date a future block will be mined on is unpredictable if it's far enough = in > the future (out by days or even weeks). >