calendar_today
October 8, 2024
October 8, 2024
|
schedule
6
min read
AMM - Automated Market Makers. The math powering DEXs
No items found. Add items to cms.

Ever wondered how decentralized exchanges handle trades without the traditional order books and market makers? Behind this seamless experience lies the intricate world of Automated Market Makers, or AMMs. These systems blend sophisticated mathematics with blockchain technology to ensure liquidity and facilitate trades, all without the need for human intermediaries.

The first time I used an AMM on Uniswap, it was a revelation. There were no order books or waiting for someone on the other end to match my trade. The transaction was instant, and the process felt remarkably straightforward.

When we transition to blockchain and decentralized exchanges, the goal is to eliminate these middlemen, but that introduces a new challenge: How do you create liquidity and fair pricing without human market makers?

At its core, an AMM is a smart contract that holds a pool of two or more tokens. Instead of matching buyers and sellers like traditional exchanges, AMMs allow users to trade directly against the pool. This shift not only democratizes access to liquidity but also ensures that trading can occur at any time, regardless of the number of participants.

The Core Mechanism

The most common mathematical formula used in AMMs is the constant product formula, expressed as x * y = k.

https://www.coingecko.com/learn/what-is-an-automated-market-maker-amm

But why does this matter? Let’s break it down. Suppose the pool contains 100 ETH and 10,000 DAI, with k being 1,000,000. If someone buys 10 ETH from the pool, the amount of DAI in the pool must increase to maintain the constant product. This dynamic pricing mechanism allows the AMM to adjust prices based on supply and demand without relying on external price feeds or human intervention.

Slippage and the Role of Liquidity

What Is Slippage?

Slippage refers to the difference between the expected price of a trade and the price at which the trade is executed. In AMMs, slippage occurs because your trade alters the token ratios in the pool, affecting the price.

Why does liquidity matter?

The larger the liquidity pool, the less impact individual trades have on token ratios, reducing slippage. Think of it like adding a drop of dye to a small glass of water versus a swimming pool—the color change is much more noticeable in the glass.

Mathematical insight:

Slippage can be calculated using the first derivative of the constant product formula. For small trades relative to the pool size, the price impact is minimal. However, as trade size approaches a significant percentage of the pool, slippage increases exponentially.

Advanced Models

While the constant product formula laid the foundation, the decentralized finance ecosystem has evolved to incorporate more sophisticated AMM models tailored to specific needs:

Different AMMs use various formulas to address specific needs. Curve Finance, for example, is optimized for stablecoin trading. It employs a modified formula that maintains tighter price ranges, reducing slippage and minimizing impermanent loss for assets that should theoretically have the same value, like USDC and DAI.

Balancer takes a different approach by allowing up to eight tokens in a single pool with adjustable weights, not just the standard 50/50 split. This flexibility enables users to create custom portfolios within a liquidity pool, acting like a decentralized index fund. The mathematics generalizes the constant product formula to accommodate multiple assets and weights.

Uniswap V3 introduced the concept of concentrated liquidity, permitting liquidity providers to allocate capital within specific price ranges. This increases capital efficiency by concentrating liquidity where most trading occurs. Traders benefit from reduced slippage, and liquidity providers can earn more fees with less capital.

The Dark Side of AMMs. Front-Running and MEV

While AMMs have democratized trading, they also introduce challenges like front-running. This happens when someone observes pending transactions and inserts their own transaction before them to profit from expected price movements. In AMMs, this can lead to unfair trading practices, harming regular users through increased slippage or failed transactions.

https://blog.cow.fi/understanding-mev-protection-651176673abc?gi=a1e9aeabdb22

Miner Extractable Value or MEV refers to the profits miners or validators can extract by reordering, including, or excluding transactions within blocks. MEV exacerbates front-running issues, as miners have the power to manipulate transaction order for profit.

I recall a time when a transaction I submitted was significantly affected by front-running, resulting in a less favorable trade than anticipated. It highlighted the need for solutions to protect users in the DeFi space.

Mitigation techniques are evolving:

  • Time-Weighted Average Price or TWAP Orders: Spreading large trades over time to reduce price impact.
  • Batch Auctions: Aggregating transactions to execute them simultaneously, making front-running less profitable.
  • Privacy Solutions: Projects like Flashbots enable private transaction submission directly to miners, reducing MEV opportunities.

These developments are crucial for enhancing fairness and security in AMMs.

Impermanent Loss

Impermanent loss occurs when the value of tokens inside a liquidity pool diverges from their value if held outside the pool. It's "impermanent" because if token prices return to their original state, the loss diminishes.

An Example Scenario:

  • You provide liquidity to a pool with 1 ETH (worth $100) and 100 DAI.
  • Total pool value: $200.
  • Suppose ETH's price increases to $150.
  • Arbitrage traders will balance the pool, and you'll now have approximately 0.8165 ETH and 122.47 DAI when you withdraw.
  • Total value: 0.8165 \times $150 + 122.47 = $245.
  • If you had held your 1 ETH and 100 DAI outside the pool, you'd have $250.
  • Impermanent loss: $250 - $245 = $5.

Impermanent loss is due to the non-linear nature of the constant product formula. As prices change, the AMM adjusts token balances in a way that can be less favorable compared to simply holding the assets.

One of the standout features of AMMs is their ability to provide continuous liquidity. Unlike traditional exchanges where liquidity can dry up, AMMs ensure that there's always a pool available for trading. This is particularly beneficial for smaller or newer tokens that might struggle to attract buyers and sellers in a conventional order book system.

Challenges

Front-running, where traders exploit knowledge of pending transactions to gain an advantage, is a persistent issue. Additionally, the complexity of AMM algorithms can make it difficult for non-technical users to fully grasp how their trades impact the pool and the overall system.

We've seen firsthand how tweaking the mathematical formulas can significantly impact the efficiency and user experience of a decentralized exchange. It's a delicate balance, ensuring that the system remains fair and efficient while providing incentives for liquidity providers to participate.

So the next time you execute a swap on an AMM, remember the calculations and innovations making that simple action possible.

Sources

  1. Uniswap Documentation: https://uniswap.org/docs/
  2. Curve Finance Whitepaper: https://curve.fi/files/curve-whitepaper.pdf
  3. Balancer Protocol Documentation: https://balancer.finance/docs
  4. A Beginner's Guide to AMMs: https://www.coindesk.com/learn/automated-market-makers-amms-guide
  5. Impermanent Loss Explained: https://www.investopedia.com/terms/i/impermanent-loss.asp

Placeholder

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.