public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Tom Harding <tomh@thinlink.com>
To: Mark Friedenbach <mark@friedenbach.org>
Cc: bitcoin-dev@lists.linuxfoundation.org
Subject: Re: [bitcoin-dev] BIP 68 (Relative Locktime) bug
Date: Sun, 05 Jul 2015 12:50:59 -0700	[thread overview]
Message-ID: <55998AA3.4060801@thinlink.com> (raw)
In-Reply-To: <CAOG=w-t+VCk66mM1N1Pc4PN2T9=X94hhyg_Pc+2_ULT51JfxCA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1746 bytes --]

Or you could flip the definition of your activation bit.  That would
avoid the inversion and put relative locktimes outside the realm of both
the MAX_INT and MAX_INT - 1 values.

It would also allow an explicit relative locktime of 0, which would help
applications avoid accidentally finalizing the whole transaction when
they only meant to not impose a relative locktime on one input.


On 7/5/2015 10:07 AM, Mark Friedenbach wrote:
> Note that you can put 0 in the sequence number field and it would work
> just as expected under the old rules. I will perhaps suggest instead
> that Bitcoin Core post-0.11 switch to doing this instead for that case.
>
> On Sun, Jul 5, 2015 at 8:00 AM, Tom Harding <tomh@thinlink.com
> <mailto:tomh@thinlink.com>> wrote:
>
>     BIP 68 uses nSequence to specify relative locktime, but nSequence also
>     continues to condition the transaction-level locktime.
>
>     This dual effect will prevent a transaction from having an effective
>     nLocktime without also requiring at least one of its inputs to be
>     mined
>     at least one block (or one second) ahead of its parent.
>
>     The fix is to shift the semantics so that nSequence = MAX_INT - 1
>     specifies 0 relative locktime, rather than 1.  This change will also
>     preserve the semantics of transactions that have already been created
>     with the specific nSequence value MAX_INT - 1 (for example all
>     transactions created by the bitcoin core wallet starting in 0.11).
>
>
>     _______________________________________________
>     bitcoin-dev mailing list
>     bitcoin-dev@lists.linuxfoundation.org
>     <mailto:bitcoin-dev@lists.linuxfoundation.org>
>     https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
>


[-- Attachment #2: Type: text/html, Size: 3073 bytes --]

  reply	other threads:[~2015-07-05 19:50 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-05 15:00 [bitcoin-dev] BIP 68 (Relative Locktime) bug Tom Harding
2015-07-05 16:17 ` Mark Friedenbach
2015-07-05 16:21   ` Pieter Wuille
2015-07-05 16:25   ` Tom Harding
2015-07-05 17:07 ` Mark Friedenbach
2015-07-05 19:50   ` Tom Harding [this message]
2015-07-05 19:57     ` Tom Harding

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55998AA3.4060801@thinlink.com \
    --to=tomh@thinlink.com \
    --cc=bitcoin-dev@lists.linuxfoundation.org \
    --cc=mark@friedenbach.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox