8 декабря арбитражный бот опустошил пул LFNTY-USDC Lifinity на децентрализованной бирже (DEX). Согласно каналу Discord Lifinity, неожиданная реакция на неудачную сделку привела к убытку в размере 699 090 долларов.
Основной член Lifinity, известный как Дерден, объяснил, что бот попытался совершить арбитражную сделку по маршруту USDC > xLFNTY > LFNTY > USDC, пытаясь получить прибыль от расхождений цен между различными торговыми парами.
Here's how the events transpired in the @Lifinity_io Discord when the 700k arb happened
I noticed something wrong with LFNTY's price and alerted zoro, one of the devs on the platform.
At first glance, it appeared that the protocol had gotten hacked pic.twitter.com/ebXfK9pDW3
— Shardo (@DrashoWho) December 8, 2023
Бот инициировал рыночный ордер «Немедленно или отменить» (IOC) на Serum v3 — тип ордера, который в случае исполнения должен быть исполнен немедленно по текущей рыночной цене. Заказы, которые не могут быть выполнены немедленно, аннулируются.
«Но вместо того, чтобы возвращать ошибку, как это делают большинство программ, она возвращала нулевую сумму на выходе. Наши пулы обработали нулевую сумму на входе и также вернули 0 на выходе», — отметил Дерден, прежде чем объяснить, что это привело к тому, что программа обновила цену последней транзакции. до 0, что делает следующую стартовую цену также равной 0. «Поскольку это кривая CP, фактическая цена не будет равна 0, но пул действительно предложил чрезвычайно низкую цену, что привело к немедленному сливу».
Lifinity v1 — это автоматизированный маркет-мейкер (AMM), что означает, что он использует алгоритмы для создания ликвидности в торговых парах. По словам Дердена, для поддержания равновесия между двумя количествами токенов в пуле ликвидности он полагается на маркет-мейкера постоянного продукта (CPMM), особый тип модели AMM.
Другие децентрализованные биржи, такие как Unisawp и Bancor, также используют эту модель. Lifinity v1 не поддерживает стандартную кривую постоянного произведения (CP), используемую в традиционных ИМЭК, но может повторять ее функцию. Одним из решений, использованных для его репликации, был вызов функции «последней цены» для следующей начальной цены. Однако, поскольку ошибка вернула нулевую цену, бот смог воспользоваться несоответствием и уничтожить средства.
Коинтелеграф обратился к команде Lifinity, но не получил немедленного ответа. В X (бывший Twitter) член сообщества отметил, что инцидент не был результатом нападения.
Команда Lifinity, очевидно, работает над восстановлением ликвидности в пуле, проверяя код протокола и пытаясь вернуть средства. Сделки с нулевой суммой больше не принимаются.