I'm reading the technical FAQs on the wiki, and what I don't see is, if I create a transaction with signed prev_outs and new outputs, do I also sign the ENTIRE new tx before broadcasting? I don't see any field in the spec for a final overall signature.

So what I'm asking is, if I receive a tx from a peer, what is stopping me from altering that tx message so the output is now my own address, and trying to broadcast my new fraudulent tx to the network faster and to more peers than the original honest tx?

2 Answers 2


In a typical transaction, every signature in the transaction is a signature over all the outputs. So you can't change any of the outputs without invalidating all the signatures.

  • Thanks. For some reason I thought scriptsig just signed the output of the old tx, didn't realize it was a sort of combo of old and new TXs together.
    – pinhead
    Jan 5, 2014 at 1:14

The digital signature (with the SHA-hashed message) required for peers to accept the transaction.

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.