I have the appication listening bitcoin full node and receiving tx messages. Is it possible to change TxOut value by man in the middle, so I don't detect this changes?

Node I connect is public node, not my own. My app just recieve and send messages. No validate. When it recieve message from node it just checks checksum. So, if I'm right, Man-In-The-Middle can change message and it's checksum while message transfering.

1 Answer 1


No, just changing the output value would invalidate the transaction's signatures, which the application can easily verify. But since the application is not a fully validating node, what the attacker can do instead is to create their own transaction signed with their private key that pretends to be spending coins that don't actually exist, and use any output values they want.

Of course, if you use a secure channel to communicate between your application and your full node, you shouldn't need to worry about man-in-the-middle attacks.

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.