Чому на DEX стрибає обмінний курс: пояснюємо за 5 хвилин

Чому на DEX стрибає обмінний курс: пояснюємо за 5 хвилин

При обміні на QuipuSwap, Uniswap, Pancake Swap та інших біржах є закономірність: чим більша сума операції, тим гірший обмінний курс. Чому так відбувається і чи розробники можуть це виправити? Давайте розбиратись.

Розповідаємо про пристрій DEX, принцип роботи автоматичного маркет-мейкера (АММ) та популярні формули розрахунку курсу в пулі ліквідності.

Відмінності децентралізованих бірж від централізованих

Завдання бірж — збирати ліквідність в одному місці, автоматично зводити зустрічні заявки користувачів та розраховувати ринкову ціну торгової пари.

Централізовані біржі використовують при цьому книгу ордерів. У ній зберігаються активні лімітні заявки на кшталт «Продам 10 tez $7» і «Куплю 50 tez $6».

Торгівля з книгою ордерів виглядає так:

  1. Аліса купує 100 tez у ринковій ціні $7.
  2. Біржа виконує угоду проти найвигіднішої заявки — продажу 10 tez по $7.
  3. Ліквідності заявки не вистачає для закриття угоди.
  4. Біржа бере наступну заявку — наприклад, продаж 200 tez по $7,10.
  5. Аліса отримує 100 tez за середньою ціною $7,09.
  6. Ринкова ціна росте до $7,10.

Логіка роботи книги ордерів вбудована у торгове ядро ​​біржі (exchange core). Окрім сортування заявок, воно перевіряє баланси трейдерів, зберігає історію угод та передає дані до торгового інтерфейсу.

Торгові ядра працюють ефективно, але мають недолік — відносно великий об’єм коду. Open source-реалізація торгового ядра важить 330 КБ, комерційні варіанти на кшталт LSEG Millenium Exchange — від 2 МБ. Але максимальний обсяг смарт-контракту на Tezos складає 32 КБ, а на Ethereum – 24 КБ. Ядро просто не поміститься у контракт. Тому DEX використовують інший спосіб зберігання ліквідності та зведення заявок — автоматизований маркет-мейкер або АММ.

Як працює АММ на децентралізованих біржах

Як і централізовані біржі, DEX повинні зберігати ліквідність, зводити заявки та розраховувати обмінний курс.

Запису кожного байта в блокчейні коштує грошей. Наприклад, у Tezos за зберігання одного КБ потрібно заплатити 0,25 tez. Тому DEX не записують окремі заявки у книгу, а збирають їх в загальний пул ліквідності. По суті, це дві великі заявки на купівлю та продаж. Відповідно, DEX виконує ордери користувачів за рахунок пулу.

Оскільки книги ордерів немає, децентралізовані біржі розраховують ціну за математичними формулами. Найпопулярніша — X × Y = K, також відома як Constant Product Market Maker. У ній X та Y позначають кількість токенів у пулі, а K — константу. Значення K змінюється лише тоді, коли користувачі вносять чи забирають ліквідність з пулу. Під час обміну токенів K не змінюється.

Торгівля з АММ працює так:

  1. У пулі є 100 tez (X) та 700 kUSD (Y). Константа K складає 70 000, а обмінний курс — 1:7.
  2. Боб купує 10 tez за kUSD.
  3. АММ розраховує, скільки kUSD потрібно взяти у Боба, щоб зберегти значення K:

    (100 − 10) × (700 + А) = 70 000
    63 000 + 90А = 70 000
    90А = 7000
    А = 77,7

  4. Боб віддає 77 kUSD та отримує 10 tez.
  5. Курс пари піднімається до $7,77.

Чим більше токенів у пулі ліквідності, тим менше змінюється курс при обміні. Але все ж таки він змінюється.

Чи можна зробити АММ ефективнішим?

Можна тільки для специфічних завдань. Наприклад, для обміну стейблкоїнів формула X + Y = K працює краще X × Y = K:

  1. У пулі є 100 uUSD та 700 kUSD, K становить 800.
  2. Боб купує 10 uUSD за kUSD.
  3. АММ розраховує вартість угоди зі збереженням K:

    (100 − 10) + (700 + А) = 800
    790 + A = 800
    A = 10

  4. Боб віддає 10 kUSD і отримує 10 uUSD.
  5. Обмінний курс залишається рівним 1:1.

Розробники та математики винайшли десятки формул для АММ. Наприклад, так виглядає динамічний пошук виваженої ціни із вбудованим оракулом:

При цьому складні формули розв’язують одні проблеми та посилюють інші. Наприклад, АММ для невеликих угод буде невигідним для великих операцій. Алгоритм для концентрації ліквідності біля поточної ціни «зв’яже» її динаміку, принесе прибуток трейдерам та збитки провайдерам ліквідності. Тому більшість розробників DEX продовжують використовувати універсальну X × Y = K.

Підписуйтесь на соціальні мережі Tezos Ukraine, щоб нічого не пропустити:

  1. Telegram-канал
  2. Facebook.
  3. Twitter російською та українською мовами
  4. Twitter англійською мовою
  5. YouTube-канал
  6. Instagram
  7. LinkedIn
  8. hub на ForkLog

наступний

Фотографії як інвестиція: розповідаємо про NFT-маркетплейс Arago на Tezos

Читайте схожі пости

Читайте блог і не пропускайте новини про TezosЧитати блог

Спільнота