О каком риске идет речь?
Взаимодействия с приложениями в сфере DeFi, зачастую требует от пользователя предоставление доступа к смарт-контрактам и согласие на расходование средств кошелька. Как привило, приложения DeFi по умолчанию запрашивают бесконечный доступ к средствам пользователя, это значит то, что данное приложение имеет неограниченный доступ к одобренному активу.
Предоставлять неограниченный доступ к активам – плохая идея, потому что в случае взлома протокола DeFi, злоумышленник может использовать это разрешение для вывода средств из кошелька.
Такие случаи уже бывали, к примеру пользователи оптимизатора стратегий Furucombo, имея неограниченное одобрение, понесли убытки на сумму около 15 миллионов долларов, в результате атаки, произошедшей 27 февраля 2021 года. Хакер, используя поддельный смарт-контракт, заставил Furucombo решить, что протокол кредитования Aave V2 имеет новую реализацию, что дало возможность перевести одобренные пользователями активы на кошелек, контролируемый злоумышленником.
Из вышеперечисленного следует, что для минимизации риска потери средств в результате атаки с использованием смарт-контракта, рекомендуется вручную менять одобряемую сумму для каждой конкретной транзакции, тем самым предотвращая неограниченной доступ протокола DeFi к вашему активу. Даже несмотря на то, что это занимает определенное время и влечет за собой увеличение комиссий за транзакции для каждого последующего взаимодействия с протоколом DeFi.
Предоставлять неограниченный доступ к активам – плохая идея, потому что в случае взлома протокола DeFi, злоумышленник может использовать это разрешение для вывода средств из кошелька.
Такие случаи уже бывали, к примеру пользователи оптимизатора стратегий Furucombo, имея неограниченное одобрение, понесли убытки на сумму около 15 миллионов долларов, в результате атаки, произошедшей 27 февраля 2021 года. Хакер, используя поддельный смарт-контракт, заставил Furucombo решить, что протокол кредитования Aave V2 имеет новую реализацию, что дало возможность перевести одобренные пользователями активы на кошелек, контролируемый злоумышленником.
Из вышеперечисленного следует, что для минимизации риска потери средств в результате атаки с использованием смарт-контракта, рекомендуется вручную менять одобряемую сумму для каждой конкретной транзакции, тем самым предотвращая неограниченной доступ протокола DeFi к вашему активу. Даже несмотря на то, что это занимает определенное время и влечет за собой увеличение комиссий за транзакции для каждого последующего взаимодействия с протоколом DeFi.
Как вручную изменять одобряемую сумму?
Самый распространённый случай требующий одобрения – это обмен токенов.
1. Предположим, что вы хотите обменять, по рыночному курсу, USDT на 10 обернутых TONCOIN в сети BSC на DEX-бирже Biswap. Нажимаем на «Approve USDT».
1. Предположим, что вы хотите обменять, по рыночному курсу, USDT на 10 обернутых TONCOIN в сети BSC на DEX-бирже Biswap. Нажимаем на «Approve USDT».
2. Появляется окно кошелка MetaMask, в котором у вас просят разрешение на одобрение доступа к вашим средствам. Обратите внимание на раздел «Запрос разрешения». В нем вы можете заметить, что по умолчанию стоит бесконечная одобряемая сумма. Жмем на «Изменить».
3. В открывшемся списке выбираем «Пользовательский лимит расходов» и в поле вводим максимально необходимую для завершения транзакции сумму.
4. В разделе «Запрос разрешения» видим, что одобренная сумма обновилась. Нажимаем на кнопку «Подтвердить» и оплачиваем комиссию за транзакцию.
Как отозвать уже одобренные неограниченные разрешения?
С большой вероятностью вы ранее предоставляли неограниченные разрешения смарт-контрактам протоколов DeFi. Если вы хотите их изменить или отозвать полностью в используемых вами сетях, можно использовать специальный инструмент – Revok.cash. Для этого нужно:
1. Выбрать нужную сеть в вашем MetaMask. Перейти на сайт https://revoke.cash/ и подключить к нему ваш кошелек.
2. Нажать на две галочки "Include unverified tokens" и "Include zero balances". Перед вами откроется список всех токенов и смарт-контрактов, которым вы когда-либо давали разрешение.
3. Выбрать из списка токен и смарт-контракт у которого желаете отозвать одобрение. Если вы хотите отозвать все разрешения, то нажмите «Revoke», а если установить конкретную сумму лимита, то в поле укажите нужное количество актива и жмите на «Update». Далее подтвердите транзакцию в кошельке. Обратите внимание, что отзыв каждого одобрения требует взаимодействия с смарт-контрактом и влечет за собой расходы на комиссии.
Таким образом, теперь вы знаете о риске, которое несет в себе предоставление смарт-контрактам протоколов DeFi неограниченного одобрения, и имеете знания для обеспечения сохранности своих средств. Будьте внимательны и не торопитесь подтверждать транзакции в своем кошельке!
Последнее редактирование: