Friday, November 22, 2024

mempool – Why does not the protocol permit unconfirmed transactions to run out at a given peak?

This query was answered by Satoshi. My try and paraphrase: Suppose a transaction T specified an expiration peak, X, and was mined in block X. Then its outputs had been spent, presumably many occasions over via a number of generations (the unique transaction had, for instance, great-great-grandchildren). Now a reorg happens and there is a new model of the block at peak X that does not embrace T.

Most (now unconfirmed) transactions are merely re-mined within the new department, presumably at completely different block heights than earlier than. However T cannot be re-mined, since it’s now invalid (it has expired), as are all of its descendants. As Satoshi places it,

This would not be truthful to later homeowners of the cash who weren’t concerned within the time restricted transaction.

It is true that any reorg may cause previously-mined transactions to by no means be mined. However such double-spending would possible require malicious intent — a 51% assault by miners, reasonably than, say, an innocuous non permanent community partition.

It will be dangerous if this situation (a previously-mined transaction is un-mined after which expires) might occur routinely as a result of it might make funds much less sure and would give fee receivers an incentive to confirm the provenance of the cash they’re being paid with, lest they be from a recent-expiring transaction. That is just like the motivation for the 100 block coinbase maturation consensus rule.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles