Eltoo / Anyprevout & Baked in Sequences



Summary:

In a recent email exchange, Jeremy suggested that evaluating a script should only return one piece of information: "bool tx_is_invalid_script_failed." All other information, such as transaction fees, the finality of the transaction, and which chain fork the transaction is valid in, should be obvious from parsing the transaction. However, he admitted that Bitcoin doesn't currently have this property. Jeremy provided an example of a transaction that will never be valid, regardless of the state of the chain it's on, because it fails the "top stack item is greater than the transaction input sequence" rule from BIP 112. While you do need to run the script at some point to see if a transaction can be included, you don't need to run it to determine if it's valid on a particular chain.He also noted that transactions with timelocks go from invalid to valid once they pass a certain block height. However, transactions that become invalid cannot become valid again for a given UTXO. This is valuable because it limits the number of cases where transactions (and their dependents) need to be removed from the mempool.


Updated on: 2023-05-21T03:15:24.010965+00:00