Начинающим

Как отозвать разрешения токенов в криптокошельке

Разбираемся, как проверить активные разрешения токенов, отключить ненужный доступ смарт-контрактов и убедиться, что отзыв записан в блокчейне.

Как отозвать разрешения токенов в криптокошельке

Короткий ответ: разрешение токена отзывается отдельной транзакцией в той сети, где оно было выдано. Сначала найдите активный доступ по публичному адресу кошелька, проверьте адрес получателя разрешения, затем установите лимит в ноль или нажмите Revoke и подтвердите транзакцию. Для записи изменения в блокчейн понадобится нативная монета сети на комиссию.

Простое отключение кошелька от сайта не отменяет ранее выданные разрешения. Они хранятся в смарт-контракте токена и могут оставаться активными, пока владелец не изменит их новой транзакцией. Поэтому старые и ненужные доступы стоит периодически проверять, особенно после работы с неизвестным приложением или подозрительным сайтом.

Что именно разрешает токен approval

Когда пользователь меняет токен на децентрализованной бирже, вносит его в DeFi-протокол или выставляет NFT на маркетплейсе, приложение может запросить право распоряжаться определённым активом. Это право получает конкретный адрес, который обычно называют spender. Разрешение не передаёт seed-фразу и не раскрывает приватный ключ, но позволяет указанному адресу перемещать актив в пределах заданного лимита.

Для обычных взаимозаменяемых токенов лимит может быть точным или практически неограниченным. У NFT встречаются разрешения на один объект и доступ ко всей коллекции через функцию Set Approval For All. Если приложение, его контракт или интерфейс окажутся скомпрометированы, оставленное разрешение может увеличить возможный ущерб.

При этом approval относится к конкретному токену, адресу spender и сети. Разрешение USDT в Ethereum не действует на USDT в Arbitrum или BNB Chain. Проверять доступы нужно отдельно в каждой сети, которой пользовался адрес. Полезно также понимать разницу между кастодиальным и некастодиальным кошельком: управлять разрешениями в блокчейне может только владелец адреса с собственным ключом.

Когда разрешение лучше отозвать

  • приложение больше не используется;
  • выдан неограниченный лимит, хотя нужен был разовый обмен;
  • адрес spender неизвестен или не совпадает с официальной документацией;
  • кошелёк подключался к подозрительному либо поддельному сайту;
  • проект сообщил об атаке на контракт или интерфейс;
  • старый ордер, листинг NFT или другая операция уже завершены.

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

Что подготовить перед проверкой

  1. Полный публичный адрес. Сравните его с адресом в кошельке полностью, а не по нескольким символам.
  2. Список использованных сетей. Начните с Ethereum, BNB Chain, Polygon, Arbitrum, Optimism, Base и других сетей, где были операции.
  3. Нативную монету для газа. В Ethereum это ETH, в BNB Chain – BNB, в Polygon PoS – POL. Токен, разрешение которого отзывается, комиссию обычно не оплачивает.
  4. Историю недавних действий. Вспомните, какие обменники, мосты, маркетплейсы и DeFi-протоколы запрашивали подпись.

Для первичного просмотра безопаснее ввести публичный адрес без подключения кошелька. Публичный адрес не является секретом и позволяет увидеть разрешения, но не даёт возможности подтвердить отзыв. Подключать кошелёк следует только после проверки домена и выбранной сети.

Как отозвать разрешение через Revoke.cash

  1. Откройте официальный сайт вручную. Не переходите по рекламным объявлениям и ссылкам из личных сообщений. Проверьте написание домена до подключения.
  2. Введите публичный адрес или подключите кошелёк. Для просмотра достаточно адреса. Подключение понадобится на этапе отправки транзакции.
  3. Выберите сеть. Разрешения из разных сетей не объединяются в одну запись. Проверьте каждую сеть, которой пользовались.
  4. Отсортируйте список. После подозрительной подписи удобно начать с самых новых записей. Для регулярной проверки обратите внимание на неизвестные и неограниченные доступы.
  5. Сверьте токен и spender. Название приложения в интерфейсе служит подсказкой, но главным идентификатором остаётся полный адрес контракта. При сомнениях сначала разберитесь, как проверить адрес контракта токена.
  6. Нажмите Revoke. Если доступ ещё нужен, некоторые инструменты позволяют вместо полного отзыва уменьшить лимит.
  7. Проверьте транзакцию в кошельке. Убедитесь, что выбраны правильные сеть, токен и адрес. Не подтверждайте дополнительный перевод активов или неизвестную подпись.
  8. Дождитесь подтверждения. После включения транзакции в блок обновите список разрешений и проверьте, что лимит стал нулевым либо запись перестала быть активной.

Официальная инструкция Revoke.cash также описывает альтернативную проверку через Token Approvals в обозревателях семейства Etherscan. Какой бы инструмент ни использовался, итогом должна быть подтверждённая транзакция в правильной сети, а не только изменение в интерфейсе сайта.

Почему отключить сайт от кошелька недостаточно

Отключение dApp удаляет локальную связь между сайтом и приложением кошелька. Сайт перестаёт автоматически видеть адрес через это подключение, но запись approval в блокчейне не меняется. Отзыв же отправляет транзакцию в контракт токена и уменьшает либо обнуляет право spender.

Действие Что меняется Нужен газ
Отключить сайтЛокальная связь с интерфейсом кошелькаНет
Отозвать approvalРазрешение spender в контракте токенаДа
Перевести активыБаланс другого адресаДа
Создать новый кошелёкНовый ключ и новый адресНе для создания

Сколько стоит отзыв разрешения

Обычный отзыв является блокчейн-транзакцией, поэтому его стоимость зависит от сети и текущей нагрузки. В дорогой момент можно подождать снижения газа, если прямой угрозы нет. При подозрении на вредоносное разрешение скорость важнее экономии, но транзакцию всё равно нужно внимательно проверить.

Для нескольких записей могут предлагаться пакетные операции. Перед подтверждением проверьте, какие контракты входят в пакет, сколько транзакций создаётся и есть ли отдельная сервисная комиссия. Не переводите нативную монету на незнакомый адрес якобы для оплаты отзыва.

Что делать после фишинга или кражи

Отзыв разрешения предотвращает будущие списания по этому approval, но не возвращает уже украденные активы. Если раскрыта seed-фраза или приватный ключ, простой revoke не спасает кошелёк: злоумышленник может подписывать новые транзакции. Оставшиеся активы нужно переносить на новый адрес, созданный с новой seed-фразой на чистом устройстве.

Если нативная монета исчезает сразу после пополнения, на адресе может работать sweeper-бот. Не отправляйте туда новые суммы без продуманного плана: они также могут быть похищены. Сохраняйте хеши транзакций, адреса и скриншоты, но никому не передавайте seed-фразу. Другие частые сценарии разобраны в материале про ошибки владельцев криптокошельков.

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

Короткий чек-лист после отзыва

  • транзакция получила подтверждение в нужной сети;
  • лимит разрешения стал нулевым или доступ исчез из активных;
  • проверены другие токены, NFT и сети этого адреса;
  • подозрительный сайт отключён от кошелька;
  • пароли и расширения браузера проверены;
  • при компрометации ключа создан новый кошелёк.

Регулярная проверка approvals не заменяет осторожность при подписании транзакций, но уменьшает число старых контрактов, которые сохраняют доступ к активам. Оптимальный порядок прост: сначала просмотреть разрешения по публичному адресу, затем проверить spender, отозвать ненужные записи и убедиться в результате через блокчейн.

Источник: Revoke.cash: как отозвать разрешения токенов.