Алгоритмы сопоставления книги ордеров DEX: Как выполняются сделки

Протоколы, автоматически сопоставляющие ордера на покупку и продажу на децентрализованных биржах с использованием книги ордеров.

Децентрализованные биржи (DEX) часто используют книги ордеров для облегчения торговли криптовалютой. В отличие от централизованных бирж, DEX работают распределенно. Основным механизмом является алгоритм сопоставления книги ордеров – набор правил, обычно смарт-контрактов на блокчейне, который ищет соответствующие ордера на покупку и продажу. Сделка исполняется, когда цена ордера на покупку достигает или превышает цену ордера на продажу. Алгоритм определяет приоритет ордеров (например, по цене и времени), расчет сделки и управление проскальзыванием (slippage). Существуют различные алгоритмы, от простых систем «кто первый пришел, того и обслужили» до сложных систем, оптимизирующих скорость, комиссии за газ и минимизирующих непостоянные потери или проскальзывание.

        graph LR
  Center["Алгоритмы сопоставления книги ордеров DEX: Как выполняются сделки"]:::main
  Pre_decentralized_exchange_dex["decentralized-exchange-dex"]:::pre --> Center
  click Pre_decentralized_exchange_dex "/terms/decentralized-exchange-dex"
  Pre_order_book["order-book"]:::pre --> Center
  click Pre_order_book "/terms/order-book"
  Pre_smart_contracts["smart-contracts"]:::pre --> Center
  click Pre_smart_contracts "/terms/smart-contracts"
  Rel_automated_market_maker_amm["automated-market-maker-amm"]:::related -.-> Center
  click Rel_automated_market_maker_amm "/terms/automated-market-maker-amm"
  Rel_slippage["slippage"]:::related -.-> Center
  click Rel_slippage "/terms/slippage"
  Rel_impermanent_loss["impermanent-loss"]:::related -.-> Center
  click Rel_impermanent_loss "/terms/impermanent-loss"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простыми словами

Представьте себе цифровой торговый зал. Вместо того чтобы человек сопоставлял покупателей и продавцов, компьютерная программа автоматически объединяет предложения. Если кто-то хочет купить редкую карту за 10 долларов, а кто-то другой хочет продать ее за 10 долларов, программа мгновенно их связывает, совершая сделку. Эта программа похожа на алгоритм сопоставления книги ордеров [DEX](/ru/terms/dex).

🤓 Expert Deep Dive

Алгоритмы сопоставления книги ордеров DEX являются неотъемлемой частью блокчейн- (on-chain) и гибридных архитектур DEX. Сопоставление в блокчейне (on-chain matching) выполняет всю логику на блокчейне через смарт-контракты, обеспечивая максимальную децентрализацию и прозрачность, но потенциально приводя к высокой задержке и расходам на газ. Распространенные алгоритмы в блокчейне включают:

  1. Приоритет по цене и времени: Сопоставляет ордера сначала по цене (самая высокая цена покупки, самая низкая цена продажи), а затем по времени их размещения (более ранние ордера имеют приоритет при одинаковых ценах).
  2. Пакетные аукционы (например, Gnosis Protocol/1inch): Собирает и сопоставляет ордера пакетами в течение определенного временного интервала. Это может уменьшить проскальзывание и фронтраннинг (front-running) путем агрегирования сделок и потенциального использования MEV (Maximal Extractable Value) для компенсации затрат или улучшения цен исполнения.

Книги ордеров вне блокчейна (off-chain) с расчетами в блокчейне (on-chain settlement) выполняют сопоставление вне блокчейна (на сервере или в распределенной сети) и рассчитывают сделки в блокчейне. Это улучшает пропускную способность и снижает задержку, но централизует процесс сопоставления.

Ключевые соображения при проектировании алгоритмов:
Эффективность: Минимизация использования вычислительных ресурсов и ресурсов блокчейна.
Справедливость: Обеспечение равноправного исполнения сделок.
Безопасность: Предотвращение манипуляций и фронтраннинга.
Контроль проскальзывания: Минимизация отклонения цены между размещением ордера и его исполнением.
* Управление MEV: Стратегии избегания или использования возможностей MEV.

🔗 Связанные термины

Предварительные знания:

📚 Источники