<p dir="ltr">Even if it&#39;s new and has not received any feedback, I think my solution to op_maturity is quite clean. <br>
But anyway, yes, the non-relative cltv is much simpler in design and doesn&#39;t have to wait for the other. On the other hand, I would upgrade it to absolute cltv like you suggested and take the current height as a parameter to verifyScript instead of using the nLockTime as reference.<br>
If we know we&#39;re going to use it for rcltv/op_maturity, better put add soon rather than later, specially if that will give us a more powerful cltv.<br>
If we don&#39;t want that height param, we can leave it out of for op_maturity too, but that&#39;s the wingle decision about rcltv/maturity that affects cltv so better solve that first.</p>
<div class="gmail_quote">On Apr 27, 2015 9:35 PM, &quot;Peter Todd&quot; &lt;<a href="mailto:pete@petertodd.org">pete@petertodd.org</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sun, Apr 26, 2015 at 02:20:04PM +0200, Jorge Timón wrote:<br>
&gt; On Sun, Apr 26, 2015 at 1:35 PM, Jorge Timón &lt;jtimon@jtimon.cc&gt; wrote:<br>
&gt; &gt; And a new softfork rule could enforce that all new CTxIn set nHeight<br>
&gt; &gt; to the correct height in which its corresponding prevout got into the<br>
&gt; &gt; chain.<br>
&gt; &gt; That would remove the need for the TxOutputGetter param in<br>
&gt; &gt; bitcoinconsensus_verify_script, but unfortunately it is not reorg safe<br>
&gt; &gt; (apart from other ugly implementation details).<br>
&gt;<br>
&gt; Wait, wait, this can be made reorg-safe and more backards compatible.<br>
&gt; The new validation rule at the tx validation level (currently in<br>
&gt; main::CheckInputs()) would be<br>
<br>
&lt;snip&gt;<br>
<br>
So, seems to me that RCLTV opens up a whole rats nest of design<br>
decisions and compromises that CLTV doesn&#39;t. Yet CLTV itself is a big<br>
step forward, it&#39;s been implemented on Viacoin for the past few months<br>
with no issues found, and has an extremely simple and easy to audit<br>
implementation.<br>
<br>
I think I&#39;m going to argue we implement it as-is in a soft-fork. Pieter<br>
Wuille&#39;s been working on a new way to handle soft-fork upgrades in the<br>
block nVersion field, so this would be a good opportunity to add<br>
something simple and well tested, and also make sure the new nVersion<br>
soft-fork mechanism works. Equally, doing both at the same time ensures<br>
we don&#39;t burn yet another version bit.<br>
<br>
--<br>
&#39;peter&#39;[:-1]@<a href="http://petertodd.org" target="_blank">petertodd.org</a><br>
00000000000000000e7980aab9c096c46e7f34c43a661c5cb2ea71525ebb8af7<br>
</blockquote></div>