В крипте очень много сложных механик, которые работают «под капотом». И большинство даже опытных криптоэнтузиастов узнают об этих нюансах только после неприятных инцидентов.
Представьте: вы год назад обменяли токены на Uniswap, давно вывели все средства, кошелёк чист. Но однажды утром обнаруживаете, что все ваши новые токены исчезли — при этом вы ничего не подписывали, не переходили по подозрительным ссылкам и даже не подключали кошелёк ни к одному сайту последние несколько месяцев.
Как такое возможно?
Ответ кроется в механизме token approvals (разрешений на трату токенов). Эта угроза настолько неочевидна, что даже владельцы аппаратных кошельков за $100 считают себя неуязвимыми, хотя на самом деле в их кошельке есть потенциальная дыра.
Сегодня подробно разберем эту механику и проверим безопасность кошелька с помощью Revoke.cash.
Что такое Revoke.cash?
Revoke.cash — это бесплатный сервис для управления разрешениями (approvals), которые вы предоставили децентрализованным приложениям.
Зачем это нужно?
Когда вы используете DeFi-протоколы (Uniswap, PancakeSwap), NFT-маркетплейсы (OpenSea) или другие приложения, вы даёте им разрешение тратить ваши токены и NFT. Revoke.cash показывает все активные разрешения и позволяет их безопасно отозвать.
Даже если вы давали разрешения год назад и уже забыли — они всё ещё активны и представляют угрозу прямо сейчас
Почему ваши криптовалюты под угрозой?
Механизм разрешений работает так: когда вы обмениваете токены на DEX (например, USDT на ETH на 1inch), вам нужно дать смарт-контракту "разрешение" взять ваши токены и обменять их.
C механизмом выдачи разрешений мы уже сталкивались в рамках гайда Как пользоваться DEX в разделе "Как начать торговать на DEX".
Вот как выглядит выдача рарешения на обмен USDT:
Но проблема в том, что по умолчанию смарт-контракт получает доступ к НЕОГРАНИЧЕННОМУ количеству ваших токенов!
Например, на скриншоте выше видно, что при обмене 26 USDT мы даём смарт-контракту доступ к трате 115 792 089 237 316 USDT — и этот доступ остаётся навсегда, если вы его не отмените.
В чём риск: