Метод оцінки DeFi ①: Ітеративний огляд Uniswap

Середній1/7/2024, 5:37:16 PM
У цій статті розглядається розвиток Uniswap на прикладі аналізу натхнення принципами за його ітераціями в проектуванні DeFi.

Нещодавно я роблю підсумок методів оцінки DeFi-треку. Після вивчення деяких випадків Uniswap є типовим представником з точки зору впливу та ітеративної логіки. У цій статті проводиться всебічний огляд Uniswap.

Внутрішня логіка ітерації Uniswap від V1 до V4, а також запуск протоколу UniswapX, є функціональною інновацією та оптимізацією механізму для транзакцій DEX.

V1 спочатку реалізував AMM у галузі шифрування, V2 зменшив експозицію до ризику ETH та запустив ціновий оракул, який важче маніпулювати, V3 вирішило проблему низької капіталовкладення через централізовану ліквідність, V4 реалізував можливість налаштування DEX, а протокол UniswapX був посилено за допомогою механізму аукціону. Конкурентоспроможність сторонніх агрегаторів дозволяє оптимізувати коефіцієнт просікання ціни.

Історія розвитку Uniswap

Немає потреби детально описувати стан та вплив Uniswap. За даними Dune в реальному часі, Uniswap все ще є DEX з найбільшим ринковим відсотком.

Як лідируючий DEX, він не існує вже довгий час, але був ітерований багато разів. Давайте поглянемо на процес розвитку:

У червні 2017 року Віталік опублікував статтю "Про незалежність шляху;

У листопаді 2018 року було випущено Uniswap V1: підтримка угод між ETH та ERC-20Token;

У березні 2020 року було випущено Uniswap V2: підтримка угод між будь-якими двома парами токенів ERC-20;

У травні 2021 року був випущений Uniswap V3: покращення використання коштів ліквідності LP та запропонування концепції об'єднаної ліквідності;

У червні 2023 року було запущено Uniswap V4: була впроваджена можливість настроювання контракту Hooks для запобігання витоку вартості;

У липні 2023 року було запущено Uniswap X: агрегуючи ліквідність на ланцюгу та позаланцюжкову ліквідність, захист від MEV.

Uniswap V1: Спроба автоматизованого ринкового зростання

У 2017 році Віталік опублікував статтю «Про шляхову незалежність» на своїй особистій веб-сторінці, в якій вперше у криптозахисті був представлений автоматизований ринковий мейкер (AMM), який є методом торгівлі, відмінним від CEX. Звичайно, цей підхід давно обговорюється в не-криптокругах (таких як традиційні фінансові кола).

Ми знаємо, що на фондовому ринку, фьючерсному ринку або існуючому CEX більшість угод проводяться в Книзі замовлень (режим книги замовлень). Маркетмейкери (такі як брокери та централізовані біржі) відповідають за збіг купівельних заявок покупців та продажних заявок продавців, коли ціни збігаються, тим самим завершуючи угоди між покупцями та продавцями.

Однак у випадку децентралізації виникли проблеми. Причина полягає в тому, що в децентралізованому середовищі DEX (будь-хто може брати участь у створенні ринку) важко відповідати угоди в режимі книги замовлень для забезпечення відповідної ліквідності, швидкості угод та Досвід є відносно поганим, і без достатньої ліквідності важко відповідати оперативній ефективності CEX.

У цій статті, написаній Віталіком, вводиться нова концепція на ринку шифрування: Автоматичний ринковий мейкер. У цій концепції ціну активів встановлюється за допомогою алгоритмів ціноутворення, а не за допомогою традиційної моделі книги замовлень.

У моделі AMM немає потреби в котируваннях робити ринкових мейкерів або системних відповідностей, і трейдери можуть безпосередньо використовувати ліквідність в пулі для реалізації обміну активами.

ТокенA та TokenB утворюють постійний зв'язок між продуктами:tokenA_balance(p) *tokenB_balance(p)=K (K залишається незмінним)

Це система торгівлі, що працює за принципом ліквідності, ця модель називається постійним ринком продуктів (CPMM). За цим підходом ринковий мейкер, який не залежить від шляху, може бути сформований шляхом визначення будь-якого (монотонного) відношення між токеном A та токеном B та обчислення їх похідних у будь-який момент для визначення ціни.

Три учасники: LP, трейдери, арбітраж

У механізмі утворення ринку AMM немає конкретної контрагентної сторони, подібної моделі замовлень у книзі замовлень. Фактична вартість активу визначається математичною формулою постійного продукту. До певної міри його можна порівняти з контрагентною стороною, що є розумним контрактом, який може реалізувати автоматизовану торгівлю активами.

Хтось потребує забезпечити ліквідність у розумний контракт, а постачальник ліквідності - це LP (постачальник ліквідності). LP забезпечує ліквідність для угод, вводячи активи в розумні контракти в пул, тим самим отримуючи дохід від комісії за угоду.

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

У Uniswap V1, випущеному у листопаді 2018 року, всі активи можна викупити за допомогою ETH. Для транзакцій між ETH та ERC-20Token, кожен може додати токени для торгівлі зі звичайним ETH. ETH суттєво є посередником у торгівлі активами.

Що відбувається в одному пулі, якщо ми хочемо торгувати??

Припустимо, що один ETH наразі вартує 100TokenA, а пул ETH/TokenA складається з 10 ETH і 1000 TokenA.

На даний момент вартість 10 ETH та 1 000 TokenA дорівнює 1 000 доларам США, а співвідношення вартості активів становить 1:1.

k=10 *1000=10000, цей продукт залишається незмінним без додавання більшої ліквідності.

Тепер припустимо, що я хочу продати 5 ETH у пул, тоді це має бути:

y=10000/(10+5)=666.67, кількість ETH у пулі збільшилася до 15, а кількість USDC на цей момент стала 666.67, тому я обміняв 5 ETH на 333.33 TokenA, і на цей момент ціна одного ETH у пулі становить 666.67/15=44.44, тобто один ETH дорівнює 44.44 TokenA.

