Вывод $350 000 из DeFi-сервиса bZx обошёлся злоумышленнику всего в $8,71 комиссии

Проект из сферы децентрализованных финансов (DeFi) bZx в конце недели лишился $350 000 или около 2% всех активов под управлением из-за действий злоумышленника, который воспользовался несколькими связанными сервисами для обмана его системы.

Во время атаки команда bZx выступала на хакатоне ETHDenver. Она уже пообещала опубликовать детальный план компенсации ущерба кредиторов.

Как пояснил CEO стартапа Staked, поддерживающего деловые отношения с bZx, Тим Огилви, атака стала возможной из-за нового типа мгновенных займов в DeFi-пространстве, когда пользователям предлагается получить и вернуть деньги в течение короткого промежутка времени. По словам Огилви, организатор атаки получил заем на 10 000 ETH стоимостью около $2,67 млн и, разделив его на две части, отправил одну на адрес DeFi-протокола Compound, а другую – bZx.

Затем он открыл короткую позицию на Wrapped Bitcoin (WBTC) – ERC20-токен в блокчейне Ethereum, отражающий текущую стоимость биткоина – с помощью bZx и занял 112 WBTC стоимостью около $1,1 млн на Compound, после чего продал их на DeFi-рынке UniSwap.

В своём Twitter bZx утверждают, что не ориентируются на данные UniSwap при определении цены WBTC. Тем не менее, продажа WBTC на $1,1 млн через UniSwap сделала короткую позицию организатора атаки на bZx очень выгодной.

«Что можно считать безопасным? Это один из основных вопросов DeFi. Как создать набор оракулов, который будет справляться со своей задачей? Люди используют разные подходы, некоторые из которых могут оказаться неверными. Риски велики. Это новая категория, она быстро развивается, из чего следует, что что-то может сломаться в процессе», – добавил Огилви.

Как отмечает Trustnodes, затраты злоумышленника на проведение этой атаки составили $8,71, уплаченных в качестве комиссий за обработку транзакций, причём никакого залогового обеспечения ему предоставлять не пришлось. Мгновенные займы в сети Ethereum позволяют пользователю получить любую доступную сумму, но только в том случае, если он вернёт её в том же блоке, то есть за 15 секунд. За это время он может совершить несколько операций, как в описываемом сценарии.

Всё это время транзакция удерживается нодой, а прописанный пользователем код исполняется только при условии, что к завершению 15-секундного отрезка он вернёт всю занятую сумму. В противном случае информация о совершённых действиях не уйдёт дальше ноды. Этот механизм может использоваться, например, для арбитража или реализации любого другого замысла, который может быть осуществлён за один набор действий.
Фото: ronstik
Комментарии 0
Вы должны войти на сайт, чтобы разместить свой комментарий.