У серпні 2023 року Uniswap припадає на частку понад 64% сукупного обсягу торгів на децентралізованих біржах (DEX).
Як і більшість інших платформ, Uniswap використовує алгоритм автоматичного маркетмейкера (АММ) та пули ліквідності. Це надійне та перевірене рішення, але воно не адаптоване для традиційних гравців та створює певні ризики при використанні майданчика.
Щоб покращити якість користувальницького досвіду, а також забезпечити швидку та вигідну конвертацію цифрових активів, команда проекту запустила протокол UniswapX, що поєднує децентралізовану та централізовану (через проксі) ліквідність. Incrypted розібрався, що таке UniswapX, які переваги він надасть звичайним користувачам та як може вплинути на архітектуру DEX.
Що таке UniswapX
UniswapX - це роутинговий протокол з відкритим вихідним кодом, націлений на створення якісного досвіду використання DEX за рахунок вигіднішого курсу та швидкої конвертації криптовалют. Для вирішення цих завдань UniswapX залучає нові джерела ліквідності, додає аукціонний механізм та змінює формат обміну.
По суті це новий спосіб обміну криптовалют на Uniswap, який відрізняється від традиційних свопів через пули ліквідності.
Технічно протокол є сукупністю декількох пов'язаних смарт-контрактів, на момент написання розгорнутих в основній мережі Ethereum. Завдяки цьому взаємодія з UniswapX не вимагає дозволу з боку Uniswap Labs, а сам протокол не можна заблокувати на рівні блокчейну.
Архітектура протоколу
Архітектура UniswapX включає як нові рішення, так і відомі розробки Uniswap Labs.
На схемі зображені основні модулі протоколу.
Permit2 – представлене у листопаді 2022 року рішення для надання прав на використання токенів ERC-20. Знижує вартість газу за рахунок пакетних підтверджень та дозволяє витрачати токени іншим додаткам, підключеним до модуля.
Permit2 дозволяє смарт-контрактам Uniswap використовувати токени з гаманця користувача для обміну та уможливлює оплату іншою стороною угоди.
Також розробники запровадили систему реалізації свопів через ордери. Якщо раніше обмін проходив у вигляді транзакцій з набором параметрів (баланс, токени, що обмінюється і отримується, сума та інші), то тепер користувач створює і підписує ордер.
Для подальшого виконання ордер розміщується у мережі модулем заповнення (filler; філер).
UniswapX використовує новий тип ордеру на основі голландського аукціону. Нижче ми розберемо, як це працює. Але головна особливість у тому, що користувач може вказувати верхній та нижній ліміти ціни, а також темпи її зміни.
Модуль заповнення — це учасник протоколу, який виконує ордер користувача на встановлених умовах. Він передає вхідні параметри заявки до мережі та надає ліквідність для обміну.
Ці модулі можуть взаємодіяти з UniswapX через власні смарт-контракти або надаючи протоколу права використання активів. Докладніше про це можна прочитати у документації проекту.
Order Reactor – смарт-контракт, який формує з вхідних параметрів обміну динамічний ордер та розраховує його в режимі реального часу. Саме Order Reactor відповідає за поступове зниження обмінного курсу та перевіряє, чи відповідає фактичні умови виконання ордера вимогам користувача.
На момент написання Order Reactor може створювати голландські ордери та ексклюзивні голландські ордери під конкретні модулі заповнення. У майбутньому він підтримуватиме більше типів замовлень, наприклад, ринкові чи лімітні.
Executor - смарт-контракт, що взаємодіє з адресами філерів і пулами ліквідності Uniswap. Виконує дві основні функції:
- вибір виконавця ордера з найвигіднішими умовами;
- списання активів з гаманців сторін угоди та взаєморозрахунки.
У період бета-тестування команда Uniswap Labs контролює список виконавців, щоб забезпечити безперебійний обмін. У майбутньому функції модуля заповнення зможе виконувати будь-який користувач.
Ключові особливості UniswapX
Завдяки новій архітектурі протоколу вдалося вирішити низку характерних для DEX та AMM проблем та надати користувачам низку переваг.
Голландські ордери – новий тип ордерів, побудований на основі голландського аукціону з поступовим зниженням обмінного курсу. Спочатку ордер потрапляє в мережу за найвигіднішою ціною, але якщо жоден філер не погоджується його виконати у встановлений часовий проміжок, ціна знижується.
Наприклад, ви вирішили обміняти 1 ETH за ринкової вартості $2000 через UniswapX і створили ордер із ціновим діапазоном $2050-1900. Спочатку його виставлять за ціною $2050. Якщо через певний час на ордер не відгукнеться жоден філер, ціна впаде до $2000, потім до $1950 і так далі до мінімального заданого значення.
Тимчасовий проміжок для зниження вартості та мінімальний ціновий рівень можна встановити при відкритті ордера. Розробники запевняють, що голландський аукціон дозволяє зберегти баланс між вигодою для постачальника ліквідності та найкращим обмінним курсом для користувача;
Безгазові свопи — оскільки ордер розміщується у блокчейні не безпосередньо користувачем, а філером, то останній оплачує комісію за транзакцію. Ці витрати потім включаються у вартість свопу, тобто користувачеві не потрібно утримувати «газові» токени мережі, щоб здійснити обмін;
Відсутність комісії за невдалі транзакції — якщо у встановлений часовий проміжок так і не з'явився філер, який прийняв ордер, то така заявка не буде розміщена у мережі, тобто за її створення не стягується комісія;
Зовнішня ліквідність - ордер може бути виконаний як за рахунок пулів ліквідності Uniswap, так і за допомогою засобів філлера. Взаємодіяти з протоколом може смарт-контракт або External Owned Accounts (EOA), тобто звичайний гаманець некастодіальний, що відкриває нові можливості для традиційних маркетмейкерів.