Звичайно, якщо ціна в одному пулі раптово змінюється значно від ціни інших торгових ринків, арбітражники відразу ж почнуть атакувати, поки не поглинуть різницю в ціні. В кінці кінців, механізм AMM може лише генерувати ціни угод, але не може встановити ринкові ціни, тому роль арбітражників дуже важлива.

Тимчасові втрати, Токен LP, коефіцієнт просікання угод

Непостійні втрати виникають, коли співвідношення ціни депонованих токенів змінюється порівняно з моментом їхнього депонування у пул. Чим більше змін, тим більше втрати непостійності.

Зараз, як LP, ми продовжимо давати приклад:

Основна формула UniswapV1: x∗y=k

Зараз, як постачальник ліквідності, ми продовжуємо додавати 10 ETH та 1000 TokenA у пул як початкову ліквідність. На цей момент 1 ETH дорівнює 100 TokenA, а постійний продукт кількостей двох активів - 101000=10000( xy=10000,x=100y).

Наразі, якщо ціна 1 ETH збільшиться до 200 TokenA, ми можемо конвертувати: x*y=10000, x=200y, отже розраховуючи x=7.071, y=1414.21.

На даний момент ліквідність пулу змінилася з початкових 10 ETH та 1000 TokenA на: 7.071 ETH та 1414.21 TokenA.

Виявили проблему?

На цей момент, якщо я викуплю всі активи, я отримаю 7,071 ETH і 1414,21 TokenA. Фактична вартість, розрахована за допомогою TokenA, становить 7,071200+1414.21=2828.41. Якщо розраховано на основі початкових 10 ETH та 1000 TokenA, поточна ціна повинна бути 10200+1000=3000TokenA.

Різниця у цій частині доходу (3000-2828.41=171.59TokenA) є непостійною втратою。

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

Оскільки вони виступають як покупці і продавці, їм доводиться збільшувати кількість активів, які вони утримують, коли ціни падають, та зменшувати кількість активів, які вони утримують, коли ціни ростуть, що призводить до збитків.

Звісно, ви також можете вибрати хеджування та управляти ризиками, відкриваючи короткі/довгі контракти на ETH.

Щоб мотивувати користувачів виступати у ролі LP, надавати ліквідність та стимулювати їх нести волатильність цін, з'явився токен LP. Це винагорода для постачальників ліквідності, які можуть отримати певний відсоток від комісії за кожну угоду (UniswapV1, трейдери сплачують 0,3% від угоди, яка належить постачальнику ліквідності). Водночас він також служить сертифікатом для LP для зняття наданої ним самим ліквідності.

Ще одним концепцією є затримка торгівлі, друзі, які часто займаються торгівлею на DEX, обов'язково будуть знайомі з цим. Як система торгівлі, що працює на ліквідності, красиве рівняння постійної продуктивності AMM - це гладка крива, і ціна постійно змінюється відносно відношення між пропозицією та попитом.

Якщо ви торгуєте великою кількістю токенів у цей час, відбудеться ковзання, і буде певна різниця між вашою очікуваною ціною та ціною, яку ви фактично отримуєте з пулу. Іншими словами, буде розрив між ціною, яку ви хочете, та ціною угоди.

Uniswap V2: Адаптація, Оракул, Лайтнінг-позика

Uniswap V1 підтримує лише транзакції між торговими парами ERC-20/ETH. По суті, він використовує ETH як перехідну валюту-посередника для обміну між токенами ERC-20. Хоча шлях транзакції простий, він створює ризик експозиції ETH для постачальників ліквідності. Ризики експорту, непостійних втрат та ковзання.

У Uniswap V2 все ще ґрунтується на механізмі "константного продукту ринкового мейкера", але оновлення V2 призвело до покращення ефективності, зокрема: підтримка будь-яких двох пар токенів ERC-20 для торгівлі, що означає, що будь-який ERC20 може бути створений - пари ERC20 без необхідності парування через шлях переходу ETH.

Я не буду вдаватися в деталі з цього питання. Оновлення V2 включає багато аспектів. Є ще дві важливі точки: покращення ціни.Оракул,виконатифлеш-кредит.

Покращення оракула цін

У процесі Uniswap V1 ціна, розрахована шляхом ділення резервних фондів двох активів у пулі, не є безпечною для використання як прогноз ціни на ланцюжку, оскільки її легко можна маніпулювати.

Однією з мет цього оновлення V2 є збільшення вартості та складності маніпулювання ціною。

У V1, вважаючи, що інші контракти використовують поточну ціну ETH-DAI для врегулювання похідних, атакуючий, який маніпулює виміряною ціною, може купити ETH від пари ETH-DAI, спровокувати врегулювання похідного контракту за завищеною ціною, а потім ETH продається назад до пари, повертаючи його торгівлю до його справжньої ціни. У цьому випадку транзакції можуть відбуватися навіть як атомарні транзакції, або з майнерами, які контролюють порядок транзакцій у блоку.

У версії V2, для визначення рівноваги ринкової ціни ціна оновлюється один раз на блок, а ціна обміну токенів визначається до наступного блоку, тобто ціна ринку токенів базується на останній угоді в попередньому блоку.

У цьому оновленні також надається нові дані прогнозування цін: часове середнє значення ціни TWAP. Накопичення відносних цін двох активів на початку кожного блоку дозволяє іншим контрактам на Ethereum оцінити часове середнє значення ціни двох активів протягом будь-якого часового інтервалу.

З більшою конкретністю, у Uniswap V2 ціна накопичується шляхом відстеження сумарної суми ціни, коли хтось взаємодіє з контрактом на початку кожного блоку. На основі мітки часу блоку кожна ціна зважується за кількість часу з моменту оновлення попереднього блоку. Це означає, що значення накопичувача в будь-який момент часу (після оновлення) повинно бути сумою ринкових цін на кожну секунду в історії контракту.

Користувачі оракула можуть вибрати час початку та закінчити цей період, вартість для атакувальників, щоб маніпулювати TWAP, буде вищою, і ціна відносно важко маніпулюється.

Реалізувати флеш-кредит

Флеш-кредит - це абсолютна інновація порівняно з традиційним фінансуванням. Все-таки реальні транзакції не можуть бути скасовані, як на блокчейні.

