What prevents a bad user to provide a wrong PubKeyHash
and sign it with a different signature in the Signed.hs
example from the Plutus Pioneer Program NFT lecture?
Policy:
Policy:mkPolicy :: PubKeyHash -> ScriptContext -> Bool
mkPolicy pkh ctx = txSignedBy (scriptContextTxInfo ctx) pkh
Wallet-Code:
pkh <- pubKeyHash <$> Contract.ownPubKey
...
lookups = Constraints.monetaryPolicy $ policy pkh
Couldn't he just use a different pkh and change the transaction signature to mint the token?
What prevents that?
Update:
My question seems to lead people in the wrong directions, so to clarify:
I'm wondering how a transaction is actually signed and why that can't be manipulated.