Hi John, I don’t work on BC, so I can’t speak to the specifics of the implementation, however I’m very familiar with the requirements. Generally speaking it would be perfectly reasonable to validate independent txs against their previous outputs and later associate them with a confirming header without revalidating them. This would hold for segwit and non-segwit txs. However, txs must be validated in the context of a given block. That context cannot be fully known until the associating block header is known. In Libbitcoin we refer to the required state for validation as “context”. The context for tx validation includes things like height, mtp, timestamp, and active forks. Height and mtp are known for the next block (ie are a function of the immediately preceding blocks), but are not applicable to all subsequent blocks. Timestamp and flags are not known until the associating header arrives. So the validation performed under certain context assumptions may not hold under an actual context. Finally there must be a mechanism to control for previous output confirmedness and spentness absent the changes that would otherwise occur to a utxo accumulator. Revalidating in the actual block context is one approach. e On Feb 18, 2025, at 21:42, John <[email protected]> wrote: -- You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/FDBFDE56-1D05-493D-8BAC-8E4951780CE1%40voskuil.org. |
- [bitcoindev] Transaction Validation Optimization John
- Re: [bitcoindev] Transaction Validation Optimization Eric Voskuil
- Re: [bitcoindev] Transaction Validation Optimization Pieter Wuille