Flash Swaps flash loans were introduced in V2. Users are free to lend assets to the pool and use them elsewhere on the chain, only returning the assets and paying corresponding interest at the end of the transaction (payment in the same atomic transaction). If the money is not returned normally Then the transaction will be rolled back.

Фактично, це дозволяє будь-кому швидко позичати будь-який актив, збережений у басейні Uniswap. У версії V1 користувачам не дозволяється отримувати й використовувати актив, поки не оплатять його. При покупці активу A активом B, актив A потрібно відправити на контракт, перш ніж можна отримати актив B.

Є деякі інші оновлені моменти: Включаючи Uniswap V2, який виправив нову контрактну структуру, використовуючи простий двійковий фіксований формат для кодування та обробки цін (точність), оновлення комісій за протокол та підтримка мета-транзакцій для часток мережі, тощо.

Uniswap V3: Покращення ефективності капіталу

Фон: Uniswap V2 має проблеми з ліквідністю. Згідно з введенням до вищевказаного механізму AMM, ми бачимо, що на V1 та V2 ліквідність пулу фактично розподілена в області [0, +∞]. Іншими словами, будь-яка ціна дозволена в пулу V2. угоди відбуваються (див. обернену функцію плавної кривої в AMM константного продукту).

На перший погляд це здається дуже цікавим. Торговий діапазон дуже великий, але насправді відсутній достатній попит на торгові пари з різними коливаннями у цінових діапазонах, що призводить до серйозної нестачі ліквідності, за винятком деяких торгових діапазонів, низька використаність активів.

Як ви можете уявити, це безглузде та марнотратно надавати ліквідність за ціновою точкою так далеко від діапазону цін, що ціна може ніколи не досягти цієї точки.

концентрована ліквідність

У цьому випадку, для покращення фінансової ліквідності, Uniswap V3 ввів концепцію сконцентрованої ліквідності. А саме:

Постачальники ліквідності (LPs) можуть вільно вибирати надання ліквідності в певному ціновому діапазоні, це може забезпечити кращу ліквідність і працювати в межах високого рівня капіталовитрат. В той же час, з точки зору застосування, також можна робити різні конфігурації для активних пулів з різною ціновою волатильністю.

Кожний невеликий ціновий діапазон у V3 можна розглядати як роботу V2. Під час угоди ціна буде плавно рухатися вздовж кривої. Коли ціна досягає певного розділу V2, вона досягає інтервальної точки цінового інтервалу V3. На цей момент цінова точка ковзає на наступний ціновий інтервал.

Після розуміння вищезазначеного концепції ми можемо дізнатися нові іменники——Ядро V3 - це Тіки.

Тіки, тіки є найменшими інкрементальними сумами, за які можна торгувати цінними паперами. У V3, розділяючи ціновий діапазон [0, +∞] на безліч дрібних тіків, обмеження на верхні та нижні крайові точки кожного діапазону реалізовані.

Ліквідність агрегується за допомогою контролю за дрібністю. Весь ціновий діапазон у версії V3 калібрується за допомогою дискретних, рівномірно розподілених Тіксів. Кожен Тік має індекс і відповідну ціну, і кожен Тік матиме власну глибину ліквідності.

Математичні принципи Uniswap V3 змінилися, хоча вони схожі на базовий рівень V2:

L=xy під кореневим знаком

L називається кількістю ліквідності, а ліквідність у пулі є поєднанням двох кількостей активів Token. Так само, добуток кількостей двох токенів - К, але через те, що кожен Тік має різні глибини ліквідності, еквівалентні формули для різних глибин вже не однакові.

Я не буду вдаватися в деталі математичних принципів. Нижче наведено статтю Атіса Ельстса про математичні принципи V3. Зацікавлені друзі можуть прочитати її самі.

У Uniswap V2 все ще діє стандартна комісія за транзакції у розмірі 0,3%, тоді як у Uniswap V2V3 передбачено 3 різних рівні комісій через різні грануляції, які становлять відповідно 0,05%, 0,3% і 1%. У цей час LP можуть зосередити свою капітальну ефективність в найчастіше торговельних діапазонах, щоб отримати максимальний прибуток.

Крім того, V3 ще раз оптимізував оракул на основі V2. Тепер він більше не зберігає лише одну змінну накопичення ціни, а зберігає набір змінних, які можуть продовжити термін служби даних, зменшити комісію за газ та зекономити кошти.

Uniswap V4: Налаштовуваний DEX

Uniswap V4 базується на централізованій моделі ліквідності Uniswap V3, дозволяє будь-кому розгортати нові централізовані пулі ліквідності на Uniswap зі спеціалізованою функціональністю, тим самим стаючи ефективною та налаштовуваною платформою DEX.

У V4 основним моментом є контракт Hooks, візія полягає в тому, щоб дозволити будь-кому приймати ці компроміси, вводячи "hooks".

Для кожного пула творець може визначити "контракт гачків", який виконує логіку на ключових етапах життєвого циклу виклику. Ці гачки також керують комісіями обміну пулу та комісіями зняття, які стягуються з надавачів ліквідності.

Гачки & Користувацькі басейни

Хуки - це набір контрактів, розроблений сторонніми сторонами або офіційними представниками Uniswap. При створенні пулу пул може вибрати прив'язати хук. Потім на певному етапі транзакції пул автоматично викличе контракт хука, прив'язаний до нього. Контракт є ключовими точками в життєвому циклі для виконання логіки.

іншими словами, Гук - це зовнішній розгорнутий контракт, який виконує деяку розроблену розробником логіку в певній точці виконання пула. Ці гаки дозволяють інтеграторам створювати централізовані ліквідні пули з гнучкими та налаштовуваними можливостями виконання. Гаки можуть змінювати параметри пула або додавати нові функції та функціональність.

У кожному басейні ліквідності Uniswap є життєвий цикл: Протягом життєвого циклу басейну ліквідності відбувається кілька речей, включаючи: басейн створюється зі стандартною комісією, ліквідність додається, видаляється або переналаштовується, а також користувачі можуть обмінювати Токени тощо. У Uniswap v3 ці події життєвого циклу тісно пов'язані і виконуються в дуже строгому порядку.

