Many people wrote about the eUTXO model and the benefits it brings compared to Ethereum. However, eUTXO also comes with some challenges. In particular, eUTXO is susceptible to "economic denial of service (DOS) attacks".
Let me give you an example of an economic DOS attack. Consider the following NFT-auction from the Plutus pioneer program: https://plutus-pioneer-program.readthedocs.io/en/latest/pioneer/week1.html This contract is a simple auction where anybody can bid for an NFT until a specified deadline has passed. However, this contract is vulnerable to an economic DOS attack where a malicious bidder creates a sequence of low bids that prevent other people from placing their bids (e.g. 0.001 ADA, 0.002 ADA and so on). Such an attack is possible because each eUTXO can be spent only once, and if the attacker is faster than you, then you fail to place your bid on the Cardano blockchain.
It requires some technical sophistication to execute an economic DOS attack, but an average (non-technical) wallet-user cannot defend against it. Although economic DOS attacks are also possible on Ethereum, it is much harder to execute them successfully within Ethereum's account model.
See the following paper for more details about economic DOS attacks: https://docs.google.com/document/u/0/d/12atK0oEME0y1GHo_HmqhrcZ3pQeEqB_0tFKknhsjsLY/mobilebasic
So my question is: (1.) How would you implement a Plutus-NFT-auction that defends against economic DOS attacks and (2.) how would you generalize a defense-pattern for other Plutus-contracts?