Which one is a segwit tx? A Tx that send outputs to a segwit address or A Tx that create inputs along with witness part? Which one?

should segwit tx necessarily produce outputs of type witness_v0_keyhash.

What about a Tx that has witness and send outputs of type pay-to-pubkey or pubkeyhash


Generally the definitions are as follows:

A Segwit transaction is any transaction which contains witnesses. This means that the transaction has at least one input which spends from a segwit output (P2WPKH, P2WSH, P2SH wrapped versions of those two).

A Segwit transaction does not have to produce any segwit outputs.

A transaction which produces segwit outputs but spends non-segwit outputs as inputs (so it does not have any witnesses) is not considered a segwit transaction.

  • Correct me if my understanding is wrong. A Tx is segwit or non-segwit is all about how you structure the data. I mean if you separate your signatures from inputs and place them as a witness, it becomes segwit. When consuming non-segwit outputs as inputs what prevents me from adding a witness to that new TX? – lch Jun 8 '18 at 22:56
  • 2
    A transaction which consumes only non-segwit outputs is not allowed to have a witness. Doing so would result in a wtxid which differs from the txid which is not allowed for transactions which only spend non-segwit outputs. – Andrew Chow Jun 8 '18 at 23:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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