Uniswap v4 скоро будет выпущен, эта версия введет множество значительных нововведений, включая поддержку неограниченного количества пулов ликвидности для каждой торговой пары и динамических сборов, одиночный дизайн, мгновенный учет, механизм Hook, а также поддержку стандарта токенов ERC1155. Среди них механизм Hook вызывает особый интерес благодаря своему мощному потенциалу.
Механизм Hook позволяет выполнять пользовательский код в определенные моменты жизненного цикла пула ликвидности, что значительно увеличивает масштабируемость и гибкость пула. Однако эта гибкость также приводит к новым проблемам безопасности. В этой статье систематически рассматриваются вопросы безопасности и потенциальные риски, связанные с механизмом Hook, с целью содействия безопасному развитию сообщества.
Основные механизмы Uniswap V4
Три важные функции Uniswap v4: Hook, одиночная архитектура и молниеносный учет.
Механизм Hook
Hook — это контракт, который работает на различных этапах жизненного цикла ликвидных пулов, позволяющий нативно поддерживать динамические сборы, добавлять лимитные ордера на блокчейне или осуществлять распределение крупных заказов с помощью временно взвешенного среднего (TWAMM).
В настоящее время есть восемь обратных вызовов Hook, разделенных на четыре группы:
beforeInitialize/afterInitialize
передИзменениемПозиции/послеИзмененияПозиции
передОбменом/послеОбмена
передПожертвованием/послеПожертвования
Синглтон, молниеносная бухгалтерия и механизмы блокировки
Синглтон-архитектура и молниеносный бухгалтерский учет направлены на повышение производительности. Все пулы ликвидности хранятся в одном и том же смарт-контракте PoolManager.
Механизм блокировки работает следующим образом:
контракт locker запрашивает lock на PoolManager
PoolManager добавляет этот адрес locker в очередь и вызывает его обратный вызов.
Логика выполнения контракта locker, взаимодействие с пулом может привести к увеличению ненулевой валюты
PoolManager проверяет очередь и состояние увеличения валюты, после проверки удаляет этот locker
Этот метод корректирует внутренний чистый баланс, а не осуществляет мгновенные переводы. Фактический перевод происходит по окончании операции, гарантируя отсутствие непогашенных токенов.
Внешние аккаунты не могут напрямую взаимодействовать с PoolManager, это должно происходить через контракт. Существует два основных сценария взаимодействия:
Через официальный или пользовательский развернутый контракт locker ( маршрутизатор )
интеграция locker контракта и Hook в один и тот же контракт
Модель угроз
Мы в основном рассматриваем две модели угроз:
Модель угроз I: Hook сам по себе является безвредным, но содержит уязвимости
Модель угроз II: Hook сам по себе является вредоносным.
Проблемы безопасности в модели угроз I
Мы обращаем внимание на потенциальные уязвимости, характерные для версии v4, которые делятся на два типа:
Хук для хранения пользовательских средств
Хук для хранения критических данных состояния
Выявленные уязвимости в основном связаны с рисковыми взаимодействиями между hook, PoolManager и внешними третьими сторонами и могут быть классифицированы как:
Проблемы контроля доступа
Вопросы верификации ввода
Из 22 связанных проектов 8 имеют уязвимости (36%), из которых 6 имеют проблемы с контролем доступа, а 2 подвержены влиянию ненадежных внешних вызовов.
Проблемы контроля доступа
Функции обратного вызова в v4, такие как (8 хуки и блокировки ), должны вызываться только PoolManager. Создание мощного механизма контроля доступа имеет жизненно важное значение.
Вопросы верификации ввода
Несмотря на наличие механизма блокировки, все еще существуют потенциальные сценарии атак:
хук непроверенных пользователей взаимодействия с пулом средств
Ключевая функция hook позволяет произвольные внешние вызовы
Это может привести к таким проблемам, как атаки повторного входа.
Меры предосторожности
Применение необходимого контроля доступа к чувствительным функциям
Проверка входных параметров
Внедрение защиты от повторного входа
Проблемы безопасности в модели угроз II
Мы делим Hook на два типа:
Хостинговый Hook: пользователи взаимодействуют с hook через маршрутизатор
Независимый Hook: пользователи взаимодействуют непосредственно с hook
Хук в управлении
Передача активов пользователя роутеру. Злонамеренные хуки трудно напрямую украсть, но могут манипулировать механизмом управления комиссиями.
Независимый Hook
hook получает больше полномочий и может выполнять любые операции. Основной риск:
Усовершенствуемый代理
С логикой самоуничтожения
Меры предосторожности
Оценить, является ли hook вредоносным
Обратите внимание на поведение управления расходами для управляемых хуков
Обратите внимание, можно ли обновить независимый хук
Заключение
Статья описывает основные механизмы и риски безопасности, связанные с механизмом Hook в Uniswap v4. Хотя механизм Hook является инновационным, он также приносит новые вызовы в области безопасности. В последующих статьях будет проведен глубокий анализ проблем безопасности в рамках каждой модели угроз.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
8 Лайков
Награда
8
5
Поделиться
комментарий
0/400
ProbablyNothing
· 15ч назад
V4, игроки MEV в восторге
Посмотреть ОригиналОтветить0
WhaleMistaker
· 15ч назад
Убийственное обновление... Наконец-то дождались.
Посмотреть ОригиналОтветить0
AirdropHunter420
· 16ч назад
Коровий крючок что-то
Посмотреть ОригиналОтветить0
NotAFinancialAdvice
· 16ч назад
механизм hook - это просто яма, ждущая новичка
Посмотреть ОригиналОтветить0
SmartMoneyWallet
· 16ч назад
Этот механизм hook несет риски, просто ждет, когда эти люди из Срочные займы начнут действовать.
Механизм Hook Uniswap v4: Инновации и вызовы безопасности
Механизм Hook Uniswap v4: инновации и вызовы
Uniswap v4 скоро будет выпущен, эта версия введет множество значительных нововведений, включая поддержку неограниченного количества пулов ликвидности для каждой торговой пары и динамических сборов, одиночный дизайн, мгновенный учет, механизм Hook, а также поддержку стандарта токенов ERC1155. Среди них механизм Hook вызывает особый интерес благодаря своему мощному потенциалу.
Механизм Hook позволяет выполнять пользовательский код в определенные моменты жизненного цикла пула ликвидности, что значительно увеличивает масштабируемость и гибкость пула. Однако эта гибкость также приводит к новым проблемам безопасности. В этой статье систематически рассматриваются вопросы безопасности и потенциальные риски, связанные с механизмом Hook, с целью содействия безопасному развитию сообщества.
Основные механизмы Uniswap V4
Три важные функции Uniswap v4: Hook, одиночная архитектура и молниеносный учет.
Механизм Hook
Hook — это контракт, который работает на различных этапах жизненного цикла ликвидных пулов, позволяющий нативно поддерживать динамические сборы, добавлять лимитные ордера на блокчейне или осуществлять распределение крупных заказов с помощью временно взвешенного среднего (TWAMM).
В настоящее время есть восемь обратных вызовов Hook, разделенных на четыре группы:
Синглтон, молниеносная бухгалтерия и механизмы блокировки
Синглтон-архитектура и молниеносный бухгалтерский учет направлены на повышение производительности. Все пулы ликвидности хранятся в одном и том же смарт-контракте PoolManager.
Механизм блокировки работает следующим образом:
Этот метод корректирует внутренний чистый баланс, а не осуществляет мгновенные переводы. Фактический перевод происходит по окончании операции, гарантируя отсутствие непогашенных токенов.
Внешние аккаунты не могут напрямую взаимодействовать с PoolManager, это должно происходить через контракт. Существует два основных сценария взаимодействия:
Модель угроз
Мы в основном рассматриваем две модели угроз:
Проблемы безопасности в модели угроз I
Мы обращаем внимание на потенциальные уязвимости, характерные для версии v4, которые делятся на два типа:
Выявленные уязвимости в основном связаны с рисковыми взаимодействиями между hook, PoolManager и внешними третьими сторонами и могут быть классифицированы как:
Из 22 связанных проектов 8 имеют уязвимости (36%), из которых 6 имеют проблемы с контролем доступа, а 2 подвержены влиянию ненадежных внешних вызовов.
Проблемы контроля доступа
Функции обратного вызова в v4, такие как (8 хуки и блокировки ), должны вызываться только PoolManager. Создание мощного механизма контроля доступа имеет жизненно важное значение.
Вопросы верификации ввода
Несмотря на наличие механизма блокировки, все еще существуют потенциальные сценарии атак:
Это может привести к таким проблемам, как атаки повторного входа.
Меры предосторожности
Проблемы безопасности в модели угроз II
Мы делим Hook на два типа:
Хук в управлении
Передача активов пользователя роутеру. Злонамеренные хуки трудно напрямую украсть, но могут манипулировать механизмом управления комиссиями.
Независимый Hook
hook получает больше полномочий и может выполнять любые операции. Основной риск:
Меры предосторожности
Заключение
Статья описывает основные механизмы и риски безопасности, связанные с механизмом Hook в Uniswap v4. Хотя механизм Hook является инновационным, он также приносит новые вызовы в области безопасности. В последующих статьях будет проведен глубокий анализ проблем безопасности в рамках каждой модели угроз.