Consensus-enforced transaction replacement via sequence numbers



Summary:

In a May 27, 2015 email exchange between Bitcoin developers, Peter Todd expressed his view that a proposal under discussion was no more a "consensus enforcement" than simply increasing the fee and possibly decreasing the absolute nLockTime for transactions. Another developer disagreed, saying that the proposal actually gave sequence numbers a rational meaning. Specifically, sequence numbers count down the earliest position a transaction can be included, with the highest possible sequence number able to be included any time the inputs are included. The next lower sequence number can only be included one block later than the input it is assigned to is included, with the next lower one block beyond that. All of these are consensus-enforced. While a miner could opt not to include the higher sequence number (which is the only one of the set which it can include) in the hopes of collecting more fees later on the next block, similar to how someone might ignore an eligible locked transaction in the hopes that a future double spend will be more profitable, both actions would require taking nothing at all during the current block and risk being cut off by someone else. However, there is no requirement that users use sequence numbers only one apart. Overall, this approach makes sequence numbers work exactly as expected within the bounds of what is possible in a decentralized system. The developer concludes that the proposal is essentially just relative nLockTime.


Updated on: 2023-05-19T20:29:02.766488+00:00