Атака на оракул: как обменнику не унаследовать чужой сбой курса

iEXExchanger
Атака на оракул: как обменнику не унаследовать чужой сбой курса

Манипуляция оракулом — редкая, но дорогая атака: злоумышленник искажает цену через флэш-кредит, а платит обменник с незащищённым источником курса. Разбираем, как это работает и как выбрать надёжный агрегатор.

Манипуляция оракулом — это когда злоумышленник на несколько секунд подсовывает блокчейну искажённую цену актива, а не взламывает биржу или крадёт ключи. Для обменника это редкая, но дорогая угроза: если источник курса берёт данные из уязвимого пула, кто-то может продать вам монеты по цене, которой не было и не будет.

Что такое оракул и почему на нём держится курс обменника

Блокчейн сам по себе не знает, сколько стоит биткоин или ETH в моменте — он видит только то, что записано в его собственных блоках. Оракул — это внешний источник, который приносит контракту цену с бирж и агрегаторов, как курьер, что каждые несколько секунд забегает с улицы и докладывает: «сейчас там столько-то». Обменник, который автоматизирует курсы через BestChange или похожий сервис, по сути делает то же самое — тянет цену извне и показывает её клиенту. Если курьер принёс неверную цифру, ни блокчейн, ни ваш скрипт этого не заметят — они просто доверяют источнику.

Как проходит атака на оракул: сценарий с флэш-кредитом

Классическая схема за один блок

Атакующий берёт флэш-кредит — заём на огромную сумму, который существует ровно в пределах одной транзакции и должен быть возвращён в ней же, иначе вся операция откатывается. На эти деньги он резко двигает цену в тонком пуле ликвидности, например скупает почти весь объём одной пары на небольшой децентрализованной бирже. Оракул, который берёт котировку именно из этого пула, на долю секунды показывает искажённую цену — в разы выше или ниже настоящей. Атакующий успевает провернуть операцию по этой цене и вернуть кредит — всё в одной транзакции, за одно подтверждение блока.

Что в этот момент видит обменник

Если ваш источник курса подключён напрямую к такому пулу или к оракулу без защиты от резких скачков, на экране клиента на пару секунд может мелькнуть аномальный курс. Кто-то из клиентов, отслеживающих котировки ботом, способен поймать этот момент и обменять крупную сумму по цене, которой не существовало ни до, ни после атаки. Разница ляжет на обменник — деньги на бирже он получит по настоящему курсу, а клиенту отдаст по фантомному.

Почему это касается обменника, а не только DeFi-протокола

Кажется, что манипуляция оракулом — проблема кредитных протоколов и DEX, а обменник просто показывает цену и не рискует ликвидностью в пуле. Но риск смещается, а не исчезает: обменник берёт на себя ценовой риск в момент между показом курса клиенту и фактическим закрытием сделки. Чем быстрее и грязнее источник данных, тем шире окно для того, чтобы поймать вас на устаревшей или искажённой цифре.

Как выбрать источник курса, устойчивый к манипуляциям

  • Смотрите на глубину ликвидности источника — котировка с тонкого пула для DEX манипулируется куда дешевле, чем цена, усреднённая по десятку крупных бирж.
  • Предпочитайте агрегаторы с медианой или средневзвешенной ценой по нескольким площадкам, а не котировку с одной пары.
  • Проверяйте, есть ли у источника защита по времени — TWAP, то есть цена, усреднённая за несколько минут, а не мгновенный снимок.
  • Ставьте лимиты на отклонение: если новый курс отличается от предыдущего больше чем на разумный процент за секунды, скрипт должен приостановить сделку, а не исполнить её.
  • Держите ручной или полуавтоматический стоп — возможность на пару минут заморозить обмен по конкретной паре, если курс выглядит подозрительно.

Частые ошибки при подключении агрегаторов курсов

Самая частая ошибка — тянуть курс из одного-единственного источника, потому что так проще настроить автоматизацию. Вторая — доверять API без проверки на резкие скачки, просто вставляя цифру в прайс-лист. Третья, менее очевидная — забывать, что редкие, экзотические пары манипулировать дешевле всего, и именно на них стоит держать самые жёсткие лимиты, а не самые мягкие.

Вывод

Атака на оракул — не абстрактная угроза из мира DeFi, а конкретный риск для любого, кто автоматизирует курс через внешний источник. Полностью исключить его нельзя, но можно резко сузить окно уязвимости: несколько источников, усреднение по времени, лимиты на скачки и ручной стоп-кран. Настроить курсы обменника через проверенную автоматизацию с защитой от аномальных скачков можно на платформе iEXExchanger.

Вопросы и ответы

Частые вопросы по теме статьи

Что такое манипуляция оракулом простыми словами?

Это ситуация, когда злоумышленник на несколько секунд искажает цену актива, которую видит блокчейн или скрипт, обычно с помощью флэш-кредита. Источник данных в этот момент сообщает неверную цифру, и любой, кто ей доверяет автоматически, рискует провести сделку по фантомному курсу.

Как флэш-кредит помогает исказить курс?

Флэш-кредит даёт огромную сумму в пределах одной транзакции без залога, при условии, что она будет возвращена в этой же транзакции. На эти деньги атакующий резко двигает цену в тонком пуле ликвидности, а оракул, читающий котировку именно из этого пула, на долю секунды показывает искажённое значение.

Может ли атака на оракул затронуть обычный обменник, а не только DeFi-протокол?

Да, если обменник берёт курс напрямую из уязвимого источника — например, из тонкого пула или оракула без защиты от скачков. В момент атаки клиент способен обменять крупную сумму по цене, которой не существовало ни до, ни после, а разницу покроет сам обменник.

Как защититься от манипуляции курсом при автоматизации обменника?

Используйте несколько независимых источников курса, отдавайте предпочтение усреднённой по времени цене (TWAP), ставьте лимит на резкое отклонение и держите ручной стоп для приостановки обмена по подозрительной паре на пару минут.

Читают также

Модульные блокчейны: что это значит для комиссий обменника
Blockchain

Модульные блокчейны: что это значит для комиссий обменника

Модульные блокчейны разносят исполнение транзакций, хранение данных и безопасность по разным слоям сети. Простыми словами о том, как это устроено и что реально меняется в скорости и комиссиях для крипто-бизнеса.

5 октября, 07:20
4 мин