If i'm correct, i am pretty sure that signature data such as the scriptsigsize and scriptsig is stored outside the Tx_Data of a Bitcoin transaction. But then where is it stored? Is it in the block or is it somehow connected to the transaction-data?

Also, how is it possible that this Bitcoin included in the transaction can be unlocked if the signature data is external from the transaction?

1 Answer 1


From the perspective of new post-segwit nodes, the witness data is part of the transaction data. It is serialized in a new field, after all the transaction outputs, before the locktime field.

However, this field is stripped out before relaying to old pre-segwit nodes. So from the perspective of those old nodes, the witness data isn't just external - it just doesn't exist. They don't care about the witness data, as to them, these outputs are the equivalent of "True": anyone can spend them without any signatures.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.