Crescent Docs

Batch Matching

In the context of MEV(Maximal Extractable Value), there is a significant inequality between professional validator and ordinary users that cannot be resolved. Since validator have the power to determine the order in which transactions are executed and included in a block, they can prioritize transactions that benefit their own financial interests, potentially at the expense of other market participants. Even in traditional finance, many have long been concerned about the inequality between specialized institutions and ordinary individuals, and some have made significant efforts to resolve this issue.
Cryptocurrencies, in fact, emerged out of a distrust in these traditional financial institutions. The principle of decentralization, a cornerstone of the crypto ecosystem, can also be viewed as a push against the dominance of large institutions.
This is why we handle the matching algorithm in order-book in a batch format(although technically it's a hybrid that allows for sequential matching after the batch to provide additional functionality). We want to prevent professional participants from taking advantage of common users and ensure that everyone has an equal footing in the market. Batch matching essentially eliminates order priority during the matching phase. Consequently, irrespective of the sequence in which one or more orders are sorted, each orderer receives the same matching outcome, rendering MEV attacks essentially impotent.
Concept of Batch matching