Але для створення простору для налаштовуваної ліквідності в Uniswap V4. Контракт Hooks створює метод введення коду для гірничодобувачів, щоб виконувати вказані операції на ключових етапах життєвого циклу гірничого пула, таких як перед та після обмінів, або перед та після змін позиції LP.

У кількох словах, Хуки - це плагіни для налаштування того, як взаємодіють пули, обміни, комісії та позиції LP через контракти з хуками. Розробники можуть інновувати на основі ліквідності та безпеки протоколу Uniswap, створюючи власні пули AMM через хуки, інтегровані з розумними контрактами v4.

Приклади функціональних можливостей, які можуть бути реалізовані за допомогою контрактів-хуків, включають:

  • Виконання великих замовлень через TWAMM протягом певного часу;
  • Лімітний ордер на ціну, виконаний на ланцюжку за вказаною ціною;
  • Динамічні комісії, які змінюються з волатильністю;
  • Внутрішній механізм розподілу MEV для постачальників ліквідності;
  • Реалізуйте медіану, відсічення або інші власні оракули.

Основна логіка Uniswap V4 така ж, як у V3 і не піддається оновленню. Оскільки кожний басейн для майнінгу тепер визначається не лише токенами та рівнями комісій, з цього можна скласти різні басейни для майнінгу. І хоча кожен басейн може використовувати власний смарт-контракт гачка, гачки обмежені конкретними дозволами, визначеними при створенні басейну.

Також в V4 є кілька архітектурних змін, таких як Flash Accounting (миттєвий облік), які значно зменшують комісію за газ. Ця функція включена в EIP-1153, яка вводить "тимчасове" сховище, і буде реалізована після оновлення Канкун (Ethereum Cancun).

Крім того, версія V4 також використовує одиночний режим (зберігає всі стани пулу в одному контракті), блискавичне облікове (забезпечує платоспроможність пулу), відновлює підтримку власного ETH, підтримує токени ERC-1155 та додає механізми управління Чекає на вдосконалення.

UniswapX: Підвищення конкуренції

UniswapX - це новий протокол на основі аукціонів, який не потребує дозволу, відкритий код (GPL) для торгівлі через AMM та інші джерела ліквідності.

Протокол покращить функціональність обміну в декількох областях, включаючи:

  • Збільшення цін за рахунок об'єднання джерел ліквідності
  • Без обміну газу
  • Запобігти MEV (Максимальна вартість екстракції)
  • Немає комісії за неуспішні транзакції
  • У найближчі місяці UniswapX розшириться на безкоштовні крос-ланцюжкові обміни.

Агрегація наступного рівня агрегація наступного покоління

Фон: Операції on-chain продовжують інновації, що приводить до зростання кількості пулів ліквідності, нових рівнів комісій, L2 та інших on-chain протоколів, які також розподілять ліквідність.

Рішення: UniswapX має на меті вирішити цю проблему за допомогою відкритої мережі, яка віддає складність маршрутизації стороннім сторонам, які повинні конкурувати, конкуруючи за заповнення транзакцій за допомогою ліквідності on-chain, такої як AMM-пули або їх власні приватні запаси.

З UniswapX трейдери зможуть використовувати інтерфейс Uniswap, не турбуючись про те, чи отримують вони найкращу ціну. Операції трейдерів завжди будуть чесно записані та вирішені на ланцюжку. Усі замовлення здійснюються за допомогою Uniswap Smart Order Router, який змушує сторонніх учасників конкурувати з Uniswap V1, V2, V3 та, по запуску, V4.

По суті, UniswapX посилює механізм конкуренції та оптимізує коефіцієнт просікання ціни кожного активного пулу через вибір третьої сторони маршрутизації.

Крім того, UniswapX також запустив нові спроби:

Немає транзакції газу, не сплачується за невдачу. Торговець підписує унікальний оффлайн-замовлення, яке потім надсилається на ланцюжок третьою стороною, яка сплачує газ від імені торговця. Третя сторона включає плату за газ у ціну транзакції, але може конкурувати за кращу ціну, виконуючи кілька замовлень партіями та зменшуючи витрати на транзакції.

Захист від MEV, повернення MEV, отриманого від арбітражного трейдингу, трейдерам за кращою ціною. UniswapX допомагає користувачам уникнути більш явних форм виведення MEV: виконані з використанням приватних активів сторонні замовлення не можуть бути “запідсаджені”, і сторони мають стимул використовувати приватні транзакційні ретранслятори при маршрутизації замовлень до ланцюжкових пулів ліквідності.

Наступна крос-ланцюгова версія UniswapX об'єднає обмін та місткування в одну безшовну операцію. Користуючись крос-ланцюговим UniswapX, обмінники зможуть швидко переходити між ланцюгами та очікувати на свій прогрес.

Основна тема у Uniswap: ітерація

Внутрішня логіка ітерації Uniswap з V1 до V4, а також запуску протоколу UniswapX є функціональним нововведенням DEX (AMM).

V1 спочатку реалізував AMM в області шифрування, V2 зменшив експозицію ризику ETH і запустив ціновий оракул, який складніше маніпулювати, V3 вирішив проблему низької капітальної ефективності через централізовану ліквідність, V4 реалізував налаштовуваний DEX, а протокол UniswapX був посилено за допомогою механізму аукціону. Конкурентоспроможність сторонніх агрегаторів дозволяє оптимізувати ковзання ціни.

Ми бачимо, що Uniswap інновує себе на кожному кроці - зменшуючи витрати на позику, оптимізуючи користувацький досвід, посилюючи усвідомленість конкуренції та приймаючи нові технології. Ця ітеративна модернізація є основою для того, щоб хороший протокол існував назавжди.

Disclaimer:

  1. Ця стаття була перепублікована з[Бачити мікро-знання]. Усі авторські права належать оригінальному автору [Arrow розмова]. Якщо є зауваження до цього перепублікування, будь ласка, зв'яжіться з Gate Learnкоманда, і вони оперативно впораються з цим.
  2. Відповідальність за відмову: Погляди та думки, висловлені в цій статті, є виключно тими, що належать автору і не становлять жодної інвестиційної поради.
  3. Переклади статей на інші мови виконуються командою Gate Learn. Якщо не зазначено інше, копіювання, поширення або плагіатування перекладених статей заборонено.

