Batch Auction mechanism
CoW Protocol uses batch auctions for executing trades. Within a given batch, the goal is to compute prices and traded amounts to maximize a well-defined function. This can be formulated as a concrete optimization problem that needs to be solved, and this is where the solvers come into place.
Informally, a solver is an algorithm that takes as input a batch auction instance and outputs a batch auction solution, both described precisely in a formal language. The solution is then processed by the protocol, which validates all solver candidate solutions and ranks them according to a well-defined objective function.