Uniswap v4 скоро будет выпущен, эта версия введет множество инновационных функций, среди которых механизм Hook особенно примечателен. Hook позволяет выполнять пользовательский код в определенные моменты жизненного цикла ликвидного пула, значительно повышая масштабируемость и гибкость пула. Тем не менее, эта мощная функция также приносит новые проблемы с безопасностью.
Данная статья является началом серии и направлена на систематическое введение в связанные с механизмом Hook проблемы безопасности и потенциальные риски, чтобы способствовать безопасному развитию сообщества. Мы верим, что эти идеи помогут создать более безопасную экосистему Uniswap v4 Hook.
Основные механизмы Uniswap V4
Прежде чем углубляться в вопросы безопасности, нам необходимо сначала понять несколько основных механизмов Uniswap v4:
Механизм Hook
Hook - это контракты, работающие на разных стадиях жизненного цикла пулов ликвидности. В настоящее время существует 8 Hook обратных вызовов, разделенных на 4 группы:
beforeInitialize/afterInitialize
передИзменениемПозиции/послеИзмененияПозиции
передОбменом/послеОбмена
передДонатом/послеДоната
С помощью механизма Hook можно реализовать нативную поддержку динамических сборов, добавление лимитных ордеров на блокчейне, выполнение маркетмейкинга с взвешиванием по времени (TWAMM), а также другие функции распределения больших заказов.
Однообразная архитектура и молниеносная бухгалтерия
Uniswap v4 использует однократную архитектуру, все пулы ликвидности хранятся в одном смарт-контракте. Это зависит от PoolManager для хранения и управления состоянием всех пулов.
Мгновенная бухгалтерия — это новая механизм учета. Операция больше не включает прямую передачу токенов, а вместо этого регулирует внутренний чистый баланс. Фактический перевод осуществляется по завершении операции.
механизм блокировки
Механизм блокировки предотвращает одновременный доступ, обеспечивая расчет всех транзакций. Основной процесс следующий:
запрос lock для контракта locker
PoolManager добавляет адрес locker в очередь и вызывает его обратный вызов
логика выполнения locker, взаимодействие с пулом
PoolManager проверяет состояние, удаляет locker
Из-за механизма блокировки внешние счета не могут напрямую взаимодействовать с PoolManager, это должно происходить через контракт.
Модель угроз
Мы в основном рассматриваем две модели угроз:
Модель угроз I: Hook сам по себе является доброкачественным, но имеет уязвимости
Модель угроз II: Hook сам по себе является вредоносным.
Проблемы безопасности в модели угроз 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 можно обновить, это может представлять собой значительный риск.
Меры предосторожности
Для модели угроз I:
Реализовать необходимые меры контроля доступа
Проверка входных параметров
Добавить защиту от повторного входа
Для модели угроз II:
Оцените, является ли Hook вредоносным
Обратите внимание на поведение управления затратами ( доверительный )
Обратите внимание, можно ли обновить ( независимую модель )
В данной статье проводится первоначальное исследование проблем безопасности механизма Hook Uniswap v4. В последующих статьях мы проведем более глубокий анализ проблем безопасности в рамках каждой модели угроз.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
7 Лайков
Награда
7
6
Поделиться
комментарий
0/400
MetaverseVagabond
· 10ч назад
Слишком сложно для ума, пусть хакеры занимаются вопросами безопасности.
Посмотреть ОригиналОтветить0
MonkeySeeMonkeyDo
· 10ч назад
Этот hook, если его использовать слишком много, может привести к проблемам.
Посмотреть ОригиналОтветить0
MeaninglessApe
· 10ч назад
Hook опять будет играть для лохов
Посмотреть ОригиналОтветить0
GraphGuru
· 10ч назад
v4 вдруг начал играть в hook, ощущение безопасности вызывает беспокойство.
Посмотреть ОригиналОтветить0
SignatureAnxiety
· 10ч назад
Hook эта ловушка провалилась, что делать?
Посмотреть ОригиналОтветить0
DeFi_Dad_Jokes
· 10ч назад
Снова старая ловушка под флагом инноваций, интерфейс 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), а также другие функции распределения больших заказов.
Однообразная архитектура и молниеносная бухгалтерия
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 можно обновить, это может представлять собой значительный риск.
Меры предосторожности
Для модели угроз I:
Для модели угроз II:
В данной статье проводится первоначальное исследование проблем безопасности механизма Hook Uniswap v4. В последующих статьях мы проведем более глубокий анализ проблем безопасности в рамках каждой модели угроз.