CIP-11: Update Rules of the Solver Competition
Based on this forum discussion, the proposal is to vote on adding the following to the rules of the solver competition:
- Social consensus (implicit rules)
- Local token conservation constraints
Proposed update #1: Social consensus
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
- transparently communicating the social consensus as to what kind of solver behavior is not allowed
- checking settlements by solvers retrospectively
- slashing solver bonds (via a DAO vote) in case violations to the social consensus were found
For now, we suggest to consider the following types of malicious behavior (see forum post for details):
- Provision of unfair solutions
- Inflation of the objective function
- Illegal use of internal buffers
- Failure to report correct transacted values for encoded transactions
- Other malicious behavior
Proposed update #2: local token conservation
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.
| Voter | Cast Power | Vote & Rationale |
|---|---|---|
0xF7AC...D6EAf5 | 14.286M | For |
0x91e2...1928ce | 10M | For |
0x0B8d...Ef19CF | 6.92M | For |
0x57C2...a2D52f | 4M | For |
0x9Dbc...21C199 | 3.571M | For |
VOTE POWER
Proposal Status
- Fri July 22 2022, 01:09 pmVoting Period Starts
- Fri July 29 2022, 01:09 pmEnd Voting Period
Current Results
1-For
48.01M
2-Abstain
6,224.342
3-Against
3,882.471
