<div dir="ltr"><div class="gmail_extra"><div>On Thu, May 28, 2015 at 3:59 PM, Mark Friedenbach <span dir="ltr">&lt;<a href="mailto:mark@friedenbach.org" target="_blank">mark@friedenbach.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Why 3? Do we have a version 2?</p></blockquote>I meant whatever the next version is, so you are right, it&#39;s version 2. <br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p dir="ltr">As for doing it in serialization, that would alter the txid making it a hard fork change.</p></blockquote><div>The change is backwards compatible (since there is no restrictions on sequence numbers).   This makes it a soft fork.<br><br>That doesn&#39;t change the fact that you are changing what a field in the transaction represents.<br><br></div><div>You could say that the sequence number is no longer encoded in the serialization, it is assumed to be 0xFFFFFFFF for all version 2+ transactions and the relative locktime is a whole new field that is the same size (and position).<br><br></div><div>I think keeping some of the bytes for other uses is a good idea.  The entire top 2 bytes could be ignored when working out relative locktime verify.  That leaves them fully free to be set to anything.  <br><br>It could be that if the MSB of the bottom 2 bytes is set, then that activates the rule and the top 2 bytes are ignored.<br><br></div><div>Are there any use-cases which need a RLTV of more than 8191 blocks delay (that can&#39;t be covered by the absolute version)?  <br></div></div></div></div>