Permit и Permit2: когда подпись даёт право потратить токены
Страница обновлена:
Почему подпись без комиссии может разрешить списание токенов. Разбираем Permit, Permit2, лимит, получателя полномочий и отзыв разрешений.
Подпись тоже может давать доступ к деньгам
Окно кошелька с предложением подписать сообщение часто воспринимают как безобидный вход на сайт. Но некоторые подписи предназначены для выдачи разрешения распоряжаться токенами. Отсутствие комиссии в момент подписи не означает отсутствие финансовых последствий. Подписанные данные может позднее отправить в сеть другая сторона, оплатив исполнение самостоятельно.
Поэтому перед подтверждением нужно понять назначение сообщения. Авторизация на сайте и разрешение на расходование активов — разные действия. Если сервис обещает только показать статистику адреса, а окно предлагает полномочия на токены, это несоответствие требует объяснения до подписи. Читать публичный баланс обычно можно вообще без выдачи права перемещения средств.
Чем отличаются Permit и Permit2
Стандарт ERC-2612 позволяет поддерживающему его токену изменять allowance, то есть разрешённый объём расходования, на основании подписи владельца. В данных присутствуют получатель полномочий, величина разрешения, срок и счётчик, препятствующий повторному использованию одной подписи. Эта конструкция упрощает взаимодействие, но не делает неизвестного получателя полномочий доверенным.
Permit2 — отдельный набор контрактов. Согласно документации Uniswap, в нём есть механизм разового перевода по подписи и механизм ограниченных по времени разрешений. Для работы требуется предварительное разрешение самому контракту Permit2 на уровне токена. Поэтому проверять нужно оба слоя: доступ Permit2 к активу и конкретные полномочия приложения внутри этого механизма.
Какие поля действительно важны
Сопоставьте сеть и адрес токена с предполагаемой операцией. Затем проверьте spender — адрес того, кому разрешено расходование, — и сумму. Максимальное техническое значение вместо ожидаемых 50 токенов означает существенно более широкий доступ. Дедлайн подписи и срок действия разрешения также могут быть разными параметрами; короткий срок отправки подписи не всегда означает такой же короткий срок уже выданных полномочий.
Отдельно изучите домен подписываемых данных и адрес проверяющего контракта, если кошелёк их показывает. Название сайта в красивом окне не заменяет проверку адресов по официальной документации приложения. Если интерфейс скрывает значимые поля за непонятными данными, безопаснее остановиться и разобраться, чем считать отсутствие понятного предупреждения подтверждением безопасности операции.
Пример ограничения ущерба
Предположим, на кошельке находится 2 000 единиц токена, а для обмена нужны 100. Разрешение на 100 ограничивает доступ этого spender указанным объёмом в рамках соответствующего механизма. Неограниченное разрешение потенциально открывает доступ к гораздо большей сумме, включая будущие поступления, пока оно действительно. Это различие сохраняется даже после успешного первого обмена.
Точный эффект зависит от реализации токена и контракта, поэтому нельзя обещать универсальную защиту одной настройкой. Практический подход — выделять для работы с новым приложением отдельный ограниченный баланс и проверять минимально необходимые полномочия. Основной резерв не обязан лежать на том же адресе, которым регулярно подписываются экспериментальные операции.
Отключение сайта и отзыв разрешения — разные действия
Удаление подключения сайта из кошелька прекращает определённое взаимодействие интерфейса, но само по себе не обязательно меняет состояние разрешений в блокчейне. Для их отзыва нужна предусмотренная контрактом операция, а для некоторых подписей — отдельный механизм отмены или истечение срока. Простое закрытие вкладки не превращает уже выданную подпись в недействительную.
Проверять и отзывать доступ стоит через известный официальный инструмент, внимательно сверяя сеть и контракт. Такой инструмент тоже не должен получать вашу секретную фразу. Если подозрительная подпись уже выдана, действовать нужно с учётом конкретного механизма, оставшегося баланса и возможного использования подписи. Журнал подписанных данных помогает специалисту разобраться точнее, чем описание «я просто нажал подтвердить».



/ ЗНАНИЯ
/ ЗНАНИЯ