user871: It has been told that anyone can create UTXOs at any script address without restrictions since the validator does not run for transaction that do not consume UTXOs. The question is, why so?
I think it would have been convenient if there was mechanism to assign (if needed) some validation logic to the creation of UTXOs at a script address. It would have enabled developers to define boundaries on what can possibly sit at their script addresses and that can simplify subsequent operations with those UTXOs.
It's hard to imagine that the absence of such a mechanism was not a conscious decision or that its technically not feasible. I am curious to know the reasoning behind it.
Update: While it is possible to filter out utxos in consuming tx, by looking at the datum associated with them, it also feels like a side effect of not being able to restrict the creation in the first place. That is the motivation for this question.

user1130: Because the purpose of a script is to determine the conditions a UTxO can be spent.
If you want to deter people from creating arbitrary UTxOs at your script address, you can write the script in a way that makes those UTxOs unspendable, e.g. require the UTxO to include a specific NFT.
Other than that, you can't stop someone from sending their tokens to an unreachable address. Adding some validation on every UTxO being created at the address would only serve to protect people from accidentally burning their tokens--that's not really your job as the script writer. It would also increase the cost of transactions.

871: <p>It has been told that anyone can create UTXOs at any script address without restrictions since the validator does not run for transaction that do not consume UTXOs. The question is, why so?</p>
<p>I think it would have been convenient if there was mechanism to assign (if needed) some validation logic to the creation of UTXOs at a script address. It would have enabled developers to define boundaries on what can possibly sit at their script addresses and that can simplify subsequent operations with those UTXOs.</p>
<p>It's hard to imagine that the absence of such a mechanism was not a conscious decision or that its technically not feasible. I am curious to know the reasoning behind it.</p>
<p><em>Update</em>: While it is possible to filter out utxos in consuming tx, by looking at the datum associated with them, it also feels like a side effect of not being able to restrict the creation in the first place. That is the motivation for this question.</p>
 1130: <p>Because the purpose of a script is to determine the conditions a UTxO can be spent.</p>
<p>If you want to deter people from creating arbitrary UTxOs at your script address, you can write the script in a way that makes those UTxOs unspendable, e.g. require the UTxO to include a specific NFT.</p>
<p>Other than that, you can't stop someone from sending their tokens to an unreachable address. Adding some validation on every UTxO being created at the address would only serve to protect people from accidentally burning their tokens--that's not really your job as the script writer. It would also increase the cost of transactions.</p>
