Разрешение токенов (allowance)
Allowance — разрешение, которое вы даёте смарт-контракту тратить ваши токены со счёта без отдельного подтверждения каждой операции. Часто выдаётся «безлимитно», что и делает его удобной мишенью для дрейнеров.
Разрешение токенов (allowance) — это лимит, который владелец кошелька устанавливает стороннему смарт-контракту на списание своих токенов стандарта ERC-20 (и совместимых — BEP-20, TRC-20). Токены остаются на вашем адресе, но контракт получает право переводить их «за вас» в пределах разрешённой суммы.
Как работает. У ERC-20 две ключевые функции: approve(spender, amount) — вы задаёте, сколько токенов может тратить контракт-получатель, и transferFrom — которой он потом списывает средства. Отдельная запись хранит остаток разрешения. Модель нужна, чтобы DEX, мосты и лендинг могли работать с вашими токенами без ручного подтверждения каждого перевода. Механику самих контрактов см. в смарт-контракте.
Пример. Вы меняете 500 USDT на DEX. Кошелёк просит две транзакции: сначала approve (комиссия — газ, например несколько долларов в сети Ethereum при высокой загрузке), затем сам своп. Чтобы не переподтверждать каждый раз, интерфейсы часто предлагают «безлимитный» approve (значение uint256 max). После этого контракт вправе снимать ваши USDT в любой момент — пока разрешение не отозвано.
Почему важно. Активное безлимитное разрешение, выданное вредоносному или взломанному контракту, — один из главных векторов кражи через дрейнеры. Токены уводятся без вашей новой подписи, потому что право уже дано ранее.
- Одобрение «безлимита» ради удобства — задавайте точную сумму, если сервис это позволяет.
- Подпись
approveвслепую без проверки адреса контракта (blind signing). - Уверенность, что «раз токены на месте — я в безопасности»: allowance живёт отдельно и не исчезает сам.
Больше о защите активов — в разделе «Безопасность».
Сравните сервисы в независимом рейтинге или углубитесь в тему в блоге.
Определение носит справочный характер. Все термины словаря →