Метод оцінки DeFi ①: Ітеративний огляд Uniswap

Середній1/7/2024, 5:37:16 PM
У цій статті розглядається розвиток Uniswap на прикладі аналізу натхнення принципами за його ітераціями в проектуванні DeFi.

Нещодавно я роблю підсумок методів оцінки DeFi-треку. Після вивчення деяких випадків Uniswap є типовим представником з точки зору впливу та ітеративної логіки. У цій статті проводиться всебічний огляд Uniswap.

Внутрішня логіка ітерації Uniswap від V1 до V4, а також запуск протоколу UniswapX, є функціональною інновацією та оптимізацією механізму для транзакцій DEX.

V1 спочатку реалізував AMM у галузі шифрування, V2 зменшив експозицію до ризику ETH та запустив ціновий оракул, який важче маніпулювати, V3 вирішило проблему низької капіталовкладення через централізовану ліквідність, V4 реалізував можливість налаштування DEX, а протокол UniswapX був посилено за допомогою механізму аукціону. Конкурентоспроможність сторонніх агрегаторів дозволяє оптимізувати коефіцієнт просікання ціни.

Історія розвитку Uniswap

Немає потреби детально описувати стан та вплив Uniswap. За даними Dune в реальному часі, Uniswap все ще є DEX з найбільшим ринковим відсотком.

Як лідируючий DEX, він не існує вже довгий час, але був ітерований багато разів. Давайте поглянемо на процес розвитку:

У червні 2017 року Віталік опублікував статтю "Про незалежність шляху;

У листопаді 2018 року було випущено Uniswap V1: підтримка угод між ETH та ERC-20Token;

У березні 2020 року було випущено Uniswap V2: підтримка угод між будь-якими двома парами токенів ERC-20;

У травні 2021 року був випущений Uniswap V3: покращення використання коштів ліквідності LP та запропонування концепції об'єднаної ліквідності;

У червні 2023 року було запущено Uniswap V4: була впроваджена можливість настроювання контракту Hooks для запобігання витоку вартості;

У липні 2023 року було запущено Uniswap X: агрегуючи ліквідність на ланцюгу та позаланцюжкову ліквідність, захист від MEV.

Uniswap V1: Спроба автоматизованого ринкового зростання

У 2017 році Віталік опублікував статтю «Про шляхову незалежність» на своїй особистій веб-сторінці, в якій вперше у криптозахисті був представлений автоматизований ринковий мейкер (AMM), який є методом торгівлі, відмінним від CEX. Звичайно, цей підхід давно обговорюється в не-криптокругах (таких як традиційні фінансові кола).

Ми знаємо, що на фондовому ринку, фьючерсному ринку або існуючому CEX більшість угод проводяться в Книзі замовлень (режим книги замовлень). Маркетмейкери (такі як брокери та централізовані біржі) відповідають за збіг купівельних заявок покупців та продажних заявок продавців, коли ціни збігаються, тим самим завершуючи угоди між покупцями та продавцями.

Однак у випадку децентралізації виникли проблеми. Причина полягає в тому, що в децентралізованому середовищі DEX (будь-хто може брати участь у створенні ринку) важко відповідати угоди в режимі книги замовлень для забезпечення відповідної ліквідності, швидкості угод та Досвід є відносно поганим, і без достатньої ліквідності важко відповідати оперативній ефективності CEX.

У цій статті, написаній Віталіком, вводиться нова концепція на ринку шифрування: Автоматичний ринковий мейкер. У цій концепції ціну активів встановлюється за допомогою алгоритмів ціноутворення, а не за допомогою традиційної моделі книги замовлень.

У моделі AMM немає потреби в котируваннях робити ринкових мейкерів або системних відповідностей, і трейдери можуть безпосередньо використовувати ліквідність в пулі для реалізації обміну активами.

ТокенA та TokenB утворюють постійний зв'язок між продуктами:tokenA_balance(p) *tokenB_balance(p)=K (K залишається незмінним)

Це система торгівлі, що працює за принципом ліквідності, ця модель називається постійним ринком продуктів (CPMM). За цим підходом ринковий мейкер, який не залежить від шляху, може бути сформований шляхом визначення будь-якого (монотонного) відношення між токеном A та токеном B та обчислення їх похідних у будь-який момент для визначення ціни.

Три учасники: LP, трейдери, арбітраж

У механізмі утворення ринку AMM немає конкретної контрагентної сторони, подібної моделі замовлень у книзі замовлень. Фактична вартість активу визначається математичною формулою постійного продукту. До певної міри його можна порівняти з контрагентною стороною, що є розумним контрактом, який може реалізувати автоматизовану торгівлю активами.

Хтось потребує забезпечити ліквідність у розумний контракт, а постачальник ліквідності - це LP (постачальник ліквідності). LP забезпечує ліквідність для угод, вводячи активи в розумні контракти в пул, тим самим отримуючи дохід від комісії за угоду.

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

У Uniswap V1, випущеному у листопаді 2018 року, всі активи можна викупити за допомогою ETH. Для транзакцій між ETH та ERC-20Token, кожен може додати токени для торгівлі зі звичайним ETH. ETH суттєво є посередником у торгівлі активами.

Що відбувається в одному пулі, якщо ми хочемо торгувати??

Припустимо, що один ETH наразі вартує 100TokenA, а пул ETH/TokenA складається з 10 ETH і 1000 TokenA.

На даний момент вартість 10 ETH та 1 000 TokenA дорівнює 1 000 доларам США, а співвідношення вартості активів становить 1:1.

k=10 *1000=10000, цей продукт залишається незмінним без додавання більшої ліквідності.

Тепер припустимо, що я хочу продати 5 ETH у пул, тоді це має бути:

y=10000/(10+5)=666.67, кількість ETH у пулі збільшилася до 15, а кількість USDC на цей момент стала 666.67, тому я обміняв 5 ETH на 333.33 TokenA, і на цей момент ціна одного ETH у пулі становить 666.67/15=44.44, тобто один ETH дорівнює 44.44 TokenA.

