Author: Mark Friedenbach 2015-05-27 01:50:29
Published on: 2015-05-27T01:50:29+00:00
Sequence numbers were originally created as a means of transaction replacement for multi-party transaction construction, such as micropayment channels. However, the lack of enforcement of the rule that miners include the most recent transaction in their blocks makes it impossible to rely on a transaction replacement policy. This issue can be resolved by giving sequence numbers new consensus-enforced semantics as a relative lock-time. In this way, one may construct bidirectional micropayment channels where each change of direction increments sequence numbers to make the transaction valid prior to any previously exchanged transactions. Additionally, this enables the implementation of the discussed relative-form of CHECKLOCKTIMEVERIFY through checking transaction data only and not requiring contextual information such as block height or timestamp. An example implementation of this concept is available on Github as a policy change to the mempool processing of Bitcoin Core.
Updated on: 2023-06-09T21:40:46.839330+00:00