Based on this forum discussion, the proposal is to vote on adding the following to the rules of the solver competition:
The current rules do not guarantee all aspects of desirable solver behavior, in particular with respect to the fairness of solutions. There are "non-written" behavioral solver rules following from CoW Protocol's mission of pioneering a fair DEX. While these other rules are not implemented in the backend, we propose that CowDAO enforces them by
For now, we suggest to consider the following types of malicious behavior (see forum post for details):
Unfair shifting of user surplus from one order to another can happen in the case where two orders are trading against external liquidity on independent trading cycles. This means that an order that was necessary for generating a certain surplus might not end up "receiving" it. In order to mitigate such undesirable behavior, it needs to be ensured that for every user order, no external tokens "enter" or "exit" the trading cycles that the order is part of (and consequently, no surplus can be shifted between orders on independent trading cycles). This condition is referred to "token conservation per order" or "local token conservation", and described in much greater detail in this technical blog post.
In order to provide stronger fairness guarantees for the users, we propose to add the local token conservation constraint for all user orders to be executed to the rules of the competition and implement the corresponding check in the backend.