Empty scriptSig doesn’t imply segwit input: if the previous scriptPubKey is OP_1 (which does not allow witness), it could still be spent with an empty scriptSig
Similarly, a scriptSig looking like a spend of P2SH-segwit doesn’t imply segwit input: if the previous scriptPubKey is empty, it could be spent with a push of any non-zero value. > On 27 May 2019, at 1:09 AM, Aymeric Vitte <vitteayme...@gmail.com> wrote: > > I did not phrase correctly in fact, what I meant is: if the validator > sees empty or witness script in scriptSig, then this is a segwit input, > and doing this one by one the validator can associate the correct segwit > data to the correct segwit input, so 00 does not look to be needed > > Le 26/05/2019 à 18:28, Johnson Lau a écrit : >> This is not how it works. While the transaction creator may know which >> inputs are segwit, the validators have no way to tell until they look up the >> UTXO set. >> >> In a transaction, all information about an input the validators have is the >> 36-byte outpoint (txid + index). Just by looking at the outpoint, there is >> no way to tell whether it is segwit-enabled or not. So there needs to be a >> way to tell the validator that “the witness for this input is empty”, and it >> is the “00”. >> >>> On 27 May 2019, at 12:18 AM, Aymeric Vitte <vitteayme...@gmail.com> wrote: >>> >>> ……. for the 00 number of witness >>> data for non segwit inputs the one that is doing the transaction knows >>> which inputs are segwit or not, then parsing the transaction you can >>> associate the correct input to the correct witness data, without the >>> need of 00, so I must be missing the use case >> _______________________________________________ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev