public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
* [bitcoin-dev] nSequence multiple uses
@ 2016-01-22 16:36 Andrew C
  2016-01-23  4:10 ` David A. Harding
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew C @ 2016-01-22 16:36 UTC (permalink / raw)
  To: Bitcoin development mailing list

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

With 0.12 and opt-in RBF, nSequence will have multiple uses. It can be used
for locktime and now signaling for opting in to RBF. However, there is
nothing that I could find that distinguishes the uses for nSequence.
Spending a time locked output requires setting nSequence to less than
MAX_INT but opting into RBF also requires setting nSequence to less than
MAX_INT. By spending a time locked output, you would also be opting into
RBF, which may not be desired behavior. Since using nSequence to signal a
certain behavior will probably be used in the future, is there any plan to
change nSequence so that the features the transaction is using can be
distinguished? Perhaps something like version bits?

Thanks,
Andrew

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [bitcoin-dev] nSequence multiple uses
  2016-01-22 16:36 [bitcoin-dev] nSequence multiple uses Andrew C
@ 2016-01-23  4:10 ` David A. Harding
  2016-01-23  4:41   ` Andrew C
  0 siblings, 1 reply; 3+ messages in thread
From: David A. Harding @ 2016-01-23  4:10 UTC (permalink / raw)
  To: Andrew C; +Cc: Bitcoin development mailing list

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

On Fri, Jan 22, 2016 at 04:36:58PM +0000, Andrew C via bitcoin-dev wrote:
> Spending a time locked output requires setting nSequence to less than
> MAX_INT but opting into RBF also requires setting nSequence to less than
> MAX_INT. 

Hi Andrew,

Opt-in RBF requires setting nSequence to less than MAX-1 (not merely
less than MAX), so an nSequence of exactly MAX-1 (which appears in
hex-encoded serialized transactions as feffffff) enables locktime
enforcement but doesn't opt in to RBF.

For more information, please see BIP125:

    https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki

-Dave


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [bitcoin-dev] nSequence multiple uses
  2016-01-23  4:10 ` David A. Harding
@ 2016-01-23  4:41   ` Andrew C
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew C @ 2016-01-23  4:41 UTC (permalink / raw)
  To: David A. Harding; +Cc: Bitcoin development mailing list

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

Ahh. I see. Thanks, I must have missed that when going through the BIP.
Guess I need to read more carefully next time.

Thanks,
Andrew

On Fri, Jan 22, 2016 at 11:11 PM David A. Harding <dave@dtrt•org> wrote:

> On Fri, Jan 22, 2016 at 04:36:58PM +0000, Andrew C via bitcoin-dev wrote:
> > Spending a time locked output requires setting nSequence to less than
> > MAX_INT but opting into RBF also requires setting nSequence to less than
> > MAX_INT.
>
> Hi Andrew,
>
> Opt-in RBF requires setting nSequence to less than MAX-1 (not merely
> less than MAX), so an nSequence of exactly MAX-1 (which appears in
> hex-encoded serialized transactions as feffffff) enables locktime
> enforcement but doesn't opt in to RBF.
>
> For more information, please see BIP125:
>
>     https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki
>
> -Dave
>
>

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-01-23  4:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-22 16:36 [bitcoin-dev] nSequence multiple uses Andrew C
2016-01-23  4:10 ` David A. Harding
2016-01-23  4:41   ` Andrew C

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox