Что такое approve и revoke в криптовалютах: бессрочные разрешения и как их отозвать
3 недели назад 0
Approve и revoke (разрешения токенов) — это механизм разрешений в сетях со смарт-контрактами. Approve — операция, которой вы разрешаете конкретному контракту списывать ваши токены в пределах заданной суммы (allowance). Разрешение действует бессрочно, пока его не отозвать операцией revoke, поэтому устаревшие approve становятся каналом для кражи средств.
Раздел глоссария: Кошельки и безопасность · все термины от А до Я
Коротко о главном
- Approve не передаёт токены — он лишь даёт контракту право их списать позже.
- Разрешение бессрочное: оно переживает закрытие сайта и остаётся в блокчейне навсегда.
- Часто кошельки предлагают «unlimited approval», чтобы не платить газ повторно — это максимальный риск.
- Revoke — отдельная транзакция с установкой allowance в ноль, она стоит газа.
- Для NFT существует отдельная функция setApprovalForAll — разрешение на всю коллекцию сразу.
- Опаснее всего permit-подписи: офлайн-разрешение, которое злоумышленник может использовать позже без вашего участия.
Зачем нужен approve
Когда вы меняете токены на DEX или вносите депозит в кредитный протокол, контракту нужно право забрать ваши активы. Это право и даётся через approve: вы указываете адрес контракта и лимит суммы. Без такого механизма протоколы не смогли бы работать — но он же делает устаревшие разрешения опасными.
Типовая последовательность из двух транзакций: сначала approve (разрешение), затем сама операция (swap, deposit). Многие интерфейсы объединяют их, но в блокчейне это две записи.
Какие риски создают разрешения
| Ситуация | Что происходит | Как защититься |
|---|---|---|
| Unlimited approve | Контракт может списать весь баланс токена в любой момент | Задавать лимит, равный сумме операции |
| Взлом протокола | Злоумышленник использует действующие разрешения пользователей | Отозвать approve после новостей об инциденте |
| Скомпрометированный сайт | Фишинг получает разрешение вместо обмена | Проверять адрес контракта перед подписью |
| Permit-подпись | Разрешение выдаётся офлайн и исполняется позже третьим лицом | Не подписывать сообщения с непонятным содержимым |
| setApprovalForAll | Разрешение на все NFT коллекции | Отзывать сразу после использования маркетплейса |
Как проверить и отозвать разрешения
- Откройте сервис отзыва разрешений (revoke.cash) или раздел Token Approvals в обозревателе блоков.
- Подключите кошелёк и выберите нужную сеть — разрешения проверяются отдельно для каждой.
- Просмотрите список контрактов с действующими allowance и суммами.
- Отозвите неиспользуемые и подозрительные разрешения: каждая операция требует газа.
- Для NFT проверьте отдельные разрешения setApprovalForAll.
- Повторяйте ревизию раз в несколько месяцев и после любых инцидентов в используемых протоколах.
Approve — это доверенность без срока действия. Пока вы её не отозвали, контракт может ей воспользоваться.
Плюсы и минусы механизма разрешений
| Преимущества | Ограничения и риски |
|---|---|
| Позволяет протоколам работать без передачи активов на хранение | Действует бессрочно и не отменяется автоматически |
| Лимитирует сумму, которой может распоряжаться контракт | Unlimited approve создаёт риск на всю сумму баланса |
| Разрешение можно отозвать в любой момент | Каждый отзыв стоит газа, поэтому регулярную чистку часто откладывают |
| Стандартизировано и поддерживается всеми кошельками | Permit-подписи сложнее распознать пользователю |
Частые вопросы
Итог
Approve — разрешение смарт-контракту списывать ваши токены в пределах лимита, revoke — его отзыв. Разрешения действуют бессрочно, поэтому устаревшие и «бесконечные» approve становятся одним из главных каналов кражи средств. Гигиена проста: задавать лимит под конкретную операцию, не подписывать permit-сообщения вслепую и периодически чистить разрешения через revoke-сервисы.
Связанные термины
Теги по теме
Источники и полезные ссылки

Автор новостного раздела сайта cryptonews.website. Работа над написанием обзоров для сайта (обзоры криптовалютных бирж и альткоинов).