Звичайно, якщо ціна в одному пулі раптово змінюється значно від ціни інших торгових ринків, арбітражники відразу ж почнуть атакувати, поки не поглинуть різницю в ціні. В кінці кінців, механізм AMM може лише генерувати ціни угод, але не може встановити ринкові ціни, тому роль арбітражників дуже важлива.

Тимчасові втрати, Токен LP, коефіцієнт просікання угод

Непостійні втрати виникають, коли співвідношення ціни депонованих токенів змінюється порівняно з моментом їхнього депонування у пул. Чим більше змін, тим більше втрати непостійності.

Зараз, як LP, ми продовжимо давати приклад:

Основна формула UniswapV1: x∗y=k

Зараз, як постачальник ліквідності, ми продовжуємо додавати 10 ETH та 1000 TokenA у пул як початкову ліквідність. На цей момент 1 ETH дорівнює 100 TokenA, а постійний продукт кількостей двох активів - 101000=10000( xy=10000,x=100y).

Наразі, якщо ціна 1 ETH збільшиться до 200 TokenA, ми можемо конвертувати: x*y=10000, x=200y, отже розраховуючи x=7.071, y=1414.21.

На даний момент ліквідність пулу змінилася з початкових 10 ETH та 1000 TokenA на: 7.071 ETH та 1414.21 TokenA.

Виявили проблему?

На цей момент, якщо я викуплю всі активи, я отримаю 7,071 ETH і 1414,21 TokenA. Фактична вартість, розрахована за допомогою TokenA, становить 7,071200+1414.21=2828.41. Якщо розраховано на основі початкових 10 ETH та 1000 TokenA, поточна ціна повинна бути 10200+1000=3000TokenA.

Різниця у цій частині доходу (3000-2828.41=171.59TokenA) є непостійною втратою。

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

Оскільки вони виступають як покупці і продавці, їм доводиться збільшувати кількість активів, які вони утримують, коли ціни падають, та зменшувати кількість активів, які вони утримують, коли ціни ростуть, що призводить до збитків.

Звісно, ви також можете вибрати хеджування та управляти ризиками, відкриваючи короткі/довгі контракти на ETH.

Щоб мотивувати користувачів виступати у ролі LP, надавати ліквідність та стимулювати їх нести волатильність цін, з'явився токен LP. Це винагорода для постачальників ліквідності, які можуть отримати певний відсоток від комісії за кожну угоду (UniswapV1, трейдери сплачують 0,3% від угоди, яка належить постачальнику ліквідності). Водночас він також служить сертифікатом для LP для зняття наданої ним самим ліквідності.

Ще одним концепцією є затримка торгівлі, друзі, які часто займаються торгівлею на DEX, обов'язково будуть знайомі з цим. Як система торгівлі, що працює на ліквідності, красиве рівняння постійної продуктивності AMM - це гладка крива, і ціна постійно змінюється відносно відношення між пропозицією та попитом.

Якщо ви торгуєте великою кількістю токенів у цей час, відбудеться ковзання, і буде певна різниця між вашою очікуваною ціною та ціною, яку ви фактично отримуєте з пулу. Іншими словами, буде розрив між ціною, яку ви хочете, та ціною угоди.

Uniswap V2: Адаптація, Оракул, Лайтнінг-позика

Uniswap V1 підтримує лише транзакції між торговими парами ERC-20/ETH. По суті, він використовує ETH як перехідну валюту-посередника для обміну між токенами ERC-20. Хоча шлях транзакції простий, він створює ризик експозиції ETH для постачальників ліквідності. Ризики експорту, непостійних втрат та ковзання.

У Uniswap V2 все ще ґрунтується на механізмі "константного продукту ринкового мейкера", але оновлення V2 призвело до покращення ефективності, зокрема: підтримка будь-яких двох пар токенів ERC-20 для торгівлі, що означає, що будь-який ERC20 може бути створений - пари ERC20 без необхідності парування через шлях переходу ETH.

Я не буду вдаватися в деталі з цього питання. Оновлення V2 включає багато аспектів. Є ще дві важливі точки: покращення ціни.Оракул,виконатифлеш-кредит.

Покращення оракула цін

У процесі Uniswap V1 ціна, розрахована шляхом ділення резервних фондів двох активів у пулі, не є безпечною для використання як прогноз ціни на ланцюжку, оскільки її легко можна маніпулювати.

Однією з мет цього оновлення V2 є збільшення вартості та складності маніпулювання ціною。

У V1, вважаючи, що інші контракти використовують поточну ціну ETH-DAI для врегулювання похідних, атакуючий, який маніпулює виміряною ціною, може купити ETH від пари ETH-DAI, спровокувати врегулювання похідного контракту за завищеною ціною, а потім ETH продається назад до пари, повертаючи його торгівлю до його справжньої ціни. У цьому випадку транзакції можуть відбуватися навіть як атомарні транзакції, або з майнерами, які контролюють порядок транзакцій у блоку.

У версії V2, для визначення рівноваги ринкової ціни ціна оновлюється один раз на блок, а ціна обміну токенів визначається до наступного блоку, тобто ціна ринку токенів базується на останній угоді в попередньому блоку.

У цьому оновленні також надається нові дані прогнозування цін: часове середнє значення ціни TWAP. Накопичення відносних цін двох активів на початку кожного блоку дозволяє іншим контрактам на Ethereum оцінити часове середнє значення ціни двох активів протягом будь-якого часового інтервалу.

З більшою конкретністю, у Uniswap V2 ціна накопичується шляхом відстеження сумарної суми ціни, коли хтось взаємодіє з контрактом на початку кожного блоку. На основі мітки часу блоку кожна ціна зважується за кількість часу з моменту оновлення попереднього блоку. Це означає, що значення накопичувача в будь-який момент часу (після оновлення) повинно бути сумою ринкових цін на кожну секунду в історії контракту.

Користувачі оракула можуть вибрати час початку та закінчити цей період, вартість для атакувальників, щоб маніпулювати TWAP, буде вищою, і ціна відносно важко маніпулюється.

Реалізувати флеш-кредит

Флеш-кредит - це абсолютна інновація порівняно з традиційним фінансуванням. Все-таки реальні транзакції не можуть бути скасовані, як на блокчейні.

