1

An article released by Blockstream claims that after Segwit, SPV clients can verify that transactions have been accepted by the network without having to download the signatures/witness-data.

I'm trying to understand why this was not possible pre-Segwit. Why was the signature data a part of what's sent to an SPV client, when it was of no use to them anyway?

1

Pre-segwit, the TXID was a hash over the scriptSig (signature data) and the outputs (value, locational data). SPV clients can not validate signature data by definition, so this is not useful information for them to have for anything but verifying the TXIDs position in the merkle tree. For segwit outputs the signatures can be stripped before being provided without altering the TXID, with massive data transfer savings.

  • So are you saying that SPV clients do validate the txid by hashing the pre-image data, and since Segwit changes the structure such that signature data isn't part of the txid now SPV clients don't require it? Am I getting that right? I probably need to brush up on how SPV clients function in general. – tMGK May 6 '18 at 14:15
  • That's correct. – Anonymous May 6 '18 at 17:00
  • SPV can validate signature data perfectly fine. They just can't verify a lack of double spends. – Dustin Feb 21 at 20:05
  • They can validate nothing useful about a transaction. The signatures are absolutely meaningless. – Anonymous Feb 22 at 9:33

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.