Uniswap v4 незабаром буде випущено, ця версія впровадить кілька інноваційних функцій, серед яких механізм Hook особливо привертає увагу. Hook дозволяє виконувати користувацький код на певних етапах життєвого циклу ліквіднісного пулу, що суттєво підвищує масштабованість та гнучкість пулу. Проте ця потужна функція також приносить нові виклики безпеки.
Ця стаття є початком серії, яка має на меті систематично представити проблеми безпеки та потенційні ризики, пов'язані з механізмом Hook, щоб сприяти безпечному розвитку спільноти. Ми віримо, що ці уявлення допоможуть у створенні більш безпечної екосистеми Uniswap v4 Hook.
Основний механізм Uniswap V4
Перш ніж поглиблено розглядати питання безпеки, нам потрібно спочатку зрозуміти кілька основних механізмів Uniswap v4:
Механізм Hook
Hook - це контракт, який працює на різних етапах життєвого циклу ліквідних фондових пулів. Наразі існує 8 зворотних викликів Hook, які поділяються на 4 групи:
передІніціалізацією/післяІніціалізації
передЗміноюПозиції/післяЗміниПозиції
передОбміном/післяОбміну
передДонатом/післяДонату
За допомогою механізму Hook можна реалізувати нативну підтримку динамічних зборів, додавання лімітних ордерів на блокчейні, виконання функцій децентралізованого виконання великих замовлень через середньозважений за часом маркет-мейкер (TWAMM) тощо.
! [Чому Hook є «палицею з двома кінцями» для Uniswap V4?] ](https://img-cdn.gateio.im/webp-social/moments-f652bf2a22ca7f28f19b4ce9880d0548.webp)
Однофункціональна архітектура та блискавична бухгалтерія
Uniswap v4 використовує однократну архітектуру, всі ліквідні пули зберігаються в одному смарт-контракті. Це залежить від PoolManager для зберігання та управління всім станом пулів.
Швидкісне обліковування - це новий механізм обліку. Операції більше не передають токени безпосередньо, а регулюють внутрішній чистий баланс. Фактичний переказ здійснюється по завершенню операції.
механізм блокування
Механізм блокування запобігає одночасному доступу, забезпечуючи можливість розрахунку всіх транзакцій. Основний процес наведено нижче:
locker контракт запит lock
PoolManager додає адресу locker до черги та викликає її зворотний виклик
логіка виконання locker, взаємодія з пулом
PoolManager перевіряє стан, видаляє locker
Через механізм блокування зовнішні облікові записи не можуть безпосередньо взаємодіяти з PoolManager, це потрібно робити через контракт.
Модель загроз
Ми переважно враховуємо дві моделі загроз:
Модель загрози I: Hook сам по собі є добрим, але має вразливості
Модель загрози II: Hook сам по собі є шкідливим
Проблеми безпеки в моделі загроз I
Ми головним чином зосереджуємося на потенційних вразливостях, характерних для версії v4, особливо в логіці, що стосується стандартного інтерфейсу Hook. Основна увага приділяється двом типам Hook:
Гачок для зберігання коштів користувачів
Hook для зберігання ключових станів даних
Аналізуючи приклади проектів спільноти, ми виявили кілька серйозних вразливостей, які в основному поділяються на дві категорії:
Проблема контролю доступу
Функція зворотного виклику Hook повинна викликатися лише PoolManager. Відсутність контролю доступу може призвести до несанкціонованих операцій, таких як помилкове отримання винагород.
Проблема перевірки введення
Деякі реалізації Hook з неналежною перевіркою введення можуть призвести до ненадійних зовнішніх викликів. Зловмисники можуть атакувати ці Hook, зареєструвавши шкідливі фонди.
! [Чому Hook є «палицею з двома кінцями» для Uniswap V4?] ](https://img-cdn.gateio.im/webp-social/moments-ba4bfa88e0ac0b6246e82ad879361ff3.webp)
Проблеми безпеки в моделі загроз II
Ми розділимо Hook на дві категорії для обговорення:
Хостинг Hook
Користувачі взаємодіють з Hook через маршрутизатор. Хоча безпосередньо вкрасти активи важко, але можна маніпулювати механізмом управління витратами.
незалежний Hook
Користувачі можуть безпосередньо взаємодіяти з Hook, надаючи Hook більше повноважень. Якщо Hook може бути оновлено, це може становити значний ризик.
Заходи запобігання
Для моделі загроз I:
Впровадження необхідного контролю доступу
Перевірка вхідних параметрів
Додати захист від повторного входу
Щодо моделі загроз II:
Оцінити, чи є Hook шкідливим
Звертайте увагу на поведінку управління витратами( довірчий)
Зверніть увагу на можливість оновлення ( незалежного )
Ця стаття є попереднім дослідженням безпекових проблем механізму Hook Uniswap v4. У подальших статтях ми проведемо більш глибокий аналіз безпекових проблем під кожну модель загрози.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
7 лайків
Нагородити
7
6
Поділіться
Прокоментувати
0/400
MetaverseVagabond
· 9год тому
Занадто важко для розуму. Нехай питання безпеки протестують хакери.
Переглянути оригіналвідповісти на0
MonkeySeeMonkeyDo
· 9год тому
Цей хук, якщо його занадто багато, може призвести до проблем.
Переглянути оригіналвідповісти на0
MeaninglessApe
· 9год тому
Hook знову обдурює людей, як лохів
Переглянути оригіналвідповісти на0
GraphGuru
· 9год тому
v4 насправді почала грати з hook, відчуття безпеки викликає занепокоєння.
Переглянути оригіналвідповісти на0
SignatureAnxiety
· 9год тому
Hook ця пастка пішла не так, як планувалося, що робити?
Переглянути оригіналвідповісти на0
DeFi_Dad_Jokes
· 9год тому
Знову стара пастка під виглядом інноваційного підходу curd інтерфейс
Механізм Hook Uniswap v4: подвійне випробування інновацій та безпеки
Механізм Hook Uniswap v4: можливості та виклики
Uniswap v4 незабаром буде випущено, ця версія впровадить кілька інноваційних функцій, серед яких механізм Hook особливо привертає увагу. Hook дозволяє виконувати користувацький код на певних етапах життєвого циклу ліквіднісного пулу, що суттєво підвищує масштабованість та гнучкість пулу. Проте ця потужна функція також приносить нові виклики безпеки.
Ця стаття є початком серії, яка має на меті систематично представити проблеми безпеки та потенційні ризики, пов'язані з механізмом Hook, щоб сприяти безпечному розвитку спільноти. Ми віримо, що ці уявлення допоможуть у створенні більш безпечної екосистеми Uniswap v4 Hook.
Основний механізм Uniswap V4
Перш ніж поглиблено розглядати питання безпеки, нам потрібно спочатку зрозуміти кілька основних механізмів Uniswap v4:
Механізм Hook
Hook - це контракт, який працює на різних етапах життєвого циклу ліквідних фондових пулів. Наразі існує 8 зворотних викликів Hook, які поділяються на 4 групи:
За допомогою механізму Hook можна реалізувати нативну підтримку динамічних зборів, додавання лімітних ордерів на блокчейні, виконання функцій децентралізованого виконання великих замовлень через середньозважений за часом маркет-мейкер (TWAMM) тощо.
! [Чому Hook є «палицею з двома кінцями» для Uniswap V4?] ](https://img-cdn.gateio.im/webp-social/moments-f652bf2a22ca7f28f19b4ce9880d0548.webp)
Однофункціональна архітектура та блискавична бухгалтерія
Uniswap v4 використовує однократну архітектуру, всі ліквідні пули зберігаються в одному смарт-контракті. Це залежить від PoolManager для зберігання та управління всім станом пулів.
Швидкісне обліковування - це новий механізм обліку. Операції більше не передають токени безпосередньо, а регулюють внутрішній чистий баланс. Фактичний переказ здійснюється по завершенню операції.
механізм блокування
Механізм блокування запобігає одночасному доступу, забезпечуючи можливість розрахунку всіх транзакцій. Основний процес наведено нижче:
Через механізм блокування зовнішні облікові записи не можуть безпосередньо взаємодіяти з PoolManager, це потрібно робити через контракт.
Модель загроз
Ми переважно враховуємо дві моделі загроз:
Проблеми безпеки в моделі загроз I
Ми головним чином зосереджуємося на потенційних вразливостях, характерних для версії v4, особливо в логіці, що стосується стандартного інтерфейсу Hook. Основна увага приділяється двом типам Hook:
Аналізуючи приклади проектів спільноти, ми виявили кілька серйозних вразливостей, які в основному поділяються на дві категорії:
Проблема контролю доступу
Функція зворотного виклику Hook повинна викликатися лише PoolManager. Відсутність контролю доступу може призвести до несанкціонованих операцій, таких як помилкове отримання винагород.
Проблема перевірки введення
Деякі реалізації Hook з неналежною перевіркою введення можуть призвести до ненадійних зовнішніх викликів. Зловмисники можуть атакувати ці Hook, зареєструвавши шкідливі фонди.
! [Чому Hook є «палицею з двома кінцями» для Uniswap V4?] ](https://img-cdn.gateio.im/webp-social/moments-ba4bfa88e0ac0b6246e82ad879361ff3.webp)
Проблеми безпеки в моделі загроз II
Ми розділимо Hook на дві категорії для обговорення:
Хостинг Hook
Користувачі взаємодіють з Hook через маршрутизатор. Хоча безпосередньо вкрасти активи важко, але можна маніпулювати механізмом управління витратами.
незалежний Hook
Користувачі можуть безпосередньо взаємодіяти з Hook, надаючи Hook більше повноважень. Якщо Hook може бути оновлено, це може становити значний ризик.
Заходи запобігання
Для моделі загроз I:
Щодо моделі загроз II:
Ця стаття є попереднім дослідженням безпекових проблем механізму Hook Uniswap v4. У подальших статтях ми проведемо більш глибокий аналіз безпекових проблем під кожну модель загрози.