Flash Swaps flash loans were introduced in V2. Users are free to lend assets to the pool and use them elsewhere on the chain, only returning the assets and paying corresponding interest at the end of the transaction (payment in the same atomic transaction). If the money is not returned normally Then the transaction will be rolled back.

Фактично, це дозволяє будь-кому швидко позичати будь-який актив, збережений у басейні Uniswap. У версії V1 користувачам не дозволяється отримувати й використовувати актив, поки не оплатять його. При покупці активу A активом B, актив A потрібно відправити на контракт, перш ніж можна отримати актив B.

Є деякі інші оновлені моменти: Включаючи Uniswap V2, який виправив нову контрактну структуру, використовуючи простий двійковий фіксований формат для кодування та обробки цін (точність), оновлення комісій за протокол та підтримка мета-транзакцій для часток мережі, тощо.

Uniswap V3: Покращення ефективності капіталу

Фон: Uniswap V2 має проблеми з ліквідністю. Згідно з введенням до вищевказаного механізму AMM, ми бачимо, що на V1 та V2 ліквідність пулу фактично розподілена в області [0, +∞]. Іншими словами, будь-яка ціна дозволена в пулу V2. угоди відбуваються (див. обернену функцію плавної кривої в AMM константного продукту).

На перший погляд це здається дуже цікавим. Торговий діапазон дуже великий, але насправді відсутній достатній попит на торгові пари з різними коливаннями у цінових діапазонах, що призводить до серйозної нестачі ліквідності, за винятком деяких торгових діапазонів, низька використаність активів.

Як ви можете уявити, це безглузде та марнотратно надавати ліквідність за ціновою точкою так далеко від діапазону цін, що ціна може ніколи не досягти цієї точки.

концентрована ліквідність

У цьому випадку, для покращення фінансової ліквідності, Uniswap V3 ввів концепцію сконцентрованої ліквідності. А саме:

Постачальники ліквідності (LPs) можуть вільно вибирати надання ліквідності в певному ціновому діапазоні, це може забезпечити кращу ліквідність і працювати в межах високого рівня капіталовитрат. В той же час, з точки зору застосування, також можна робити різні конфігурації для активних пулів з різною ціновою волатильністю.

Кожний невеликий ціновий діапазон у V3 можна розглядати як роботу V2. Під час угоди ціна буде плавно рухатися вздовж кривої. Коли ціна досягає певного розділу V2, вона досягає інтервальної точки цінового інтервалу V3. На цей момент цінова точка ковзає на наступний ціновий інтервал.

Після розуміння вищезазначеного концепції ми можемо дізнатися нові іменники——Ядро V3 - це Тіки.

Тіки, тіки є найменшими інкрементальними сумами, за які можна торгувати цінними паперами. У V3, розділяючи ціновий діапазон [0, +∞] на безліч дрібних тіків, обмеження на верхні та нижні крайові точки кожного діапазону реалізовані.

Ліквідність агрегується за допомогою контролю за дрібністю. Весь ціновий діапазон у версії V3 калібрується за допомогою дискретних, рівномірно розподілених Тіксів. Кожен Тік має індекс і відповідну ціну, і кожен Тік матиме власну глибину ліквідності.

Математичні принципи Uniswap V3 змінилися, хоча вони схожі на базовий рівень V2:

L=xy під кореневим знаком

L називається кількістю ліквідності, а ліквідність у пулі є поєднанням двох кількостей активів Token. Так само, добуток кількостей двох токенів - К, але через те, що кожен Тік має різні глибини ліквідності, еквівалентні формули для різних глибин вже не однакові.

Я не буду вдаватися в деталі математичних принципів. Нижче наведено статтю Атіса Ельстса про математичні принципи V3. Зацікавлені друзі можуть прочитати її самі.

У Uniswap V2 все ще діє стандартна комісія за транзакції у розмірі 0,3%, тоді як у Uniswap V2V3 передбачено 3 різних рівні комісій через різні грануляції, які становлять відповідно 0,05%, 0,3% і 1%. У цей час LP можуть зосередити свою капітальну ефективність в найчастіше торговельних діапазонах, щоб отримати максимальний прибуток.

Крім того, V3 ще раз оптимізував оракул на основі V2. Тепер він більше не зберігає лише одну змінну накопичення ціни, а зберігає набір змінних, які можуть продовжити термін служби даних, зменшити комісію за газ та зекономити кошти.

Uniswap V4: Налаштовуваний DEX

Uniswap V4 базується на централізованій моделі ліквідності Uniswap V3, дозволяє будь-кому розгортати нові централізовані пулі ліквідності на Uniswap зі спеціалізованою функціональністю, тим самим стаючи ефективною та налаштовуваною платформою DEX.

У V4 основним моментом є контракт Hooks, візія полягає в тому, щоб дозволити будь-кому приймати ці компроміси, вводячи "hooks".

Для кожного пула творець може визначити "контракт гачків", який виконує логіку на ключових етапах життєвого циклу виклику. Ці гачки також керують комісіями обміну пулу та комісіями зняття, які стягуються з надавачів ліквідності.

Гачки & Користувацькі басейни

Хуки - це набір контрактів, розроблений сторонніми сторонами або офіційними представниками Uniswap. При створенні пулу пул може вибрати прив'язати хук. Потім на певному етапі транзакції пул автоматично викличе контракт хука, прив'язаний до нього. Контракт є ключовими точками в життєвому циклі для виконання логіки.

іншими словами, Гук - це зовнішній розгорнутий контракт, який виконує деяку розроблену розробником логіку в певній точці виконання пула. Ці гаки дозволяють інтеграторам створювати централізовані ліквідні пули з гнучкими та налаштовуваними можливостями виконання. Гаки можуть змінювати параметри пула або додавати нові функції та функціональність.

У кожному басейні ліквідності Uniswap є життєвий цикл: Протягом життєвого циклу басейну ліквідності відбувається кілька речей, включаючи: басейн створюється зі стандартною комісією, ліквідність додається, видаляється або переналаштовується, а також користувачі можуть обмінювати Токени тощо. У Uniswap v3 ці події життєвого циклу тісно пов'язані і виконуються в дуже строгому порядку.

