user1007: What happens / what is the defense against creating a transaction using a validator that isn't expecting an asset type?
In other words: the validator determines "Can this UTXO be spent in this transaction", but is there something on-chain that determines "Can this UTXO be created with this validator script?"
For example: Validator script says "UTXO can be spent if ada amount is 100 ada"; someone creates a transaction that creates a UTXO of 100 USDT locked by this transaction; Is that 100 USDT locked forever?

user186: No validation happens for outputs: Anybody can send anything with arbitrary datum to any address.
So in your example, those 100 USDT would indeed be locked forever.

1007: <p>What happens / what is the defense against creating a transaction using a validator that isn't expecting an asset type?</p>
<p><strong>In other words</strong>: the validator determines &quot;Can this UTXO be spent in this transaction&quot;, but is there something on-chain that determines &quot;Can this UTXO be created with this validator script?&quot;</p>
<p><strong>For example</strong>: Validator script says &quot;UTXO can be spent if ada amount is 100 ada&quot;; someone creates a transaction that creates a UTXO of 100 USDT locked by this transaction; Is that 100 USDT locked forever?</p>
 186: <p>No validation happens for <em>outputs</em>: Anybody can send anything with arbitrary datum to any address.</p>
<p>So in your example, those 100 USDT would indeed be locked forever.</p>
