Hello,
Let's consider following scenario:
- Alice (a honest girl) is buying a product from the merchant Apple.
- Alice create a new transaction TxA to send her bitcoins to Apple.
- Bob (a bad guy) receives TxA and modifies the receiver's address to create TxB.
- Assume that the TxB will be confirmed, not TxA. So Bob (not Apple) will receive Alice's bitcoins.
- Apple will not send the product to Alice because the TxA has not been confirmed.
- Alice is the only victim in this scenario.
As far as I know, to create TxA, Alice must sign her bitcoins which is identified by the output index in the former transaction. So why doesn't Alice sign the receiver's address (Apple) also when creating TxA? This will make Bob cannot modifies the receiver's address and thus can prevent the scenario above.