Алгоритмы сопоставления книги ордеров 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) выполняет всю логику на блокчейне через смарт-контракты, обеспечивая максимальную децентрализацию и прозрачность, но потенциально приводя к высокой задержке и расходам на газ. Распространенные алгоритмы в блокчейне включают:
- Приоритет по цене и времени: Сопоставляет ордера сначала по цене (самая высокая цена покупки, самая низкая цена продажи), а затем по времени их размещения (более ранние ордера имеют приоритет при одинаковых ценах).
- Пакетные аукционы (например, Gnosis Protocol/1inch): Собирает и сопоставляет ордера пакетами в течение определенного временного интервала. Это может уменьшить проскальзывание и фронтраннинг (front-running) путем агрегирования сделок и потенциального использования MEV (Maximal Extractable Value) для компенсации затрат или улучшения цен исполнения.
Книги ордеров вне блокчейна (off-chain) с расчетами в блокчейне (on-chain settlement) выполняют сопоставление вне блокчейна (на сервере или в распределенной сети) и рассчитывают сделки в блокчейне. Это улучшает пропускную способность и снижает задержку, но централизует процесс сопоставления.
Ключевые соображения при проектировании алгоритмов:
Эффективность: Минимизация использования вычислительных ресурсов и ресурсов блокчейна.
Справедливость: Обеспечение равноправного исполнения сделок.
Безопасность: Предотвращение манипуляций и фронтраннинга.
Контроль проскальзывания: Минимизация отклонения цены между размещением ордера и его исполнением.
* Управление MEV: Стратегии избегания или использования возможностей MEV.