Блокировка крипты. Что делать, если вы стали жертвой?
В сфере DeFi существует важное различие между блокировками на уровне интерфейса (фронтенда) и на уровне смарт-контрактов. Недавно один из участников сообщества столкнулся с серьезной проблемой: он внес ликвидность в Uniswap довольно давно, но когда решил вывести средства через фронтенд Uniswap, обнаружил, что его адрес заблокирован. Долгие переписки со службой поддержки не принесли результата, и деньги вывести не удалось.
Это типичный случай, когда пользователи сталкиваются с ситуацией, когда их адрес может быть заблокирован при попытке использовать интерфейс протокола, однако сами смарт-контракты остаются доступными для взаимодействия. В этом и заключается ключевое преимущество DeFi — заблокировать можно только интерфейс, но не сам смарт-контракт.
Основные причины блокировок адресов связаны с получением потенциально "грязных" активов с бирж. Например, если пользователь выводил средства с Kucoin, который работал с Garantex, где присутствовало значительное количество нечистых активов, то существует риск, что на кошелек пользователя поступят «грязные» активы без его ведома. В результате биржи и протоколы могут блокировать такие адреса, даже если пользователь не подозревал о проблемных активах.
Особую опасность представляют блокировки стейблкоинов со стороны эмитентов. Если Tether заблокирует USDT на адресе, шансы на разблокировку крайне малы, и требуется привлечение внимания на уровне правоохранительных органов.
Существует два основных метода для решения проблемы блокировки позиций в DeFi:
• Первый метод применим для Uniswap и заключается в переводе NFT, представляющего право на позицию, на новый кошелек. Для этого необходимо:
- Создать новый кошелек через VPN для исключения геоблокировок
- Найти NFT, представляющее позицию в Uniswap, в своем кошельке
- Перейти в контракт NFT и использовать функцию transferFrom для передачи токена на новый кошелек
- Токен ID можно найти либо в транзакции создания позиции, либо в разделе NFT в кошельке
- После передачи NFT на новый кошелек, с него можно будет закрыть позицию через интерфейс Uniswap
• Второй метод универсален и применим ко всем DeFi-протоколам. Он заключается в прямом взаимодействии со смарт-контрактом:
- Найти смарт-контракт, управляющий позицией
- Через блокчейн-сканер вызвать функции чтения (read contract) для получения информации о позиции
- Через функции записи (write contract) выполнить действия по закрытию позиции. Для Uniswap V3 это последовательный вызов функций decreaseLiquidity и collect
- При использовании функции decreaseLiquidity необходимо указать полную ликвидность позиции
- При использовании функции collect нужно указать максимально возможное значение для вывода всех средств
Для защиты активов от потенциальных блокировок рекомендуется использовать протоколы кредитования, такие как Aave:
- Внести токены (например, USDT или USDC) в протокол кредитования
- Получить взамен представительские токены (aUSDT, aUSDC)
- Эти представительские токены не могут быть заблокированы эмитентом оригинального токена
- При необходимости представительские токены можно перевести на новый кошелек
- С нового кошелька можно вывести оригинальные токены
Важно понимать, что эти методы эффективны против автоматических блокировок, но не защитят от целенаправленного расследования со стороны правоохранительных органов. Специалисты, умеющие анализировать транзакции в блокчейне, смогут отследить перемещения токенов между кошельками.
Принципиально важным аспектом DeFi является именно тот факт, что на уровне смарт-контрактов заблокировать средства пользователя невозможно без соответствующей функции в коде контракта. Это ключевое преимущество децентрализованных финансов перед традиционными финансовыми системами.