HomeKnowledge BaseBatch Auctions vs. Dutch Auctions in Crypto

Batch Auctions vs. Dutch Auctions in Crypto

6 min read

Since its inception, DeFi has relied on automated market makers (AMMs) directly to facilitate the majority of trading volume. More recently, however, auctions have emerged as an innovative trading mechanism that addresses some of the major shortcomings of AMMs.

Below, we examine these shortcomings and compare and contrast two popular auction solutions— Dutch auctions and batch auctions.

The Shortcomings of AMMs

CF-AMMs, first proposed by Gnosis in 2017 and later popularized by protocols like Uniswap, are a natural fit for a world of frequent token launches and volatile assets. The core function of a CF-AMM is the rebalancing of token prices as orders come in. These AMMs rely on permissionless liquidity pools to facilitate trades for any ERC-20 token pair.

Due to their design, however, CF-AMMs leave traders exposed to price exploitation in the form of maximal extractable value (MEV). Since orders on AMMs get executed sequentially, malicious parties can re-order trades in the Ethereum mempool and take advantage of users. MEV has become a lucrative industry for the most resourceful traders out there, but those profits come directly out of the pockets of everyday users.

The propensity of AMMs to be exploited indicates that continuous-time venues may not be the ideal solution for trading on decentralized exchanges.

The Benefits of Auctions

1-batch-auctions-vs-dutch-auctions.webp

At its core, Ethereum is an auction — each block is limited in space, so validators auction off “blockspace” to the highest bidders. It turns out that a similar mechanism works well when it comes to trading. Auctions have presented a viable alternative to continuous-time trades in a new field known as “Order Flow Auctions.”

There are several points to consider when examining how auctions make sense in the context of blockchains:

  1. Blockchains aren’t continuous, so trading on a continuous system doesn’t make sense. It only leads to a “first come, first serve” mode of operation that ultimately becomes a race to the bottom.
  2. Auctions work to benefit traders as there can be multiple bidders for any given order, providing better prices by aggregating fragmented liquidity.
  3. Grouping multiple orders together in an auction presents opportunities for matching liquidity peer-to-peer rather than having to tap on-chain AMMs.

Auction mechanisms are not monolithic however. There are multiple types of auctions to take into account when considering what may make the most sense for Ethereum traders.

Dutch Auctions

2-batch-auctions-vs-dutch-auctions.webp

(Source)

One of the most common auction mechanisms is the Dutch auction. Dutch auctions work by offering an asset at a high starting price and then lowering the price over time until a willing bidder is found. This method identifies buyers quickly, making for a fast settlement.

Trading solutions like UniswapX employ Dutch auctions to settle trades with the speed of a traditional AMM, but with some added benefits.

Pros

Solver Competition: Multiple parties, or “solvers,” can bid on a given asset, finding the most competitive price for the user’s assets.

MEV Protection: Dutch auctions protect users from MEV by relying on a third party for execution, meaning the user is never exposed to an AMM where their trade could be front-run or sandwiched.

Cons

Centralized: Market makers have to have the assets in their inventory, leading users to essentially be at the mercy of the liquidity that the bidding parties have on hand.

Dutch auctions provide important benefits over continuous order trading. However, they only support auctioning one token at a time and they suffer from liquidity fragmentation as liquidity for a single token is spread across various venues.

It was this problem that inspired the creation of Gnosis Protocol V1 — the precursor to CoW Swap. This protocol relied on a different auction mechanism: the batch auction.

Batch Auctions

3-batch-auctions-vs-dutch-auctions.webp

An illustration of the batch auction mechanism on CoW Swap

A batch auction groups together a set of orders intents and executes the entire batch as a single transaction.

This allows multiple users to trade multiple assets within a single auction (unlike Dutch auctions). Having multiple orders in a single batch even enables peer-to-peer swaps which provide better prices than any on-chain venue.

Finally, while Dutch auctions rely on a price-decay bidding process, batch auctions encourage solvers to find the best execution route for each trade, incentivizing better execution rather than just the quickest settlement.

Pros

Solver Competition & MEV Protection: Just like Dutch auctions, batch auctions rely on a delegated execution model where solvers compete to find the best prices for users and protect orders from MEV.

Surplus Capturing Orders: Batch auctions provide an extra layer of efficiency over Dutch auctions by grouping multiple orders together. This allows liquidity to be shared between orders peer-to-peer, providing better prices than any on-chain venue. When orders do have to go on-chain, batching provides gas efficiency, further contributing to savings.

Multiple Trades Per Auction: Batch auctions aren’t limited to just a single asset per auction. This means that a single settlement may include multiple traders, each trading a different asset.

Cons

Speed: While other modes of trading settle orders instantaneously, batches have to be open for some period of time to collect orders before executing them on-chain. Speed issues can be mitigated by executing one batch per Ethereum block, making batch auctions run at the speed of Ethereum block settlement.

Batch auctions make sense as a natural fit for Ethereum, mirroring the Order Flow Auction mechanism of the block but at the dApp level. Today, CoW Swap is the largest production-scale implementation of batch auctions for DeFi trades.

The CoW Approach to Batch Auctions

4-batch-auctions-vs-dutch-auctions.webp

CoW Swap utilizes batch auctions to ensure traders get optimal prices while being protected from MEV.

The process starts with traders sending signed “intent to trade” messages to an order book, which CoW Swap then groups into batches. Solvers then search both on-chain and off-chain liquidity pools for the best prices. An auction is conducted for each batch to select the solver that provides the highest price surplus (the difference between the quoted and actual execution prices) for the orders. Finally, the winning solver executes these orders on-chain, ensuring users benefit from a uniform clearing price for all assets.

The future of batch auctions lies in targeting smaller batches where one batch is equal to one Ethereum block. This mitigates all speed issues related to batch auctions, making them execute as quickly as any other type of DeFi trade.