Але для створення простору для налаштовуваної ліквідності в Uniswap V4. Контракт Hooks створює метод введення коду для гірничодобувачів, щоб виконувати вказані операції на ключових етапах життєвого циклу гірничого пула, таких як перед та після обмінів, або перед та після змін позиції LP.

У кількох словах, Хуки - це плагіни для налаштування того, як взаємодіють пули, обміни, комісії та позиції LP через контракти з хуками. Розробники можуть інновувати на основі ліквідності та безпеки протоколу Uniswap, створюючи власні пули AMM через хуки, інтегровані з розумними контрактами v4.

Приклади функціональних можливостей, які можуть бути реалізовані за допомогою контрактів-хуків, включають:

  • Виконання великих замовлень через TWAMM протягом певного часу;
  • Лімітний ордер на ціну, виконаний на ланцюжку за вказаною ціною;
  • Динамічні комісії, які змінюються з волатильністю;
  • Внутрішній механізм розподілу MEV для постачальників ліквідності;
  • Реалізуйте медіану, відсічення або інші власні оракули.

Основна логіка Uniswap V4 така ж, як у V3 і не піддається оновленню. Оскільки кожний басейн для майнінгу тепер визначається не лише токенами та рівнями комісій, з цього можна скласти різні басейни для майнінгу. І хоча кожен басейн може використовувати власний смарт-контракт гачка, гачки обмежені конкретними дозволами, визначеними при створенні басейну.

Також в V4 є кілька архітектурних змін, таких як Flash Accounting (миттєвий облік), які значно зменшують комісію за газ. Ця функція включена в EIP-1153, яка вводить "тимчасове" сховище, і буде реалізована після оновлення Канкун (Ethereum Cancun).

Крім того, версія V4 також використовує одиночний режим (зберігає всі стани пулу в одному контракті), блискавичне облікове (забезпечує платоспроможність пулу), відновлює підтримку власного ETH, підтримує токени ERC-1155 та додає механізми управління Чекає на вдосконалення.

UniswapX: Підвищення конкуренції

UniswapX - це новий протокол на основі аукціонів, який не потребує дозволу, відкритий код (GPL) для торгівлі через AMM та інші джерела ліквідності.

Протокол покращить функціональність обміну в декількох областях, включаючи:

  • Збільшення цін за рахунок об'єднання джерел ліквідності
  • Без обміну газу
  • Запобігти MEV (Максимальна вартість екстракції)
  • Немає комісії за неуспішні транзакції
  • У найближчі місяці UniswapX розшириться на безкоштовні крос-ланцюжкові обміни.

Агрегація наступного рівня агрегація наступного покоління

Фон: Операції on-chain продовжують інновації, що приводить до зростання кількості пулів ліквідності, нових рівнів комісій, L2 та інших on-chain протоколів, які також розподілять ліквідність.

Рішення: UniswapX має на меті вирішити цю проблему за допомогою відкритої мережі, яка віддає складність маршрутизації стороннім сторонам, які повинні конкурувати, конкуруючи за заповнення транзакцій за допомогою ліквідності on-chain, такої як AMM-пули або їх власні приватні запаси.

З UniswapX трейдери зможуть використовувати інтерфейс Uniswap, не турбуючись про те, чи отримують вони найкращу ціну. Операції трейдерів завжди будуть чесно записані та вирішені на ланцюжку. Усі замовлення здійснюються за допомогою Uniswap Smart Order Router, який змушує сторонніх учасників конкурувати з Uniswap V1, V2, V3 та, по запуску, V4.

По суті, UniswapX посилює механізм конкуренції та оптимізує коефіцієнт просікання ціни кожного активного пулу через вибір третьої сторони маршрутизації.

Крім того, UniswapX також запустив нові спроби:

Немає транзакції газу, не сплачується за невдачу. Торговець підписує унікальний оффлайн-замовлення, яке потім надсилається на ланцюжок третьою стороною, яка сплачує газ від імені торговця. Третя сторона включає плату за газ у ціну транзакції, але може конкурувати за кращу ціну, виконуючи кілька замовлень партіями та зменшуючи витрати на транзакції.

Захист від MEV, повернення MEV, отриманого від арбітражного трейдингу, трейдерам за кращою ціною. UniswapX допомагає користувачам уникнути більш явних форм виведення MEV: виконані з використанням приватних активів сторонні замовлення не можуть бути “запідсаджені”, і сторони мають стимул використовувати приватні транзакційні ретранслятори при маршрутизації замовлень до ланцюжкових пулів ліквідності.

Наступна крос-ланцюгова версія UniswapX об'єднає обмін та місткування в одну безшовну операцію. Користуючись крос-ланцюговим UniswapX, обмінники зможуть швидко переходити між ланцюгами та очікувати на свій прогрес.

Основна тема у Uniswap: ітерація

Внутрішня логіка ітерації Uniswap з V1 до V4, а також запуску протоколу UniswapX є функціональним нововведенням DEX (AMM).

V1 спочатку реалізував AMM в області шифрування, V2 зменшив експозицію ризику ETH і запустив ціновий оракул, який складніше маніпулювати, V3 вирішив проблему низької капітальної ефективності через централізовану ліквідність, V4 реалізував налаштовуваний DEX, а протокол UniswapX був посилено за допомогою механізму аукціону. Конкурентоспроможність сторонніх агрегаторів дозволяє оптимізувати ковзання ціни.

Ми бачимо, що Uniswap інновує себе на кожному кроці - зменшуючи витрати на позику, оптимізуючи користувацький досвід, посилюючи усвідомленість конкуренції та приймаючи нові технології. Ця ітеративна модернізація є основою для того, щоб хороший протокол існував назавжди.

Disclaimer:

  1. Ця стаття була перепублікована з[Бачити мікро-знання]. Усі авторські права належать оригінальному автору [Arrow розмова]. Якщо є зауваження до цього перепублікування, будь ласка, зв'яжіться з Gate Learnкоманда, і вони оперативно впораються з цим.
  2. Відповідальність за відмову: Погляди та думки, висловлені в цій статті, є виключно тими, що належать автору і не становлять жодної інвестиційної поради.
  3. Переклади статей на інші мови виконуються командою Gate Learn. Якщо не зазначено інше, копіювання, поширення або плагіатування перекладених статей заборонено.
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!