nLockTime

From Bitcoin Wiki
Revision as of 12:49, 23 September 2019 by Darosior (talk | contribs) (Correct the BIP68 additions)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This page is a stub. Help by expanding it.

nLockTime is a parameter of a transaction, that, if any input indicates so (by having nSequence not equal to UINT_MAX), mandates a minimal time (specified in either unix time or block height), before which the transaction cannot be accepted into a block. If all inputs in a transaction have nSequence equal to UINT_MAX, then nLockTime is ignored.


Since BIP68, the nLockTime can specify a relative lock time. Given a transaction,

  • If the most significant bit (1<<31) is not set
    • If the 23rd bit (1<<22) is set
      • The last 16 bits of the nLockTime field specify a relative time in units of 512 seconds. The transaction can only be included in a block if spending_tx_block_time > spent_tx_block_time + nLockTime * 512.
    • Otherwise
      • The last 16 bits of the nLockTime field specify a relative block height before which the transaction can not be included in a block. In other words it can be included if spending_tx_block_height > spent_tx_block_height + nLockTime
  • Otherwise
    • the transaction can be included in any block

See Also